I have a dream email system that I’d like to set-up. Well, actually,
I’ve already set it up, but I’ve got a few questions to ask and there’s
also some limitations that I’d like to work through.
I think that this topic might be helpful for lots of other folks 'cause
my dream system seems like it’s the same system that anyone with a
public-facing web application might like to have.
My dream email system has two purposes:
Purpose 1. General Purpose Corporate Email (all email addresses except
“firstname.lastname@example.org”) – employee email, responding manually to users
with support questions, etc. For this I’ve set-up gmail for my domain
and I’ve set up an MX record at my domain registrar (1and1) directing it
to use gmail as my mailserver.
Purpose 2. Automated Interaction with My Users (email address
“email@example.com”) – sending password reset, sending welcome email
when new account established, bulk email to all of my users who “opt in”
to bulk communication, etc. For this I’m using ActionMailer and the
sendmail program on my server (this bypasses gmail).
It’s all up and working but I’ve got a few questions.
Question 1. What is the performance threshhold for a bulk email using
sendmail? I haven’t hit it yet but my largest email has gone out to 500
recipients. What if I sent an email to 10,000 recipients? Will it send
or will it break? I’d rather anticipate this problem now rather than
find out about it later.
Question 2. It seems like right now sending my Purpose 2 email is
invisible to google. That is, 1and1 isn’t telling google that I’m
bypassing them and sending some of my email with sendmail. That’s the
way I want it and I hope that’s actually true. Is it? I don’t want to
get google mad at me 'cause I’m sending bulk emails that are touching
their system when I don’t intend to.
Question 3. My Purpose 2 setup has a problem in that delivery errors
are not posted back to ActionMailer. Rather, 1and1 uses the MX record
to divert the delivery errors to my gmail account. An example: sendmail
sends a Purpose 2 email to “firstname.lastname@example.org” from
“email@example.com” and the bounceback is directed by the 1and1 MX
record to gmail. Is this confusing to gmail since gmail didn’t send the
message to begin with? Are they going to get mad at me? The best
solution would be to have two MX records for my domain – a Purpose 1 MX
record directing to gmail and a Purpose 2 record directing to
ActiveRecord/sendmail. However, 1and1 tells me that they can’t have
multiple MX records for one domain.
Question 4. Given its limitations, my solution really seems like a bad
one. What is the right way (the Ruby Way? :)) to handle Purpose 1 and
Purpose 2 email? Some ideas:
Idea 1. Set up a second domain “mysitemail.com” and build a
corresponding second rails app which handles Purpose 2 email. In that
case, how could I configure my orginal rails app “mysite.com” to send
mail through “mysitemail.com” rather than through itself? Is this a
good idea? Note that this is not optimal in that my users would get
email from a confusing second site.
Idea 2. Find a domain registrar that allows multiple MX records? Does
anyone know of anyone?
How have other folks handled all of this?