ホームページ >バックエンド開発 >PHPチュートリアル >PHP の「mail()」関数のメールがスパム フォルダーに入ってしまうのはなぜですか?

PHP の「mail()」関数のメールがスパム フォルダーに入ってしまうのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-06 10:04:12408ブラウズ

Why are my PHP `mail()` function emails ending up in the spam folder?

PHP で電子メールをスパムに送信するメール機能のトラブルシューティング

PHP の mail() 関数経由で電子メールを送信すると、頻繁にスパムに分類されてしまうフォルダ。この問題を解決するには、根本的な問題を理解する必要があります。

この問題を解決する鍵は、mail() 関数が適切に構成された SMTP サーバーを利用していないという事実にあります。例:

$ticketDetail is an array containing pertinent information for transmission.
sendOwnershipEmail('[email protected]', $ticketDetail);

function sendOwnershipEmail($email, $ticketDetail) {
    $param = new stdClass();
    
    $param->content = &quot;<div>
        <div><b>&quot;.$ticketDetail[0]['ticket_number'].&quot;</b></div><br/>
        <div><img src='&quot;.$ticketDetail[0]['image_path'].&quot;'/></div><br/>
        <div>Ticket with ticket number &quot;.$ticketDetail[0]['ticket_number'].&quot; has been requested for tranfer from <div/>
        <div>&quot;.$ticketDetail[0]['oldDepartment'].&quot; to &quot;.$ticketDetail[0]['newDepartment'].&quot; Department <div/>
      </div>&quot;;
    
    $param->sendTo = $email;
    $param->subject = &quot;Request for Department transfer&quot;;
    
    sendMailFunction($param);
}

function sendMailFunction($param) {
        $to = $param->sendTo;
        $subject = $param->subject;
        $headers = 'MIME-Version: 1.0' . &quot;\r\n&quot;;
        $headers .= 'Content-type: text/html; charset=iso-8859-1' . &quot;\r\n&quot;;
        $headers .= 'From: [email&#160;protected]' . &quot;\r\n&quot;;
        $message = &quot;<html><head>&quot; .
               &quot;<meta http-equiv='Content-Language' content='en-us'>&quot; .
               &quot;<meta http-equiv='Content-Type' content='text/html; charset=windows-1252'>&quot; .
               &quot;</head><body>&quot; .$param->content.       
               &quot;<br><br></body></html>&quot;;
    mail($to, $subject, $message, $headers);
}

解決策

SMTP サーバー: PHP の mail() 関数はサーバーに依存して電子メールを送信しますが、サーバーが適切に構成されていない可能性があります。 PHPMailer を使用し、専用の SMTP サーバーと組み合わせて SMTP 認証を使用するように設定すると、この問題が軽減されます。

PHPMailer ライブラリ: PHPMailer ライブラリは、電子メールの送信専用に設計されたオープンソースの PHP ライブラリです。 SMTP 認証の処理を含むさまざまな機能を提供します。 PHPMailer をコードと統合すると、専用の SMTP サーバーを構成できるようになり、問題が解決されます。

以上がPHP の「mail()」関数のメールがスパム フォルダーに入ってしまうのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。