受信トレイ(Gmailアカウント)にメールを送信する際に問題に直面していますが、毎回スパムフォルダーに移動します。これがコードスニペットです
//$ticketDetail is array which contain required information to send.
sendOwnershipEmail('[email protected]', $ticketDetail);
function sendOwnershipEmail($email, $ticketDetail) {
$param = new stdClass();
$param->content = "<div>
<div><b>".$ticketDetail[0]['ticket_number']."</b></div><br/>
<div><img src='".$ticketDetail[0]['image_path']."'/></div><br/>
<div>Ticket with ticket number ".$ticketDetail[0]['ticket_number']." has been requested for tranfer from <div/>
<div>".$ticketDetail[0]['oldDepartment']." to ".$ticketDetail[0]['newDepartment']." Department <div/>
</div>";
$param->sendTo = $email;
$param->subject = "Request for Department transfer";
sendMailFunction($param);
}
function sendMailFunction($param) {
$to = $param->sendTo;
$subject = $param->subject;
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: [email protected]' . "\r\n";
$message = "<html><head>" .
"<meta http-equiv='Content-Language' content='en-us'>" .
"<meta http-equiv='Content-Type' content='text/html; charset=windows-1252'>" .
"</head><body>" .$param->content.
"<br><br></body></html>";
mail($to, $subject, $message, $headers);
}
そして、ヘッダーをReply-To、Return-Pathなどとして設定するのによく似ていますが、毎回スパムになります。問題を理解してください。
問題は、PHP-Mail機能が適切に構成されたSMTPサーバーを使用していないという単純なものです。
現在、電子メールクライアントとサーバーは、逆DNSルート、グレーリスト、whatevsなどの電子メール送信サーバーに対して大規模なチェックを実行します。このテストはすべて、php mail()関数で失敗します。ダイナミックIPを使用している場合、さらに悪いことになります。
PHPMailer-Classを使用し、適切に構成された専用SMTPサーバー(ローカルサーバーまたはリモートサーバー)と共にsmtp-authを使用するように構成すると、問題はなくなります。
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1" . "\r\n";
$headers .= "From: [email protected]" . "\r\n" .
"Reply-To: [email protected]" . "\r\n" .
"X-Mailer: PHP/" . phpversion();
いくつかの理由で。
その1つはReply-To
の必要性であり、
二重引用符の代わりにアポストロフィを使用します。私のフォームの経験におけるこれら2つのことは、通常、メッセージがスパムボックスに表示される原因となります。
$from
を次のように変更することもできます。
$from = "[email protected]";
私が主題で見つけたこれらのリンクを参照してください https://stackoverflow.com/a/9988544/1415724 および https://stackoverflow.com/a/16717647/1415724https://stackoverflow.com/a/9899837/1415724
https://stackoverflow.com/a/5944155/1415724 および https://stackoverflow.com/a/6532320/1415724
ISPのSMTPサーバーを使用してみてください。
これを使用すると、多くの場合明らかに動作しました:X-MSMail-Priority: High
http://www.webhostingtalk.com/showthread.php?t=931932
」私のホストは、ドメインでDomainKeysとSPFレコードを有効にするのを助けてくれたので、Hotmailアドレスにテストメッセージを送信しても、迷惑メールになりません。これらを有効にするのは本当に簡単でした電子メール認証の下のcPanelの設定。これまで見たことがないとは信じられません。それはphpmailerを使用してSMTP経由で送信する場合にのみ機能します。それ以外の方法ではスパムとしてマークされます。」
PHPmailerはhotmailのスパムにメールを送信します。修正方法 http://Pastebin.com/QdQUrfax
独自のメールサーバー経由でこれを送信する場合は、独自のドメインからの電子メールアドレスを含む「送信者」ヘッダーを追加する必要があります。 FROMアドレスはGmailアドレスですが、独自のサーバーから送信されていないため、Gmailはおそらく電子メールをスパムします。
電子メールで通常行うことは、最終宛先としてスパムフォルダを防止するために、Gmailをsmtpサーバーとして使用するか、または Mandrill をsmtpサーバーとして使用することです。
私が観察したことの1つは、提供しているメールアドレスがドメインの有効なメールアドレスではない可能性が高いことです。 [email protected]など。メールはGoogleドメインに存在する必要があります。自分自身を理解する前に多くの問題がありました...