Images Not Displayed In Emails
There are many reasons why the newsletters' images would not be displayed properly on an email client:
- Hotlink protection enabled
- Folder's permission
- Google Image Proxy
- Apple Privacy Settings
- Hosting provider blocking requests from Apple Devices
- Blacklisted Domains
Hotlink protection enabled
This setting is usually part of a security/firewall plugin and it prevents your website's images from being loaded outside of your website domain.
If you don't have any security plugin installed, try looking into your host's control panel. Some hosts and CDN providers offer hotlink protection and you may want to contact your web host about this issue.
Folder's permission
As mentioned here, MailPoet requires write permissions to create content inside the WordPress's /wp-content/uploads folder. MailPoet uses this folder to store cache and other transient files. Please ensure that /wp-content/uploads folder permissions are set to "755", "775" or "777".
Google Image Proxy
When your users open email messages, Gmail uses Google’s secure proxy servers to serve images that might be included in these messages. This protects your users and domain against image-based security vulnerabilities.
Because of the image proxy, links to images that are dependent on internal IPs and sometimes cookies are broken.
You can whitelist your domain's URL and fix this issue by following these steps.
Apple Privacy Settings
If you believe the issue is related to Apple Mail only:
- Check your Mail Privacy Protection settings. Mail Privacy Protection can also be turned on and off by going to Settings > Mail > Privacy Protection.
Apple Mail won’t load email content without your permission and instead notifies you that it's unable to load remote content privately. For reference, check out this Apple support documentation. - If you see an "Unable to load remote content privately" at the top of an email, it might be because you're using a Virtual Private Network. Mail will not load content without your permission, but if there's something that you need to see, you can bypass it by tapping the "Load Content" option on the warning.
- Check if Load Remote Content is disabled in Settings > Mail > Load Remote Content.
Hosting Provider Blocking Requests From Apple Mail
Since OS X 15 Apple Mail activated use the User-Agent
“Mozilla/5.0” when requesting the email images to show them.
Some hosting providers, block User-Agent
because it is missing common parts, like the OS and other information. Apple uses that kind of User-Agent
to send as little information as possible to get the images.
So, if your Apple Mail is not showing the images in your newsletter (but they’re shown on other clients), try to report this case to your hosting provider.
The problem can be tested using Firefox and a User-Agent switcher add-on. When the User-Agent is forced to the value “Mozilla/5.0”, if you try to open an image of your site, it will be blocked with responses such as “403 not allowed” or “406 not acceptable”.
How to test this problem
- Get the URL of an image from your website. For instance:
https://www.yoursite.com/wp-content/uploads/image.jpg
- Go to reqbin.com/curl: that service lets you make a “call” to the server to get the image just like browsers or email clients do.
- Use the command:
curl https://www.yoursite.com/wp-content/uploads/image.jpg -A "Mozilla/5.0"
If the result is an error (code 4xx), then your provider is blocking all requests with User Agent set to Mozilla/5.0 which is the one used by Apple.
Please reach out to your host support and ask them to check their ModSecurity module and remove the rule that blocks requests with the User-Agent
String "Mozilla/5.0".
Known Bluehost Issue
If you have a shared hosting package with Bluehost, we are aware that they have enabled this User Agent rule, and block images in your emails from loading on Apple Mail. We are working with them to try to change their network settings, as this cannot be fixed or changed from our side. However, this remains a known limitation at this time.
You can work around this by:
- upgrading to dedicated hosting, then asking Bluehost to change your User Agent rules on your private server
- moving to a different host
- uploading images to be used in your newsletters to a third party hosting service, such as Dropbox or Google Drive, and inserting them into your newsletters via URL. You can learn more about this here.
Blacklisted Domains
Images in your newsletter are linked back to your site (not embedded in the email itself — read for more information why). We've seen cases where if a domain appears on a blacklist, some email clients / devices may not load the images.
You can check here if your site's URL is blacklisted on any public blacklist: https://mxtoolbox.com/blacklists.aspx. If it is, follow the instructions on how to delist it or host your images externally.
Troubleshooting Image Display Issues
If your images are not loading, particularly on Apple Mail, Outlook etc, it might be due to specific domain-related blocking. Similarly, if your domain has been blacklisted, email providers like Apple may block images from your domain as a security measure. To determine if domain-related issues are causing images not to display, you can perform the following external hosting test:
- Host an Image Externally: Upload an image to an external hosting service, such as Cloudinary, Droplr, or another reputable image hosting platform. Ensure that the hosting service you choose is not on any blacklists and is known for reliable image hosting.
- Insert the Externally Hosted Image: Use the direct URL of the hosted image as the image address:
- Send a Test Email: Send the email with the externally hosted image to yourself or to a test list that includes an Apple Mail, Outlook email address or the affected email client.
- Check the Delivered Email: Observe if the externally hosted image loads correctly within the email on different devices and email clients, particularly on iOS devices.
By testing with an externally hosted image, you can help narrow down whether the source of the issue is related to domain-based image blocking. If the externally hosted image displays without problems, it's likely that the issue is tied to your domain's hosting.