Аутентифицировать электронную почту PHP

У меня есть веб-приложение, которое должно отправлять электронные письма клиентам на адреса электронной почты сотрудников. Как лучше всего предотвратить пометку моих сообщений как спам?

Например, если у меня есть [email protected], я хотел бы иметь возможность отправлять почту «От» с этого адреса с помощью PHP в моем приложении, не получая сообщения «Это сообщение могло быть отправлено не…» сообщение.

Прямо сейчас я использую функцию mail () в PHP с заголовками для переменных From, Return Path и X-Mailer.

Я обычно очень смущен всем, что я читал о SPF и DKIM, поэтому ценю любой совет. Спасибо.


person Charles    schedule 29.06.2011    source источник
comment
Некоторые фильтры спама используют обратный DNS, чтобы проверить, действительно ли домен отправителя принадлежит отправителю (предотвращая подделку почтовых адресов). Вы не сможете этого сделать для домена gmail.com :)   -  person PeeHaa    schedule 29.06.2011


Ответы (4)


Это очень объемная тема с множеством из things на рассмотрите.

Самое важное правило - не использовать HTML и отправлять только правильные письма, которые нужны людям, и что получатели сами не помечают как спам.

person cweiske    schedule 29.06.2011
comment
Сами Google заявляют, что если электронное письмо не было отправлено с помощью Gmail, но отправитель включает данные аутентификации в сообщение, мы покажем вам имя отправителя и службу, которая аутентифицировала сообщение. support.google.com/mail/troubleshooter/ Это вероятно, лучшее решение - кто-нибудь знает, как это сделать? - person Nathan Hornby; 07.03.2014

Например, если у меня есть [email protected], я хотел бы иметь возможность отправлять почту «От» с этого адреса с помощью PHP в моем приложении, не получая сообщения «Это сообщение могло быть отправлено не…» сообщение.

Если у вас есть адрес Gmail, вы можете просто отправлять сообщения через службу SMTP Gmail, но имейте в виду, что в Gmail есть Ограничение на отправку сообщений электронной почты 500. Ниже приведена тема, описывающая, как использовать SMTP-сервер Gmail с популярным PHPMailer.

Прямо сейчас я использую функцию mail () в PHP с заголовками для переменных From, Return Path и X-Mailer.

Аутсорсинг - это, вероятно, способ, например:

Мы также предлагаем бесплатный план с 200 почтовыми отправлениями в день.

Чтобы узнать о ценах, посетите http://sendgrid.com/pricing.html.

Никаких ежемесячных обязательств, никаких минимумов и ограничений. Просто платите за то, что вы используете, по цене 0,001 доллара США за электронную почту или меньше.

Плата за сообщения электронной почты составляет 0,10 доллара за тысячу.

http://aws.amazon.com/ses/pricing/

Просто чтобы назвать несколько, которые очень дешевы в использовании без каких-либо проблем / настройки.

person Alfred    schedule 29.06.2011

Если вместо функции mail () вы используете почтовую программу SMTP, такую ​​как пакет почтовой программы PEAR тогда вы можете отправлять почту, используя собственные SMTP-серверы Google. Это потребует от вас предоставить правильные учетные данные для учетной записи Google, из которой вы хотите отправить. Это должно помочь избежать возникшей у вас проблемы.

person hughes    schedule 29.06.2011

Первое, что вам нужно убедиться, это то, что электронное письмо «От: ...» действительно пришло с вашего сервера, например [email protected], и оно должно существовать и быть действительным адресом электронной почты на сервере, на котором работает скрипт. Вам следует попробовать установить пользователя sendmail в верхней части скрипта (предполагается, что сервер Linux):

ini_set('sendmail_from', 'your_email@your_server.com');

Затем вы добавляете "Reply-To:" заголовок и, возможно, используете адреса своих сотрудников, и у получателей, по крайней мере, будет похоже, что у них есть электронное письмо, на которое можно ответить. Без этого вы, вероятно, даже не дойдете до спама, на пути вас заблокируют.

В этом потоке показано кое-что из этого и обратите внимание на комментарии к PHPMailer - это хороший способ обработки рассылки, и я нашел его более успешным, чем простой mail(); Почтовая форма PHP не работает

person Steve    schedule 22.11.2015