Почтовый спам Amazon SES отмечен - PullRequest
2 голосов
/ 25 апреля 2011

Я использую Amazon SES для отправки массовых писем своим пользователям.Некоторые письма помечены как спам.Что я могу сделать, чтобы уменьшить вероятность спама?

код в 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.Html.Charset'] = 'utf-8';
$response = $ses->send_email('info@domain.com', $destination, $message);

Ответы [ 2 ]

2 голосов
/ 25 апреля 2011

Существует множество вопросов, которые могут повлиять на вашу репутацию спама, но некоторые из них быстрые:

  1. Сколько пользователей вы отправляете (приблизительно)?
  2. Всегда ли выотправлять электронные письма этим пользователям с этого IP-адреса?
  3. Ваши пользователи согласились получать электронные письма?Имеют ли они постоянные отношения с вами по электронной почте?Они обычно читают электронные письма, которые вы им отправляете, или просто удаляете их, не просматривая?
  4. Ваш HTML действителен?(Из приведенного выше примера видно, что нет - это должно быть <br/>, а не </br>.)

Это несколько быстрых вопросов.Лучший быстрый совет, который я могу вам дать, - убедиться, что пользователи включили ваш аккаунт, и предложить им добавить вас в свой список друзей.Старайтесь отправлять каждое сообщение по электронной почте между вами и Amazon SES.

0 голосов
/ 25 апреля 2011

Я не знаком с Amazon SES, но у меня будет попытка сделать это.

Существует интересное обсуждение, посвященное электронной почте, отправляемой через Amazon SES, и пометке здесь как спам - Форум AWS: "Электронная почта, помеченная как спам CLOUDMARK"

Наряду с поднятыми там вопросами, пара предложений:

  1. Всегда включайте текстовую версию содержимого, некоторые фильтры нежелательной почты могут интерпретировать электронные письма только в формате HTML как более вероятные нежелательные сообщения (которыми они часто являются), а некоторые пользователи могут иметь только текстовые почтовые клиенты (некоторые мобильные пользователи, и др.)
  2. Проверьте правильность написания. Неправильное написание, как правило, является пустой раздачей спам-писем и может привести к тому, что люди будут вручную помечать письма как спам, не обращая внимания.
  3. (Если возможно.) Добавьте имя «От». Опять же, если письмо приходит с обычного адреса электронной почты, а не с понятного человеку, который подходит для вашего сообщения, он с большей вероятностью будет выглядеть как спам (либо для фильтра, либо для пользователя).

Вот предлагаемый исправленный код (исправленное написание и HTML-разметка):

<?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);
...