phpmailer を使用してメールを送信しています。
list-unsubscribe を追加すると、メールは gmail を除くすべてのアカウントに配信されます。ドロップされるだけで、スパムにはなりません。Gmail アカウントには届きません。list-unsubscribe を削除すると、Gmail アカウントに正常に送信されます。
これは私が使用している list-unsubscribe です:
List-Unsubscribe:<http://keepity.com>,<mailto:admin@keepity.com>
これはphpmailerでどのように呼び出されるかです:
$mail->AddCustomHeader("List-Unsubscribe:<http://keepity.com>,<mailto:admin@keepity.com>");
これは、phpmailer を呼び出す完全な関数です。list-unsubscribe をコメントアウトすると、メールは gmail アカウントに配信されます。そうしないと、メールが届きません。なぜ配信されないのか分かる人いますか?
static function phpmailer_sendmail($mail,$from,$fromAlias,$to,$replyTo,$replyToAlias,$subject,$html,$text) {
require_once (JPATH_COMPONENT.DS.'PHPMailer-master/class.phpmailer.php');
$mail = new PHPMailer(true); // by setting TRUE you enable exceptions
$mail->IsSMTP(true); // SMTP
$mail->SMTPAuth = true; // SMTP authentication
$mail->Mailer = "smtp";
$mail->Host= "xyz"; // Amazon SES
$mail->Port = 465; // SMTP Port
$mail->Username = "xyz"; // SMTP Username
$mail->Password = "xyz"; // SMTP Password
$mail->ClearAllRecipients();
$mail->ClearAddresses();
$mail->ClearCCs();
$mail->ClearBCCs();
$mail->ClearReplyTos();
$mail->ClearAttachments();
$mail->ClearCustomHeaders();
$mail->SetFrom($from, $fromAlias);
$mail->AddReplyTo($replyTo,$replyToAlias);
$mail->Subject = $subject;
$mail->IsHTML(true);
$mail->Body = $html;
$mail->AltBody = $text;
$address = $to;
$addressAlias = $to;
$mail->AddAddress($address, $addressAlias);
$mail->AddCustomHeader("List-Unsubscribe:<http://keepity.com>,<mailto:admin@keepity.com>");
$mail->Send();
}