24

I need to send a large volume of emails, roughly 60.000 per week. At the moment we outsource this service to a third party, and we expect to double our volume within the next 6 months. Since the service is starting to be too expensive, I was thinking about setting up our own MTA.

Our own SysAdmin told us it is not difficult at all to have our own MTA, but I'm afraid he might have oversimplified this.

Is it difficult to handle a MTA? Should I be afraid that my MTA will lose the company mails? Should I stay with a third party service?

p.s: The emails have been collected respecting the local legislation on privacy, so no spam.

0

7 Answers 7

38

There should be no problems in doing it yourself, however, you need an experienced sysadmin, or a sysadmin willing to learn something new. It's not as easy as just running another daemon and opening a port in the firewall.

I run an MTA for personal projects on a VPS, and while you of course need high availability and be able to handle way more load, the general setup would be pretty much the same. Some general advice:

  • Be sure not end up with an open relay, you'll get blacklisted
  • Read up on how to avoid the dreaded spam folder
  • Make sure the correct MX records are in place
  • Use a subdomain for your send only MTA (mailer.example.com)
  • Use correct mail headers, from: and reply-to:
  • Use DKIM for signing mail (helps avoid spam also)

EDIT:

I forgot two important points (thanks symcbean):

  • SPF, to restrict mail from your domain to specific IP or ranges
  • Intelligent bounce handling; configured to talk to your mailing list app (removing dead addresses etc.)
4
  • 3
    Upvoted because this lists some specific things to pay attention to.
    – Freiheit
    Dec 5, 2011 at 15:10
  • 3
    Reminds me of Jeff Atwood's article about sending emails: codinghorror.com/blog/2010/04/…
    – shufler
    Dec 5, 2011 at 18:30
  • upvote, I agree in all except SPF.
    – cstamas
    Dec 6, 2011 at 13:21
  • I wish I could pick two answers.
    – Mascarpone
    Dec 7, 2011 at 22:14
19

Unless your company is in the business of sending emails, then I would only look at this as a last resort.

There's a lot of companies out there that send bulk emails, so I'd be inclined to shop around (or re-negotiate fees) before investing time & resources into building up and supporting your own MTA solution.

Keeping a company agile and able to pivot is critical. Outsourcing non-critical services allows you to more easily accomplish this.

Having said that, if you are in the business of sending emails, then you absolutely should look at setting up your own MTA - though you might still want to look at hosting this on a VPS environment.

4
  • 4
    I like your post beacuse it is business-minded. You are right about being agile, anyhow you reach a point where outsourcing is not price effective anymore. the question is: 60.000 emails a week is beyond that point?
    – Mascarpone
    Dec 5, 2011 at 18:12
  • 1
    @Mascarpone Thanks for the comment! I'm assuming you're asking where the tipping point is between cost of outsourcing vs cost of bringing this in-house. You should be at a point where you can start getting seriously good discounts for using a 3rd party. MailChimp for example is less than half a cent an email at your current volume. So the question back to you; Is it worth $2400 (or less) per month six months from now for you to be doing this in house?
    – hafichuk
    Dec 5, 2011 at 20:52
  • considering that I can have the hosting for free (I sell hosting), then 2400$ per month is a huge cost. I can also have admin time for free (I can use the spare time of the admins that otherwise would be paid but wasted). The only cost left is the possibility of lost emails, or poor reputation, that would hurt my company. I need to understand the likelihood of that
    – Mascarpone
    Dec 6, 2011 at 15:21
  • 1
    It sounds like a good choice from a cost perspective and given the nature of your business, this is definitely an additional service you can offer clients. From a technical perspective, @cvaldemar seems to be on the right track for you. Good luck!
    – hafichuk
    Dec 6, 2011 at 15:30
17

Our own SysAdmin told us it is not difficult at all to have our own MTA, but I'm afraid he might have oversimplified this.

Either he is some kind of uber-geek, or he doesn't understand the problem.

Running an MTA is relatively simple. Running a MTA delivering a high-volume of bulk-emails while maintaining good deliverability is very, very complicated.

