Как отправить письмо с помощью MIME::Lite в perl, чтобы почта не попала в папку "Спам"

Я использую MIME::Lite отправлять электронные письма. Я не отправляю письма оптом. У меня есть следующий код для отправки почты.

my $msg = MIME::Lite->new(
    To      => "$recipient_address",
    From    => "$sender_displayname <$sender_email>",
    Subject => "$subject",
    Type    => "multipart/alternative",
);
my $att_text = MIME::Lite->new(
    Type     => 'text',
    Data     => $message_body_plain,
    Encoding => 'quoted-printable',
);
$att_text->attr('content-type' => 'text/plain; charset=UTF-8');
$msg->attach($att_text);

my $att_html = MIME::Lite->new(
    Type     => 'text',
    Data     => $message_body_html,
    Encoding => 'quoted-printable',
);
$att_html->attr('content-type' => 'text/html; charset=UTF-8');
$msg->attach($att_html);

Когда я отправляю почту, в нескольких доменах, таких как Google, электронная почта попадает в папку СПАМ, тогда как в Yahoo почта появляется в INBOX. Я погуглил и прочитал документацию, предоставленную Google, и обнаружил, что если электронная почта имеет заголовки seigned by / mailed-by, то электронная почта не фильтруется фильтром SPAM.

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

Процесс аутентификации пытается проверить реального отправителя, просматривая данные аутентификации сообщения. Эти данные должны быть включены в заголовки "подписано" или "отправлено" (показано под строкой темы, когда вы смотрите на детали сообщения). Когда отправитель не включает эти данные, мы не можем быть уверены, было ли сообщение подделано или нет. Например, сообщение может претендовать на то, что оно пришло с адреса Gmail, но мы не можем подтвердить это утверждение, если в сообщении отсутствуют данные аутентификации.

Пожалуйста помоги!

1 ответ

Поддержка Патхака в том, что это не связано с Perl.

Но в любом случае я бы попробовал в том числе:

my $msg = MIME::Lite->new(
    "-Mailed-by" => 'real.mailaccount@sending-mailserver.com', 
    ...

Убедитесь, что этот почтовый адрес (и / или адрес From-mail) действительно существует, предпочтительно на SMTP-сервере, который вы используете как часть

$msg->send('smtp', 'smtp.sending-mailserver.com')
#(or as part of sendmail on 'nix)

Это часто дает вам гораздо меньше "спам-очков", чем если вы пытаетесь отправить письмо с почтовым адресом yahoo.com, например, с SMTP-сервера gmail.com, или с помощью общедоступного SMTP-сервера, используя адрес электронной почты определенной компании.

Попробуйте также в Google узнать, как избежать попадания в корзину, например, http://mailchimp.com/resources/guides/how-to-avoid-spam-filters/html/

Другие вопросы по тегам