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 noreply@clientdomainname.com).

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.



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" <mailbox@abccompany.net>
Sender: notify@yourcompany.com
To: customer@gmail.com
Date: 13 Jul 2009 15:39:42 -0400
Subject: Your bill from ABC Company
Return-Path: notify@yourcompany.com

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 (mailbox@abccompany.net 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.

  • is "Return-Path" the same as "Reply-To"? – ptutt Oct 29 '10 at 3:08

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.

  • 1
    You'd have to add SPF records to the client's DNS, which seems unlikely. – freiheit Jul 14 '09 at 3:32

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!


I recommend Ipswitch's IMail for a windows based mail server. The company offers great support. It is priced competetively, and is easy to set up and get running with a full suite of useful features. We have been using it as our corporate mail server for several years now, and even host email for some other customers with it as well. I think using the clientname.genericname.com is probably the safest. You can set forwarders for the replies to the customers mail accounts. Then you do not have to worry as much about relay problems and spam blocking problems because you are using a legitimate DNS which you own and control. Plus you control the mail server.


Sending utility bills in the email to a bad idea due to identy theft if they are sniffed.

Instead you should look at how you get into an existing eBiller system. In Canada here Canada Post runs one, they have the secure site and almost ALL my bills are in one secure area that I can log into. Very nice and less to remember for each bill.

If you don't want to do that or can't, I'd look at doing it like a bank where people log into your system and view them from there using an SSL session. Much more secure.


Ask the user for his email and password. Then create a session with his email server ( now you have valid credentials ) and push the email from there.

There is no need to fake server or anything.

  • If he has a 1000 clients to do this with...does he manage and store credentials for each one? What about clients that don't have their own servers for such services? – Andrew Siemer Jul 14 '09 at 0:40
  • Revote up, It's still a reasonable doubt! – rAyt Jul 14 '09 at 0:42
  • This answer shows a misunderstanding of a standard client-customer relationship. – Michael Petrotta Jul 14 '09 at 0:44
  • 1
    Don't do this primarily because it compromises your client's security. But then also consider if the client is using a shared hosting & email service. Is the client's email setup capable of handling the volume of emails? How will you handle bounces? Is their email setup correctly? If you were to design and build a setup that your client controls and manages (perhaps with you providing support) then I would say it's ok to use their infrastructure. – Dan Jul 14 '09 at 8:47

Your Answer

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