tags:

views:

254

answers:

5

Our company does work environment surveys, and these surveys are filled in online. All participants are sent a link to their survey in an email (personal code included).

Some of our clients have employee counts in the hundreds and sometimes in the thousands.

Our current solution is just using our SMTP-server to send this, without any form of throttling (VB6, CDO). (All recipients are usually "inside" the same domain, [email protected]) This is not a good solution, as you may imagine, this triggers every anti-spam/firewall/gatekeeper event in the clients environment. We are put in contact with their IT-department beforehand and get them to whitelist our sending server and sender-mail address.

The most usual problems we run in to are:

  1. Receiving server only grabs the 20-50 first mails and rejects the rest (anti-spam measure). We sometimes can get by this by getting the it-company to whitelist us. Sometimes however, this does not work.
  2. It's getting more and more normal to disable bouncing of incorrect mail addresses. This gives us no indication of whether a mail has been delivered or not. And believe it or not, most clients gives us their email list from their HR-system, not their mailsystem.

Does anyone have any suggestions for a better way to do this? We can't be the only company sending legitimate mass emails? :)

+1  A: 

I'd suggest that getting your clients to whitelist your server would be the most appropriate state, after all you are in a contractual relationship with them so some configuration as a result would be reasonable.

The validity of the email address list that you are sent must lie with the client, particularly if they aren't pulling it from their live email address list. There's little you can do, or should be expected to do, to validate those addresses if the client doesn't provide the appropriate responses.

Also, this isn't a programming question even remotely (okay, if you throttled your emails to a common domain you've more chance of getting it through but that's nothing to do with the programming, more about the nature and operation of SMTP and the protection systems therein). Questions like this are more suited to SuperUser.

Lazarus
A: 

The only thing I can think of is to send a computer to each company with specialty software. That computer needs a connection back to your company, but the connection does not have to be dedicated. Send the email data for a respective company to that computer as bulk data in a compressed data format. The specialty software running on the deployed box has to be smart enough to decompress the data to release the emails and push them to the local email server for deployment. The complicated part is knowing how to send to receive authorization from the local email server and queue the email for distribution by that email server.

That should work because if the email originates from the internal mail server then that server will not mark the data as spam. You have to change the from field to be the designated address provided from the client and not a generic service address automatically applied by the email server.

+5  A: 

There is a good article on Coding Horror that details the process of sending e-mail. In short:

  1. Verify your domain records by adding a DomainKey.
  2. Add an Sender ID SPF record to your DNS settings.

You could also use an external mail sending service like Campaign Monitor, which checks these settings for you.

Frederik
Like I answered above, marketing software is adapted for marketing. Not for mass sending unique mails to a changing group of recipients several times. However the suggestion to register with verification services is a good one.
Christian W
+3  A: 

You could try using the Bcc: header field (grouped by domain) to specify recipients. That way, the mail server only gets one message, which it copies to all the addresses mentioned. That way, the mail server isn't flooded with traffic from your server; it's flooded with its own traffic.

Another thing I've tried is adding the following headers to outgoing emails:

  • From: [NAME] <[VALID EMAIL]>
  • Organization: [YOUR COMPANY]
  • Abuse-Reports-To: [VALID EMAIL]
  • Complaints-To: [VALID EMAIL]
  • Precedence: bulk

These headers, while generally not noticed by the user, can help give the spam filter peace of mind (not to anthropomorphize) in that it knows where the email came from, the sender knows it's being sent to many people, and that, if there's a problem, who to contact. If the spam filter were a human, this would be the equivalent of making the email sound official (using company stationery, printed envelope with the company logo, etc.).

It also helps to have an accurate Date: header.

amphetamachine
If I read the original question correctly, there is a unique id for each email in the body (link to survey) so this approach would not work as required.
ZombieSheep
A: 

You need use a third party email provider such as aweber or icontact. For a very reasonable fee these companies will make your email delivery issues go away. You can fuss with headers and white listing servers until you see spots, but you will continue to have problems.

This is something that is worth spending money on.

codingguy3000
I checked both of them, and they are very adapted to marketing with a more or less fixed list of recipients. This does not adapt well to what we are doing as our list of recipients change for each customer.
Christian W