Я установил Postfix на свой локальный сервер (Ubuntu 16.04 работал через Virtualbox), и, кажется, невозможно отправить электронное письмо в gmail. Он работает с другими почтовыми ящиками, но не с Gmail.
Вот мой простой PHP-скрипт:
$headers ='From: "nom"<dev05@web.fr>'."\n";
$headers .='Reply-To: dev05@web.fr'."\n";
$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
$address = 'me.myself@gmail.com';
$test_mail = mail($address, 'My subject', 'My message', $headers);
if($test_mail == true)
{
echo 'Email sent';
}
else
{
echo 'Cannot send the email';
}
Я заметил сообщения об ошибках в файле /var/mail/web
:
Final-Recipient: rfc822; me.myself@gmail.com
Original-Recipient: rfc822;me.myself@gmail.com
Action: failed
Status: 5.7.1
Remote-MTA: dns; gmail-smtp-in.l.google.com
Diagnostic-Code: smtp; 550-5.7.1 [2a01:e35:2430:e090:a00:27ff:fe23:1da]
Our system has detected that 550-5.7.1 this message does not meet IPv6 sending guidelines regarding PTR 550-5.7.1 records and authentication. Please review 550-5.7.1 https://support.google.com/mail/?p=IPv6AuthError for more information
550 5.7.1 . ay9si74475139wjc.120 - gsmtp
, поэтому я изменил следующую строку в main.cf
] file:
inet_protocols = ipv4
Теперь в файле /var/mail/web
больше нет сообщений об ошибках, но я все еще не получаю электронные письма в моем почтовом ящике.
Вы просматривали https://support.google.com/mail/?p=IPv6AuthError как предложенный ответ SMTP?
TL; DR: GMail ожидает определенных записей в заголовке электронной почты и записи DNS, которые проверяют законность отправителя, чтобы избежать спама. Это относится как к отправителям IPv4, так и к отправителям IPv6, хотя конкретные ожидания могут отличаться.
Как разместить эти записи слишком широко и в значительной степени не связано с Ubuntu и, следовательно, не по теме в AskUbuntu. Пожалуйста, обратитесь к нашему дочернему сайту Ошибка сервера для таких вопросов.