web-dev-qa-db-ja.com

PostfixはGmailにメールを送信できません

ローカルサーバーにPostfixをインストールしました(Ubuntu 16.04はVirtualboxを実行しました)。Gmailにメールを送信することはできません。他のメールボックスでは機能しますが、Gmailでは機能しません。

これが私の簡単なPHPスクリプトです。

$headers ='From: "nom"<[email protected]>'."\n";
$headers .='Reply-To: [email protected]'."\n";
$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';

$address = '[email protected]';

$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; [email protected]
Original-Recipient: rfc822;[email protected]
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ファイルの次の行を変更しました。

inet_protocols = ipv4 

/var/mail/webファイルにエラーメッセージはなくなりましたが、Gmailボックスにメールが届きません。

2
Duddy67

確認したのは https://support.google.com/mail/?p=IPv6AuthError SMTP応答の提案と同様ですか?

TL; DR:GMailは、スパムを回避するために、送信者の正当性を検証する電子メールヘッダーとDNSレコードの特定のエントリを想定しています。これはIPv4とIPv6の両方の送信者に適用されますが、具体的な期待は異なる場合があります。

これらのエントリを配置する方法は広すぎて、Ubuntuとはほとんど関係がないため、AskUbuntuのトピックから外れています。そのような質問については、姉妹サイト Server Fault を参照してください。

1
David Foerster