// how to fix
Image-only emails and missing plain-text version
An email that is one big image, or that has no plain-text version, looks like spam to filters. Use real text, a few images, and send both HTML and plain text.
What it means
A well-built email usually contains two versions of the same message, packed together:
- an HTML version, with layout, colors and images;
- a plain-text version, just the words and links, for simple mail apps and for filters.
Two common mistakes trigger spam filters:
- Image-only emails: the whole message is one picture (a flyer, a scanned poster) with little or no real text. Spammers do this to hide words from filters, so filters distrust it.
- No plain-text version: the email only has HTML. It is not forbidden, but it is a small negative signal, and it often goes with other bad habits.
Why it matters
- SpamAssassin and similar filters add points for emails with little text and big images, or with HTML only.
- Many mail apps block images by default: your reader sees an empty email with a "show images" button.
- Screen readers cannot read text inside an image, so the email is not accessible.
How to check
Delivmail checks this for you in two ways:
- Send a test email: on the home page (
/), copy your unique test address, send it a normal email from the mailbox you want to check, then open the report. The SpamAssassin section lists rules such asHTML_IMAGE_ONLY_*,HTML_IMAGE_RATIO_*orMIME_HTML_ONLYwhen they apply, with the points each one adds. - Look at the raw source of your email: a plain-text part appears as
Content-Type: text/plainnext totext/html.
How to fix it
- Write your message as real text. Put the title, the key information and the call to action in HTML text, not inside a picture.
- Keep a balance. There is no magic ratio, but aim for clearly more text than image area. A few short paragraphs around each image is a good habit.
- Add alt text to every image. In HTML this is the
altattribute, for examplealt="Summer sale: 20% off". It shows when images are blocked. - Turn on the plain-text version.
- Newsletter tools (Mailchimp, Brevo, and others) usually generate it automatically; check that it is enabled and readable.
- In code, most libraries accept both a
textand anhtmlbody. Fill in both.
- Host images properly. Use images from your own domain or your email tool, not from a random free host that may be blacklisted.
- Do not send a flyer as an attachment only. A PDF or image attachment with an empty body looks even worse. Write the message in the email, and link to the file if needed.
- Keep the HTML clean. Code pasted from Word or a website builder can be huge and broken. Use your email tool's editor or a tested template.
Example of a good structure
Logo (with alt text) Title in text Two or three short paragraphs One image (with alt text) A clear button: "See the offer" Footer: who you are, why they receive it, unsubscribe link
Check that it is fixed
Send the new version to a fresh Delivmail test address. The image and HTML-only rules should be gone from the SpamAssassin section, and your spam score should drop. Also open the email in your own mailbox with images turned off: it should still make sense.
Check that it is fixed
DNS changes can take from a few minutes to a few hours. Then send a new test email or scan your domain again.
Related guides
- High SpamAssassin spam scoreSpamAssassin scores the content of your email. Above 5, it is treated as spam. Learn what raises the score and how to bring it down.
- Gmail and Yahoo bulk sender requirementsSince 2024, Gmail and Yahoo require large senders to authenticate their emails, offer one-click unsubscribe and keep spam complaints very low. Here is the checklist.
- Your emails land in Gmail's spam folderWhen Gmail sends your emails to spam, the cause is almost always authentication, reputation or content. Here is how to find which one and fix it.
- Add a List-Unsubscribe header (one-click unsubscribe)The List-Unsubscribe header lets Gmail, Yahoo and Outlook show an Unsubscribe button next to your sender name. Bulk senders must offer it in one click.
- Invalid HELO/EHLO hostnameYour server introduces itself with a name that is not valid, such as localhost or a bare IP. Spam filters distrust this. Give it a real name that matches reverse DNS.