I'm starting to create a site, and want to run it on a VPS rather than shared for a variety of reasons. This means that, if I were to want email services, I'd need to tackle the non-trivial task of running an email server. Not a fun problem for a "noob" like me.

The three uses I can think of break down as follows:

  1. The usual "email the admin/support/whatever" services. I suppose I could get away with using "mysite@gmail.com" but I'd prefer to keep everything uniform if possible.
  2. Account confirmation emails / password resets. This seems like the major hurdle.
  3. Digest emails, i.e. "the following has happened to your stuff in the last week - replies, votes, etc." Not dissimilar from the stackoverflow emails. Opt-in, obviously.

Do I really have the option of not supporting email on my site?

  • I hate to say this, but VPS isn't a requirement for email - only a domain and a server of any type with mail routines. VPS is more of a solution to scaling issues. – Talvi Watia Sep 17 '10 at 6:39
  • @Talvi: I never said a VPS was required for email. What I said was that I had other reasons to use a VPS (though I've now been talked out of that). My shared host has email already setup that I can use, but that isn't a built in thing with a VPS (obviously). Without knowing about Google Apps, I thought I was going to have to build the mail server myself. – AgentConundrum Sep 19 '10 at 22:12

Email is still very important. And don't use a company@gmail.com / @hotmail.com account, it just sends all the wrong kinds of signals. On the other hand, nobody says you need to run an SMTP server yourself.

One simple and low-cost solution is free Google Apps Standard on your own domain name. This gives you a simple web interface to manage email accounts, a GMail webmail application, and POP3 / SMTP / IMAP4 access to your emails. You can use a regular POP3/SMTP client library to send emails from your webapp servers. I have seen anecdotal complaints about slow'ish delivery and hitting Google's limits too soon while using the free Google Apps edition; but personally I have never had problems with Google Apps.

If you need to send many emails you can always upgrade to a for-pay Google App Engine account, or switch your outgoing mailserver to something like Sendgrid.

You should set up a Sender Policy Framework record to proactively whitelist the email servers for your domain, and include the SPF records of your external mail providers.

One last thing: Don't underestimate the power of emails as a sales & retention tool. A targeted personal email after signup, a reminder email if someone isn't using the site during their trial period, etc -- these do help to reduce abandonment rate.

  • +1 I've been using Google Apps Standard for my e-mail on a couple of domains and I own since last May and it works great, and surprisingly easy to setup. – MetalMikester Sep 15 '10 at 13:24
  • +1 Google Apps is perfect for this, good spam protection and you will not have any problems with the MX records. I just switch from my domain provider email to Google Apps and it is perfect. – Kevin Sep 15 '10 at 14:59
  • This definitely seems like the best idea for two reasons: 1) I'm looking at WebFaction for initial hosting, and they're setup so you can't use mail(). If I'm already outsourcing to an external SMTP server, it might as well be google. 2) If I ever get to the point where I outgrow google (which means emailing 25k people a day - 50 accounts * 500 unique addresses), hosting my own mail server will be a small concern. – AgentConundrum Sep 16 '10 at 8:52
  • Addendum: I know WebFaction isn't a VPS, but a friend of mine talked me into starting with shared, and WebFaction seems pretty customizable, with shell/ssh access and the ability to install Sphinx if I need it. – AgentConundrum Sep 16 '10 at 8:54

I'm considering this matter for a couple of sites/apps that I'm planning to implement at some point soon. For my apps I am leaning in the direction of not supporting email, but the decisions very much depends on your target audience.

For the three use cases you mention:

  1. You don't need to run your own mail server for this. You could use your registrar's mail forwarding to send the mail to your gmail (or similar) account or setup the domain's DNS so you can use gmail directly via the "google for your domain" system like so.
  2. My target audience is not the general public at large so I'm going for the "use something like keepass and you'll not forget your password" and "you neglected to remeber your account credentials, well aren't you daft" approaches - but if you are targeting a wide audience especially if you are planning to (now or later) make some income from the sites then this will not wash.
    You don't need to run a full mail server for account notifications though - just an outgoing server. Make sure that it is not configured as an open relay (must distributions standard mail setup is correct out of the box in this regard but always test for yourself just in case) and if you have SPF or similar DNS based anti-spam hints set for your domain(s) make sure the new server is listed as a legitimate sender.
  3. This sort of information could be presented as a web page based dashboard, unless there might be urgent messages that your user will want/need to see without logging into your app. As with account actions, you don't need to setup a full mail server for this though - just an MTA for sending.

Even if you only send from your VPS and keep your main mail service hosted elsewhere, you still have the problem of mail from your VPS being mis-identified as junk which is one of my reasons for wanting to do away with my apps sending mail all together - if I don't send any mail I don't have to deal with irate users of mail services with over sensitive junk filters or the possibility of people accidentally flagging the messages as junk (meaning they might not get your future messages).

Unfortunately the only way to answer "can I really live without my site sending mail" is to consider your target audience and how they will want to use your services. You can do without mail if your users won't miss the feature(s) or you can justify them not being there if your users ask.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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