Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

This question already has an answer here:

I am creating a web application that will send out emails to provide users with a registration email when they first login to the website. Eventually we will send out monthly emails showing new features available on the site to our users.

My concern is that the outgoing registration and other emails will be marked as spam and I don't want that to happen. Besides making sure the content of the emails is acceptable, what is the best way to run the outgoing server and avoid being labeled spam?

Choices:

  1. Create a Google Apps account for the domain and send from there. We currently do this on our other domain.
  2. Add an email option to the domain via GoDaddy.com which provides our DNS entry.
  3. Run our own email server on one of our Amazon EC2 instances.
  4. Other?

This is not a duplucate of How to send emails and avoid them being classified as spam because this question more specifically asks about the choice of the originating server.

share|improve this question

marked as duplicate by Dennis Kaarsemaker, MadHatter, BMDan, Chopper3, Sven Jun 19 '13 at 12:48

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

3 Answers 3

up vote 0 down vote accepted

You haven't given us much info to go on. If someone chooses the best solution for you, that would be mostly chance.

There is a lot of learning to do to set up a mail server from scratch for yourself. It's easy to get something going, but there's a lot of pitfalls which you'll likely learn over time as you recognise your initial mistakes. That said, a mail server that handles outgoing email only, without high volume, is a relatively simple case.

The main points are:

  • Make sure all your DNS is set up right. Eg PTR record for your mail server and matching A record.
  • Set up DKIM signing.
  • Set up DPF to verify that your mail server is OK to send from your domain.
  • Set up DMARC so you find out if something is wrong with the above.
  • Make sure you're processing bounce messages properly so that you don't keep on sending to bad addresses. This is not simple, so don't go reinventing the wheel.
  • Behave yourself. Your mail-server's reputation is important to protect.
share|improve this answer

You can use Amazon SES service to send your emails. Provided you take good care of complaints and bounce, you can ben allowed to send a lot of mails through them. Amazon can help you having all the necessary signature to prove the mail you send is genuine and their limits are rather high (I've seen 100k+ mails sent from this platform in less than an hour).

As mentioned in the comments, you must also ensure that the mail you send is not seen as spam in general.

Having the right MX is not always enough.

I also reckon most mail black/white list services do not allow mail sent from EC2. To many spammers have tried.

share|improve this answer

I thinks this is some kind of a build vs buy question. The options you mention (1-3) would all go to the "build" category. I would only do that if

  • your requirements about spam detection rates, stability, performance etc. are not that high, your e-mail volume is low (e.g. low enough to be handled by one Google account) - or
  • you have the skills to run your own e-mail server, which is not a trivial task

On the other hand, you could outsource your e-mail system to specialized providers like sendgrid (there are many others). Amazon has also some kind of basic e-mail web service. These services come at a price of course, but remember maintaining your own e-mail server would also create some cost on your side.

share|improve this answer

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