This has always happened a bit, but it seems much more rife now.

  • I use Mailgun to send them
  • DMARC/SPF configured correctly
  • mail-tester gives me 9.5/10
  • Google Postmaster tools shows perfect scores for domain/IP reputation etc.

I /don't/ have an unsubscribe button, because these are transactional order confirmation emails, so it would make no sense to have one, right?

Here's the content of an email:

Hi Joe. Thank you so much for your photo order on <my site name> - these orders are what enables me to keep the site going, so it's hugely appreciated.

Your order was placed at 18:00:14 on 16th April 2024 and your order reference is <transaction ID>

(Please cite this information in any communications to R&R if you have an issue with your order.)

You can download any instant purchases and track the status of other items here:
https://www.<my domain>.com/photos/get-order?txnid=<transaction ID>

Note: you'll need to input the email address you used when you placed the order to verify yourself to proceed to the download page.

If you bought any non-instant purchases then the photographer(s) concerned will have been notified of your order, and they will process them and email/post your purchases as appropriate.

As ever here at <my site name>, I strive to make everything as straightforward as possible, but if you have any issues please don't hesitate to get in touch via www.<my domain>.com/support

Thanks again for your order,

<my name>
www.<my domain>.com

Am I doing something stupid in there?

I send it as HTML and text, and Mailgun adds in an https message-open tracking gif, which I'm absolutely fine with losing if you think it's the issue - but it's fairly standard practice I think?

Are there better mail testers than https://www.mail-tester.com/ that I should be using? I'm happy to pay if it'll help me get this fixed.

  • Have you sent the email headers to mailgun asking them for help? They are more likely to be able actually do something rather than speculation by people here.
    – Steve
    Commented Apr 16 at 21:33
  • I will do that. I know I only give Mailgun $75 a month so I'm not sure how invested they'll be in helping, so I thought I'd seek some community advice first, in case I was missing something stupid.
    – Codemonkey
    Commented Apr 17 at 11:18

2 Answers 2


One more thing you could do: create a Gmail account for testing and add it to your mail lists. Hopefully you will then be able to see your mails arriving in the trash folder, and they may contain headers outlining the spam score or some other relevant information.

  • I have tried that, and I see nothing relevant in the headers, other than positive things about passing spf/dkim/etc. I've filled in Google's sender contact form but I don't expect anyone to look at it or do anything useful or get back to me...
    – Codemonkey
    Commented Apr 17 at 11:13
  • Your mail template looks reasonable, but it is perhaps slightly overdetailed. You can experiment a bit. For example, mentioning the order datetime to the second isn't really necessary and it could be sufficient to mention the order ID in subject line. If you send an invoice in PDF, then you can put more details in the invoice and fewer in mail body. Try to reduce the number of hyperlinks in your mail (from 3 to 1 or even zero). You say mail-tester gives a score of 9.5/10. Where is the missing 0.5%? Perhaps it's the verbiage. What happens if you send the message in plain text only, no HTML?
    – Kate
    Commented Apr 18 at 15:27
  • It didn't used to be so overdetailed, I added extra content to try to improve the spamassassin score (went from 8.5/10 to 9.5/10). If I made it even wordier I'd get to 10/10. However....... I have fixed the issue. And will now decrease the verbosity of the email, since that doesn't seem to have been the issue. I'll make an answer about it now.
    – Codemonkey
    Commented Apr 18 at 22:48

There's a key line hiding in Google's "Email sender guidelines": https://support.google.com/a/answer/81126?hl=en:


Important: The sending IP address must match the IP address
of the hostname specified in the Pointer (PTR) record.

Now that I've done that, it seems to have fixed the issue.

Notes on why I hadn't done this already:

  1. I just, well... "haven't". Crucially, up until quite recently, I wasn't having this gmail spam-folder issue, so I assume they've only recently started leaning on this.

  2. I didn't know I needed to do it. Gmail gave me no clues. When examining ("show original") the content of an email, it would tell me tick tick tick for SPF/DKIM/DMARC. But it did not mention a PTR record one way or another.

  3. Mailgun also don't make it obvious that this is something that should be configured.

So I've now added a DNS A-record for mg.mydomain.com that points to the dedicated IP address that Mailgun has allocated to me. And then submitted a ticket to them to set up the corresponding PTR record.

As far as I can tell, that has immediately fixed the issue. 🤞

  • Eurgh. Since then NOTHING has changed, and it seems they've started going back into spam.
    – Codemonkey
    Commented May 3 at 7:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.