Предположим, у меня есть такой сценарий:
Мой почтовый сервер (и, следовательно, MX) для моего адреса электронной почты me@company.com размещен в моем офисе.
Мой веб-сайт company.com размещен на стороннем веб-хостинге.
На своем сайте я создал <form>
с FROM, TO, SUBJECT, BODY и разослать клиентам с помощью PHP mail ().
Поскольку веб-сервер является сторонним, PHP mail () использует почтовый сервер localhost.
Я думаю, что мои письма попадут на почтовый сервер клиента и будут отображаться как «поддельные» или спам.
Что мне нужно сделать, чтобы моя почта выглядела законной, а входящая почта не отправлялась на сторонний веб-хост?
Ваши сообщения будут подчиняться политикам принимающих доменов - единственные люди, которые могут сказать вам, «Что [вам] нужно сделать, чтобы ваша почта выглядела законной», - это почтовые администраторы на этих сайтах.
Некоторые предложения:
FROM
и REPLY-TO
адреса указывают на места, где вы хотите получать отказы / ответы / т. д. идтиВы должны добавить SPF Структура политики отправителя запись в свой домен. Запись SPF - это текстовый файл, добавленный к вашему домену, в котором указано, кому разрешено отправлять электронную почту для этого домена. В этом случае вы должны добавить свой веб-сервер.
Вот пример: example.com. TXT "v=spf1 a:mail.example.com -all"
В этой записи говорится, что только mail.example.com может отправлять почту для домена example.com.
У большинства крупных публичных почтовых компаний есть правила для массовой рассылки. Вот AOL. Следуйте их рекомендациям, чтобы обеспечить наилучшую доставку.
Убедитесь, что ваш веб-сервер находится в черном списке электронной почты Вот. Черные списки ведутся по IP, так что вы могли получить его, даже не зная об этом. Однажды я установил сервер VoIP для клиента, который затем хотел, чтобы сообщения голосовой почты отправлялись по электронной почте. Именно в этот момент мы обнаружили, что его IP-адрес был в черном списке электронной почты, и нам нужно было получить новый IP-адрес для сервера.
Поскольку веб-сервер будет тем, кто будет отправлять почту, его репутация - это то, что определяет, как почта обрабатывается получателем. Такие вещи, как черные списки, правильный обратный DNS, SPF, ключи домена и т. Д., Также играют роль в этом решении. Я не думаю, что записи MX принимаются во внимание. Это полностью зависит от почтового сервера получателя, и вы можете следовать только рекомендациям для почтовых серверов.
Вместо этого я бы предложил ретранслировать все эти исходящие письма через специальный почтовый сервер. Гораздо проще обеспечить хорошую репутацию отдельному почтовому серверу, особенно если у вас есть несколько веб-серверов, которые вы не полностью контролируете.
Если у вас есть контроль над почтовым программным обеспечением на веб-сервере, вы должны настроить его на ретрансляцию через ваш собственный почтовый сервер. Не забудьте настроить свой собственный почтовый сервер, чтобы разрешить ретрансляцию с IP-адресов этих веб-серверов. Если вы не управляете почтовым программным обеспечением, вы можете настроить команду PHP mail () для отправки почты непосредственно на ваш почтовый сервер.
Вы также можете использовать службу, предназначенную для такого рода транзакционных писем. Они позаботятся о репутации, отказах, черных списках и т. Д. За вас. Доставка электронной почты - это тяжелая работа, и некоторые компании специализируются на ней. Они предоставляют вам несколько вариантов, таких как ретранслятор SMTP или API для отправки напрямую с PHP с расширенным отслеживанием доставки, поддержкой отказа от подписки и т. Д.
sendgrid.com тот, который мы используем, но другие популярные postmarkapp.com или authsmtp.com. Rackspace предоставляет бесплатную учетную запись SendGrid до 40 тысяч писем в месяц. У Amazon есть простая служба электронной почты с бесплатным уровнем для своих клиентов хостинга. Спросите своего хостинг-провайдера, предлагают ли они ретрансляцию smtp или есть ли у них специальное предложение от одной из этих компаний.