cvaldemar suggests using DKIM, however makes no mention of SPF (these are not mutually exclusive, however the latter has much higher rates of adoption). In addition to the points mentioned in that post, you also need to enable throttling by destination, intelligent bounce handling and pro-active list management (to avoid poor reputation for bounces).

Running a server on an address range assigned to you will gain a much higher rep than on a hosted server. The also simplifies the process of setting up PTR records (also boost your rep).

Running spamassassin internally will help you to identify problems earlier in the process.

1
  • 1
    Adding to this answer, bounce handling is one of the major tasks that email providers do for you. It's not very difficult to do yourself although it's a bit more difficult to do well. Even just unsubscribing the "No such user" bounces and feedback loop reports will go a long way towards maintaining a decent reputation. Depending on the source of the content of your emails, running spamassassin could also make a massive difference however I'm not aware of any mail providers that do this.
    – Ladadadada
    Dec 5, 2011 at 15:08
11

If you have the required experience, you can do it.

I suggest to not lose the emails, to start testing your new MTA with a small amount of emails. When you are satisfied, you can use it for all you emails.

5
  • but how difficult is to keep an MTA operative?
    – Mascarpone
    Dec 5, 2011 at 10:57
  • 11
    How difficult is it to bake cakes? With that volume of email, how difficult is it to bake food for a bakery? The answer depends on how comfortable you are with baking. We can't answer your question because we don't know what kind of sysadmin you are. Email takes maintenance. How difficult it is depends on your experience and knowledge. You have your own sysadmin according to your question. What does he know of running a mail server? And doing due diligence in backing it up, monitoring it, and disaster recovery? Dec 5, 2011 at 11:01
  • 1
    This depends on your (or your sysadmin) experience. Of course, it is recommended also to have multiple machines acting as MTA to eliminate single point-of-failure.
    – Khaled
    Dec 5, 2011 at 11:01
  • @BartSilverstrim: Nice analogy especially for a hungry person :)
    – Khaled
    Dec 5, 2011 at 11:02
  • Maybe that's the problem... :-) Really it's one of those things where I've known people for whom baking is like breathing, and then there's my relatives that set off smoke alarms every holiday. Dec 5, 2011 at 11:04
11

If you are doing that volume of email, I expect you have an automated system sending the email. Based on the amount of email you are generating, it appears that to some extent your are in the business of sending email. How important to your business is it that your email get delivered. If it is important, you need to get a good handle on how your email is handled. However you implement your solution you will want to ensure proper feedback so that:

  • you remove dead addresses;
  • you detect misconfiguration; and
  • you get notifications if you get added to a blacklist.

Setting up your own MTA is not that difficult, and once configured they tend to run with little maintenance. There are standards and conventions to be followed, and failure to follow them will hurt your ability to deliver mail reliably. Unfortunately, some of the organizations in the business of sending high volume mail for others don't follow them. Using a third party service may result in your mail being classified as spam.

I posted a rant on Running an Email Server aimed mainly at the uninformed. It explains a fair bit about what is involved in running an MTA. My Email Policy provides additional resources as do other postings I have done on Email.

For this kind of mailing consider using a dedicated sub-domain and server. The tuning for high volume bulk email may be significantly different from what you want for person-to-person email. Ensure that your accept and review email sent to the postmaster and abuse addresses. If you have invalid email addresses in your list(s) you may run into queue size issues initially. You can register your domain with many of the big volume mail hosting services like Gmail, Hotmail, etc.

EDIT: Running your own MTA for a service like this does not mean you need to run your own MX. Your MX (Mail Exchange) and MTA for regular correspondence can be handled by a third party. Use a dedicated sub-domain for handling bulk and/or automated email. Manage it according to your needs.

2

Running an MTA is not so difficult, but requires some experience.

But, you can use this new MTA to send mass e-mail only. You don't need yo switch the whole company messaging to it.

0

I found the MTA MailerQ easy to configure and seems to be build for handling very large volumes of email. You can watch sending results live from the gui and change rules on the fly.

1
  • References? Any assesments on security?
    – vonbrand
    Mar 8, 2013 at 12:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .