Як надсилати електронні листи та уникати їх класифікації як спаму?


82

Це канонічне питання про те, як обробляти електронну пошту, надіслану з вашого сервера, неправильно класифікується як спам. Для отримання додаткової інформації вам можуть бути корисні подібні запитання:

Іноді я хочу надсилати бюлетені своїм клієнтам. Проблема полягає в тому, що деякі електронні листи потрапляють як спам-повідомлення. В основному Outlook у клієнта (навіть у моєму власному Outlook 2007).

Тепер я хочу знати, що потрібно зробити для створення "хороших" електронних листів. Я знаю про зворотний пошук і т. Д., Але (наприклад), а як щодо скасування підписки на унікальний ідентифікатор? Це збільшує рейтинг спаму?


Крок за кроком контрольний список , а також рекомендації по усуненню неполадок можна знайти в хорошому відповідь на аналогічне питання про superuser.com .
MattBianco

Відповіді:


82

Будьте впевнені, що ваші листи не виглядають як типові спам-листи: не вставляйте лише велике зображення; перевірити правильність встановлення набору символів; не вставляйте посилання "Тільки IP-адреса". Пишіть своє спілкування так, як ви пишете звичайним електронним листом. Зробити підписку або відмовитися від неї дуже просто. В іншому випадку ваші користувачі скасують підписку, натиснувши кнопку "спам", і це вплине на вашу репутацію.

З технічної сторони: якщо ви можете вибрати свій SMTP-сервер, будьте впевнені, що це "чистий" SMTP-сервер. IP-адреси спам-серверів SMTP часто перебувають у чорному списку іншими постачальниками. Якщо ви не знаєте своїх SMTP-серверів заздалегідь, то в вашій програмі є хорошою практикою надати параметри конфігурації для контролю розмірів партії та затримки між партіями. Деякі сервери пошти не приймають великі партії відправки або постійну активність.

Використовуйте методи аутентифікації електронної пошти, такі як SPF та доменні ключі, щоб довести, що ваші електронні листи та ваше доменне ім’я належать разом. Приємним побічним ефектом є те, що ви допомагаєте у запобіганні підробці вашого домену електронної пошти. Також перевірте свою зворотну DNS, щоб переконатися, що IP-адреса вашого поштового сервера вказує на доменне ім’я, яке ви використовуєте для надсилання пошти.

Переконайтеся, що адреса відповіді на ваші електронні листи є дійсними, існуючими адресами. Використовуйте повне справжнє ім’я адресата в полі Ко, а не лише адресу електронної пошти (наприклад "John Doe" <john.doe@example.com>) та слідкуйте за своїми обліковими записами зловживань, такими як abuse@example.com та postmaster@example.com .


І використовуйте багаточастинні / альтернативні версії HTML-пошти, що містить лише текст. Це означає, що сканер спаму матиме більше корисних речей, коли його класифікують.
Метт

22

Автоматично скасовуйте підписку на одержувачі вашого повідомлення, електронні адреси яких відштовхуються, і встановлюйте петлі зворотного зв’язку зі скаргами на головних постачальників пошти та автоматично скасовуйте підписку на одержувачів, які повідомляють про ваше повідомлення як спам / непотріб. Це пройде довгий шлях до покращення вашої репутації та результативності.


4
Це дуже цікаво. Я нічого не знав про ці петлі зворотного зв’язку. Чи пропонують всі провайдери таку програму?
kcode

1
Не всі провайдери, ні. Але більшість основних, включаючи Yahoo та AOL та інші. Усі відомості про зворотній зв'язок зі скаргами, про які я знаю, вимагають, щоб повідомлення надсилалися з домену, який автентифікований DKIM або DomainKeys. Я вважаю, що деякі також потребують SPF, але рідше.

15

Це питання зазначає, що основи існують, але оскільки ми вказуємо інших на це як на канонічне запитання, я просто хочу бути впевненим, що ми покриваємо наші основи.

