Send email on behalf of clients
We're a communications company primarily doing printing of statements / utility bills, then mailing them out in the post.
A few clients have asked for e-Delivery. Pretty much take the print output as a PDF, and instead of printing and mailing, email it as a PDF attachment. Whats the best way to send out these types of communications on behalf of our clients to their customers?
e.g. send through their mailserver, set up a mailserver ourselves on a generic domain (e.g. clientname.genericmailname.com), or set up a mailserver and send from the client's domain.
Doesn't email sent from a server that doesn't match the MX record usually get flagged as spam? (e.g. if we send an email from our mailserver from [email protected]).
Also, if we need to set up a mailserver, what's a few recommendations? We're a windows shop, and if I can avoid getting down and dirty with sendmail or postfix or the q one, I'd prefer it? We would probably do the actual emailing in an SSIS script or something.
Cheers
Solution 1:
WIth the proper use of e-mail headers it is possible for you to setup and use your own mail server, but send the e-mail message with the "appearance" of coming from your customer.
This is not a spam tactic. This is a proper use of several e-mail message headers for this purpose.
From: "ABC Company" <[email protected]>
Sender: [email protected]
To: [email protected]
Date: 13 Jul 2009 15:39:42 -0400
Subject: Your bill from ABC Company
Return-Path: [email protected]
By specifying both the sender and the return-path parameter to your e-mail server you are accurately identifying the source e-mail server that this message was originated from. Bounces will come back to your mail server.
If the user clicks on "reply" then they send their e-mail message to your customer ([email protected] in the example).
This is a legitimate technique that many e-mail marketing companies use, and they are VERY concerned about not looking like spam. Here is a link to a MailChimp description.
You should also setup SPF records for your mail servers, and ideally use DKIM. I recommend, and use a solution from Email Architect.
Solution 2:
I would recomend setting up your own mail server to send email as the client, then add the correct SPF records to prevent you being flagged as spam.
Solution 3:
I suggest using MDaemon for doing your mail. If you are sending in high volumes then look to Port25 and PowerMTA for your sending. Stick some form of a mail queue (MSMQ for example) in front of what ever mailer you use so that the email that is generated from your program or website isn't actually sent from the program or web site...freeing that app to continue on using its worker thread without being blocked by connecting to a mail server. NEVER SEND IT DIRECT FROM THE APP! Then create a windows service to read through the queue and send through your mail server.
On the subject of relaying mail (sending it through your clients servers) this is not suggested. You might not only be received as spam...more importantly you might get black listed by certain IPs. Depending on the volume of mail that you send you may need to send the mail direct from your servers (you manage it) and you might need to manage the volume of email that you send to a given domain per minute/hour/etc. to avoid being black listed.
You might look to someone like EmailLabs to take care of the infrastructure management. You can access them via their API's for sending your mail.
Big subject!