I need to send a mailing but I've had problems before because a large share of the intented recipients never read it because the mailing was detected as spam. How can I solve this?


3 Answers 3


An alternative solution is to use a third party service to send the emails and not the web server. They'll be better placed to ensure your not marked as spam. Services such as CiviSMTP (Paid), Mandrill (Free to small lists or with Mailchimp plans otherwise Paid) and Sendgrid (Paid) can all be used. I would recommend this as a longer term solution rather then trying to manage your own reputation.

  • Our SMTP goes through a server managed by our host. Still had SPF issues- first I found email sent by Drupal outside of Civi isn't subject to Civi's settings, then I found their server would connect to an MX over IPv6 but was only whitelisted for IPv4.
    – DaveFF
    Nov 19, 2015 at 15:19
  • Mandrill is no longer a free service for low volume usage. mandrill.com/pricing Nov 19, 2015 at 23:08
  • Not sure I agree with that statement! "Every Mandrill account comes with 2,000 free trial sends" which for small installs sending transactional emails might be ok. If your larger and you link your mandrill account to your existing mailchimp account then the mandrill allocation increases incline with your mailchimp subscription for zero cost. Nov 20, 2015 at 10:45

Parvez's answer recommending external mail delivery services is a good idea for most CiviCRM installations. There are lots of providers so prices are relatively cheap, and those providers are highly motivated to ensure delivery of your CiviCRM emails.

For sites which deliver directly (ie you run an MTA of your and deliver direct from your server to the receiving hosts), this is the list of things you might want to have in mind:

  • Don't be spammy!
  • Configure SPF, DKIM and DMARC correctly.
  • Ensure your outgoing emails have a valid return address
  • Review the logs of your MTA for delays, rejections and other indicators
  • Monitor blacklist entries for your domain and ip
  • Make unsubscribe easy (so people don't junk you)
  • Check headers of the delivered emails for clues when mail does get junked - some providers will add clues there ("Possibly junk because the return address is not deliverable", etc)
  • Consider who your "hosting neighbours" are - are spammy-looking emails being sent by other organisations from the same mailserver that your site is using?
  • If you can, accept that results may vary - some mail providers are less tolerant of mass mail, and some are just plain bad ... move on if possible!
  • Explore letting go of open tracking & link tracking - these are probably indicators of junk mail.

I'm sure there's more - feel free to edit this answer and add to it, or drop suggestions in the comments.


One important step is to make sure the domain you're sending from (actually the Return-Path address, which with CiviMail is probably the bounce address) has SPF set up. It needs to whitelist the SMTP server that you use for Civi's outbound mail (which may be the Civi server itself if using mail() or Sendmail), as well as any other SMTP servers that send mails from your domain (which may belong to eg. your organisation, your ISP or Google).

Also check if your SMTP server appears on any blacklists.

  • If your going down this route don't forget the DKIM record also. Dave also touched on bouncing, which you'll probably need to setup a gmail account or similar and have CiviCRM configured to read and process the bounces. Without this step your probability of being marked as spam is pretty high. Nov 19, 2015 at 14:17

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.