Вопрос: Как отправлять электронные письма и избегать их классификации как спама?


Это канонический вопрос о том, как обрабатывать электронную почту, отправленную с вашего сервера, неправильно классифицируется как спам. Для получения дополнительной информации вы можете найти похожие вопросы:

Иногда я хочу отправлять информационные бюллетени своим клиентам. Проблема в том, что некоторые электронные письма попадают в виде спам-сообщений. В основном Outlook на клиенте (даже в моем собственном Outlook 2007).

Теперь я хочу знать, что нужно сделать для создания «хороших» писем. Я знаю об обратном поиске и т. Д., Но (например), а как насчет ссылки на отмену подписки с уникальным идентификатором? Увеличивает ли рейтинг спама?


72
2017-07-31 05:53


Источник


пошаговый контрольный список а также рекомендации по устранению неполадок можно найти в хороший ответ к подобный вопрос на superuser.com, - MattBianco


Ответы:


Убедитесь, что ваши письма не похожи на обычные спам-письма: не вставляйте только большое изображение; убедитесь, что набор символов установлен правильно; не вставляйте ссылки только «IP-адрес». Напишите свое сообщение, так как вы напишете обычную электронную почту. Сделать это действительно легко отказаться от подписки или отказаться. В противном случае ваши пользователи откажутся от подписки, нажав кнопку «Спам», и это повлияет на вашу репутацию.

С технической стороны: если вы можете выбрать свой SMTP-сервер, убедитесь, что это «чистый» SMTP-сервер. IP-адреса спам-серверов SMTP часто занесены в черный список другими поставщиками. Если вы не знаете своих SMTP-серверов заранее, рекомендуется использовать параметры конфигурации в приложении для управления размерами партий и задержкой между партиями. Некоторые почтовые серверы не принимают большие партии отправки или непрерывную активность.

Использовать методы проверки подлинности электронной почты, такие как SPF, а также Ключи домена чтобы подтвердить, что ваши электронные письма и ваше доменное имя принадлежат друг другу. Хорошим побочным эффектом является помощь в предотвращении подмены домена электронной почты. Также проверить ваш обратный DNS чтобы IP-адрес вашего почтового сервера указывал на имя домена, которое вы используете для отправки почты.

Убедитесь, что ответ на адрес ваших писем является действующим, существующим адресом. Используйте полное, реальное имя адресата в поле Кому, а не только адрес электронной почты (например, "John Doe" <john.doe@example.com> ) и отслеживать свои учетные записи о злоупотреблениях, например abuse@example.com а также postmaster@example.com,


75
2017-07-31 07:15



И используйте множественные / альтернативные версии вашего html-письма, содержащего только текст. Это означает, что сканер спама будет иметь более полезный материал, который будет использоваться при его классификации. - Matt


Автоматически отписывать получателей вашего сообщения, чьи адреса электронной почты отскакивают, а также устанавливать петли обратной связи с основными поставщиками почты и автоматически отписывать получателей, которые сообщают ваше сообщение как спам / нежелательные сообщения. Это значительно улучшит вашу репутацию и эффективность.


18
2017-07-31 13:23



Это очень интересно. Я ничего не знал об этих петлях обратной связи. Предлагают ли все провайдеры такую ​​программу? - Uwe
Не у всех поставщиков, нет. Но большинство основных, включая Yahoo и AOL и другие. Все циклы обратной связи с жалобами, которые я знаю, требуют, чтобы сообщения отправлялись из домена, который аутентифицирован DKIM или DomainKeys. Я считаю, что некоторые из них также требуют SPF, но реже.


В этом вопросе упоминается, что основы существуют, но поскольку мы указываем на это другим как канонический вопрос, я просто хочу быть уверенным, что мы покрываем наши базы.