Ці мінімуми, по суті, необхідні в ці дні:

  1. Переконайтесь, що у вас правильно та налаштовано DNS вперед та назад. Поштовий сервер повинен ідентифікувати себе в обміні HELO / EHLO, це ім'я має шукати IP-адресу, яку використовує сервер. Так само зворотний пошук цього IP повинен повертати ім'я.

  2. Переконайтесь, що ваш сервер фактично надсилає ім'я хоста в цьому рукостисканні. Ваш сервер не повинен надсилати IP-адресу.

  3. Переконайтеся, що ваша IP-адреса не міститься в жодних DNSRBL (чорних списках). Якщо це так, потурбуйтеся про це.

  4. Перевірте репутацію вашого ІР за допомогою більш популярних сервісів репутації (SenderScore зараз великий, але це може не затримуватися з часом). Ці сервіси, як правило, мають вказівки щодо покращення вашої репутації, але не є відвертими "йти / не ходити", як RBL.

  5. Чи не підроблені заголовки, які не лежать в заголовках, і переконайтеся , що ви в тому числі мінімальних заголовків в повідомленнях ( Dateі Fromпотрібні, має бути Subject, Sender, Reply-Toта To/ Cc/ Bcc[застосовно]). Це один з моїх найбільших вихованців з дійсними інформаційними розсилками, які я хочу отримувати в кінцевому підсумку, оскільки вони підробляють заголовка Outlook Express, залишають поза датою чи щось подібне.

За бажанням слід розглянути можливість створення SPF, DKIM та DMARC. Вони допомагають забезпечити доставку, але не потрібні (не переважна більшість серверів електронної пошти).


11

На жаль, існує багато різних методів фільтрації, і деякі основні постачальники пошти не публікують те, що вони використовують та / або які ваги надаються різним тестам / фільтрам, тому знати, як пройтись, важко. В основному спам призвів до провайдерів і користувачів ситуацію, коли вони іноді ускладнюють проходження таких законних повідомлень (особливо масових повідомлень, таких як ваш інформаційний бюлетень). Я більше не вважаю електронну пошту наполовину надійним способом транспорту, яким це було колись.

Щоб бути трохи менш негативними та кориснішими ... Оскільки у вас виникають конкретні проблеми з певним клієнтом, можливо, деякі програми можуть вам сказати. Я не знаю конкретно про перспективу, оскільки я сам ніде не використовую її, але багато поштових фільтрів вводять заголовки в повідомлення, щоб перелічити, які фільтри використовувались, який результат був і який був зважувальний показник цього фільтра. Тож якщо ви подивитесь на повне джерело повідомлень, які вони перенесли у непотрібні папки, ви можете знайти корисні підказки. Наприклад, фільтри на основі SpamAssassin вводять заголовки наступної форми:

X-Spam-Flag: YES
X-Spam-Score: 13.371
X-Spam-Level: *************
X-Spam-Status: Yes, score=13.371 tagged_above=-10 required=5.4
    tests=[BAYES_99=3.5, FB_GET_MEDS=0.803, RCVD_IN_SORBS_WEB=0.619,
    RCVD_IN_XBL=3.033, RDNS_NONE=0.1, URIBL_AB_SURBL=1.86,
    URIBL_BLACK=1.955, URIBL_JP_SURBL=1.501]

(цей приклад був вирваний із справжнього спам-повідомлення в моїй неправомірній купі)

Це не визначено, хоча байєсівська фільтрація та інші методи, що передбачають навчання користувачів, є загальними - тому те, що фільтри проходять і відмовляються, може помітно відрізнятися від інших людей, навіть якщо клієнт був налаштований однаково поза коробкою. Можливо, вам доведеться врахувати якусь іншу розсилку для ваших новин (багато людей намагаються використовувати для цього протоколи соціальних мереж з різним ступенем успіху).


9

Як говорили інші, ви хочете уникати "виглядати" як спам-повідомлення при надсиланні електронної пошти, але ви не можете обов'язково сказати, що буде чи не зробить вас схожим на спам, оскільки методи відрізняються.

Одне, що ви можете розглянути, - це надіслати своїм клієнтам звичайний текстовий електронний лист для кожного інформаційного бюлетеня, який фактично містить короткий опис / привітання, а потім "натисніть тут, щоб переглянути наш останній інформаційний бюлетень!" повідомлення; таким чином ви можете розмістити своє повідомлення на веб-сервері, ви зменшуєте розмір електронних листів (і завантажуєте їх на свій поштовий сервер), і як бонус ви можете перевіряти журнали на своєму веб-сервері, щоб отримати зворотній зв’язок про те, скільки клієнтів насправді читає ваші повідомлення проти їх видалення.


Хм. Я ніколи не бачив, щоб спамер використовував таку тактику раніше ...
Ерні

Як правило, прямий текст із законним посиланням або двома (не сильно розсипається ліберально) має тенденцію проникати ... інакше я не можу надсилати посилання собі чи іншим людям без того, щоб їх позначили як спам. Це як би сказати, що ви ніколи не бачили, щоб спамери надсилали миттєві повідомлення "брудними словами", щоб закликати людей реагувати. Легітний трафік теж робить це. Ключ не в тому, щоб бути "надто спаммі" ... ім'я користувача, як bevans, напевно, не таке підозріле, як "hottienakedchick69", навіть якщо вміст такий самий, ви знаєте, що я маю на увазі?
Барт Сільверстрім

