开发者

Amazon SES email spam marked

I'm using Amazon SES to send bulk emails to my users. Some emails is marked as spam though. What can I do mitigate the spam marking?

code in PHP:

$ses = new AmazonSES();
$destination = array();
$destination['ToAddresses'] = $email;
$message = array();
$message['Subject.Data'] = "Domains: $contactsName have made a descision";
$message['Body.Text.Data'] = '';
$message['Body.Html.Data'] = "  Hi $firstName! 
                                </br>
                                </br> 
                                $contactsName have made a descision regarding $title at $link
                                </br>
                                </br>
                                Sincerely,
                                </br>
                                </br>
                                The Domain Team";
$message['Body.H开发者_StackOverflowtml.Charset'] = 'utf-8';
$response = $ses->send_email('info@domain.com', $destination, $message);


There are many questions around this which will affect your spam reputation, but some quick ones:

  1. How many users are you sending to (approximately)?
  2. Do you always send emails to these users from this IP address?
  3. Have your users opted-in to receive emails? Do they have an ongoing email relationship with you? Do they normally read emails that you send to them, or just delete them without looking?
  4. Is your HTML valid? (From the above example, it appears than no - it should be <br/> not </br>.)

These are a few quick questions. The best quick advice I can give you is to make sure the users are opting-in, and encourage them to add you to their friend list. Try to send every email communication between you and them from Amazon SES.


I am not familiar with Amazon SES, but I will have an attempt at this one.

There is an interesting discussion, specifically dealing with email sent through Amazon SES and getting marked as Spam here - AWS Forum: "Email marked as spam CLOUDMARK"

Along with the points raised there, a couple of suggestions:

  1. Always include a Text version of the content, some spam filters may interpret HTML-only emails as more likely to be spam (which they often are), plus some users may only have text-based email clients (some mobile users, etc.)
  2. Check your spelling. Incorrect spelling is normally a dead giveaway for spam emails, and may result in people manually marking emails as spam without looking very closely.
  3. (If possible.) Add a "From" Name. Again, if the email comes from a plain email address, rather than a Human-readable one which is appropriate to your message, it is more likely to look like spam (either to a filter or to a user).

Here is a suggested amended code (corrected spelling and HTML markup):

<?php
$ses = new AmazonSES();
$destination = array();
$destination['ToAddresses'] = $email;
$message = array();
$message['Subject.Data'] = "Domains: $contactsName have made a decision";
$message['Subject.Charset'] = 'UTF-8';

/* NOTE: Lines are broken for readability only */
$body = "Hi $firstName!<br>".
        "<br>".
        "$contactsName have made a decision regarding $title at $link<br>".
        "<br>".
        "Sincerely,<br>".
        "<br>".
        "The Domain Team";

$message['Body.Text.Data'] = str_replace( '<br>' , "\n" , $body );
$message['Body.Html.Data'] = $body;
$message['Body.Html.Charset'] = 'UTF-8';

$response = $ses->send_email('info@domain.com', $destination, $message);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