Эти минимумы в наши дни необходимы:

  1. Удостоверьтесь, что вы правильно настроили прямой и обратный DNS. Почтовый сервер должен идентифицировать себя в обмене HELO / EHLO, это имя должно искать IP-адрес, используемый сервером. Точно так же обратный поиск этого IP должен вернуть имя.

  2. Убедитесь, что ваш сервер фактически отправляет имя хоста в это рукопожатие. Сервер не должен отправлять IP-адрес.

  3. Убедитесь, что ваш IP-адрес не находится ни на одном из DNSRBL (черные списки). Если да, то об этом позаботятся.

  4. Проверьте репутацию своего IP-адреса с более популярными службами репутации (SenderScore сейчас большой, но это может не задержать с течением времени). Эти службы, как правило, имеют рекомендации по улучшению вашей репутации, но не являются прямым «go / no-go», как RBL.

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

При желании вам следует подумать о настройке SPF, DKIM и DMARC. Они помогают с возможностью доставки, но не требуются (а не подавляющим большинством почтовых серверов).


13
2018-03-25 21:03





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

Быть немного менее негативным и более полезным ... Поскольку у вас возникают определенные проблемы с конкретным клиентом, могут быть вещи, которые программа может вам рассказать. Я не знаю конкретно о перспективах, поскольку сам не использую его, но многие почтовые фильтры вводят заголовки в сообщения, чтобы указать, какие фильтры были использованы, каков был результат и каков был вес, данный этому фильтру. Поэтому, если вы посмотрите на полный источник сообщений, которые они переместили в нежелательные папки, вы можете найти полезные подсказки. Например, фильтры на основе 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
2017-07-31 07:24





Как и другие, вы хотите избежать «поиска» спам-сообщения при отправке письма, но вы не можете сказать, что будет или не сделает вас похожим на спам, потому что методы меняются.

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


7
2017-07-31 12:44



Хм. Я никогда не видел, чтобы спамер использовал эту тактику раньше ... - Ernie
Как правило, прямой текст с легитимной ссылкой или двумя (не так много разбросанных либерально) имеет тенденцию проходить ... в противном случае я не могу писать ссылки на себя или других людей, не получая помеченных как спам. Это похоже на то, что вы никогда не видели, чтобы спамеры отправляли мгновенные сообщения с «грязными словами», чтобы побудить людей реагировать. Движение Legit делает это тоже. Ключ не должен быть «слишком спамным» ... имя пользователя, вроде bevans, вероятно, не так подозрительно, как «hottienakedchick69», даже если контент тот же, вы знаете, что я имею в виду? - Bart Silverstrim


У моего интернет-бизнеса возникли проблемы с отправкой писем с подтверждением заказа, которые были отправлены спамом или даже не доставлены (удалены через почтовые серверы). Это были простые сообщения «вот сводка ваших заказов» с одной ссылкой на домен нашего сайта. Мы закончили покупку нескольких аккаунтов Google Apps для моего бизнеса. Вы можете настроить один из них, чтобы действовать как ваш SMTP-сервер. Наличие Google в качестве почтового отправителя остановило все эти проблемы.

Что касается бюллетеней по электронной почте, определенно используйте службу, которая обрабатывает выбор / выключение для вас. Использование кого-либо, кроме службы отправки массовой почты, вероятно, приведет к запрету.


4
2018-06-05 19:34



Это обходной путь. Правильным решением было бы исправить вашу неисправную систему и обеспечить, по крайней мере, правильную запись SPF в DNS. - John Gardeniers
На самом деле, если интернет-провайдер, на котором работает ваш почтовый сервер, получает черный флаг как спам, удачи в этом. В то время мы были на Rackspace. Использование Google в качестве SMTP помогло, поскольку Google удостоверился, что он не включен в черный список. - Chris K


Подробное решение, позволяющее избежать сообщений электронной почты, которые могут быть идентифицированы как спам и / или не прибывать на приемники

Пример: у вас есть сервер, на котором запущен 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 на предыдущем шаге вы могли бы Отправить письмо или постфикс или 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
      

      и, наконец, добавить это в конец файла конфигурации постфикса /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"
      

      Вот как это выглядит с моим регистратором Namelynx:

    • Последний шаг для DKIM: перезапустите почтовые службы с помощью service restart opendkim ; service restart postfix,

  7. Проверьте, все ли работает. Самый простой способ - отправить электронное письмо с помощью PHP на auth-results@verifier.port25.com (этот очень полезный инструмент доступен в решениях Port25):

    $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.

2
2017-09-01 10:21