7

Детальне рішення, щоб уникнути ідентифікації електронної пошти як спаму та / або не надходження до одержувачів

Приклад ситуації: у вас є сервер, на якому працює веб-сайт PHP, для example.comякого потрібно надсилати електронні листи . І ви помічаєте, що ваші електронні листи не завжди доставляються. (Велика проблема, якщо ви власник магазину, а клієнти не отримують електронні листи після покупки!).

Якщо дотримуватися всіх наступних кроків, це повинно вирішити 99,9% проблем. (Я спершу подумав, що можна зробити лише декілька з них, і, наприклад, пропустити DKIM, але, нарешті, всі вони були потрібні для вирішення всіх проблем, які у мене були).

  1. Перш за все, хто надсилає електронні листи?

    Коли ваш PHP-код надсилає електронні листи, це часто з відомою функцією PHP mail(...). Але що ця функція робить під кришкою? Давайте запустимо test.phpсторінку, що містить <?php echo ini_get('sendmail_path'); ?>. Ви отримаєте, наприклад: /usr/sbin/sendmail -t -i. Хороша новина, тепер ми знаємо, яка програма справді обробляє електронні листи!
    Тепер складна інформація: в назві sendmailможуть бути різні програми . Навіть якщо ви бачите sendmailна попередньому кроці, ви можете мати Sendmail або Postfix або Exim , або Qmail, і т.д. встановлений. Давайте зробимо dpkg -S /usr/sbin/sendmail. Відповідь postfix: /usr/sbin/sendmail, добре, це означає, що ми postfixвстановили .

  2. Подивіться у файл журналу, /var/mail/www-dataщоб дізнатись, які електронні листи були неправильно надіслані та чому. Це може бути корисно для наступних кроків.

  3. Як згадувалося в блозі Джеффа Етвуда , настав час переглянути зворотні записи PTR. (Більше деталей потрібно додати тут).

  4. Додайте наступний рядок у файл конфігураційного файлу postfix /etc/postfix/main.cf:

    inet_protocols=ipv4
    

    Потім перезапустіть постфікс за допомогою service restart postfix. Чому? Оскільки у мене виникли такі проблеми, коли отримувач отримує gmail:

    Наша система виявила, що це повідомлення 550-5.7.1 не відповідає вказівкам щодо надсилання IPv6 щодо записів PTR та аутентифікації 550-5.7.1. Перегляньте 550-5.7.1 https://support.google.com/mail/?p=ipv6_authentication_error, щоб отримати додаткові відомості про 550 5.7.1.

    Самим простим рішенням було те , щоб перейти postfixдо ipv4 тільки, що цей крок 4 (який може бути непотрібним для вас?).

  5. SPF DNS записи . Щоб довести, що вам дозволено надсилати електронні листи @example.com, ви можете додати SPF-запис у записи DNS домену example.com. Я десь це виявив The DNS record type 99 (SPF) has been deprecated, тому ми використовуємо натомість запис TXT. Додамо це як запис TXT DNS (див. Також примітку 1) :

    v=spf1 a mx include:_spf.google.com include:sendgrid.net ~all
    

    Чому це включає? Тому що мій сервер не буде єдиним, хто надсилає електронні листи від @ example.com! Я налаштував Gmail для надсилання пошти як contact@example.com ( див. Скріншот тут ), використовуючи надійного SMTP-провайдера Sendgrid . Якщо я не додаю їх include:, Gmail не дозволить надсилати електронну пошту @example.com.

  6. Цифровий підпис DKIM Як вже згадувалося тут , мета DKIM - забезпечити, щоб вміст пошти не підроблявся під час передачі. Ось процес установки в Ubuntu (корисний посібник і тут ):

    • apt-get install opendkim opendkim-tools

    • Створіть ключі (ви також можете генерувати ключі та відповідний запис DNS TXT за допомогою http://dkimcore.org/tools/ ):

      mkdir /etc/opendkim
      cd /etc/opendkim
      opendkim-genkey -t -s mail -d example.com
      
    • Давайте поставимо це /etc/opendkim.conf:

      Syslog                 yes
      Domain                 *
      KeyFile                /etc/opendkim/mail.private
      Selector               mail
      AutoRestart            yes
      Background             yes
      Canonicalization       relaxed/relaxed
      DNSTimeout             5
      Mode                   sv
      SubDomains             no
      

      це в /etc/default/opendkim:

      SOCKET="inet:8891@localhost" # Ubuntu default - listen on loopback on port 8891
      

      і, нарешті, додайте це в кінці файлу конфігурації postfix /etc/postfix/main.cf:

      # DKIM
      milter_default_action = accept
      milter_protocol = 2
      smtpd_milters = inet:localhost:8891
      non_smtpd_milters = inet:localhost:8891
      
    • Тепер додамо відкритий ключ (знайдено в /etc/opendkim/mail.txt) до записів DNS вашого домену:

      mail._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=OqYHd...waPaQAX"
      

      Ось як це виглядає з моїм реєстратором І самеnx:

    • Останній крок для DKIM: перезавантажте поштові служби за допомогою service restart opendkim ; service restart postfix.

  7. Перевірте, чи все працює. Найпростіший спосіб - надіслати електронний лист через PHP auth-results@verifier.port25.com(цей дуже корисний інструмент надається Port25 Solutions):

    $emailfrom = "Example <contact@example.com>";
    $headers  = "MIME-Version: 1.0 \n";
    $headers .= "Content-Transfer-Encoding: 8bit \n";
    $headers .= "Content-type: text/plain; charset=utf-8\n";
    $headers .= "Reply-To: " . $emailfrom . "\n";
    $headers .= "From: " . $emailfrom . "\n";
    $headers .= "Bcc: example@gmail.com\n";
    mail("check-auth@verifier.port25.com", "Hello", "Hello!", $headers);
    

    Потім подивіться відповідь цього інструменту, він повинен виглядати приблизно так:

    ==========================================================
    Summary of Results
    ==========================================================
    SPF check:          pass
    DKIM check:         pass
    SpamAssassin check: ham
    

    Також корисна послуга mail-tester.com .

  8. (Необов’язково) Спробуйте postmaster.google.com. Я користувався ним, але не пам'ятаю, допомагав чи ні.

  9. Якщо це все ще не працює , рішенням може бути аутсорсинг електронної пошти з професійним рішенням, щоб уникнути днів і ночей (невдалої) налагодження. Ось хороша стаття про це. Ось цитата: "Надсилання електронних листів із вашого додатка може ***. Половину часу повідомлення, які надсилаються з вашого власного сервера, просто потрапляють у папку небажаного одержувача." що я сумно виявив правду, після тижнів налаштувань.


Додаткові нотатки:

(1)

-all : Fail: All mail servers not listed in the SPF record are explicitly not authorized to send mail using the sender’s domain.
~all : Soft Fail: All mail servers not listed in the SPF record are not authorized to send mail using the sender’s domain, but the owner of the domain is unwilling to make a strong assertion to that effect.
?all : Neutral: The domain controller cannot or does not want to assert whether or not all mail servers not listed in the SPF record are authorized to send mail using the sender’s domain.
+all : Pass: All mail servers are authorized to send mail on behalf of the sender’s domain.

6

У моєму інтернет-бізнесі виникли проблеми з повідомленнями про підтвердження замовлення, які надходять у спам або навіть не надходять (відхиляються через поштові сервери). Це були прості електронні листи "ось короткий опис вашого замовлення" з одним посиланням на домен нашого сайту. Ми закінчили придбати кілька облікових записів Google Apps для мого бізнесу. Ви можете налаштувати один з них, щоб він виступав як ваш SMTP-сервер. Отримавши Google як наш відправник пошти, всі ці проблеми припинили.

Що стосується електронних розсилок, то обов'язково користуйтеся послугою, яка обробляє можливість входу / виходу для вас. Використання будь-кого, окрім служби для надсилання масової пошти, ймовірно, заборонить вас.


Це рішення. Правильним рішенням буде виправити несправну систему та забезпечити принаймні правильний запис SPF у DNS.
Джон Гарденєр

3
Насправді, якщо на вашому поштовому сервері провайдера ввімкнено чорний прапор як спам, удачі з цим. У той час ми були на Rackspace. Використання Google як SMTP допомогло, оскільки Google переконався, що він не є в чорному списку.
Кріс К

2

Існує новий посібник, опублікований в Inboxing по електронній пошті

Найбільш повне, що я бачив. Контрольний список із 43 різних пунктів, які охоплюють кожен кран про те, як уникнути позначення як спаму. Це постійно оновлюється.

Від налаштування DNS, налаштування автентифікації, налаштування моніторингу репутації, зниження показника відмов, тестування вмісту електронної пошти тощо.

Головує до хвостів, які охоплюють ZeroBounce.NET

https://www.zerobounce.net/guide-to-improve-inbox-and-delivery.html


На даний момент ця публіка є по суті лише посиланням. Щоб відповідь залишалася корисною, навіть якщо посилання розривається, відредагуйте її, щоб вона містила відповідну інформацію.
anx
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.