毎日メールを送信するアプリケーションがあります。SwiftMailer PHP ライブラリと SMTP アカウントを使用しています。
以下のプロバイダにテスト メールを送信して、メールが受信トレイまたはスパムに送られるかどうかを確認しました。
- GMail (OK - Inbox)
- Yahoo (OK - Inbox)
- AOL (OK - Inbox)
- Outlook (FAIL - Junk)
今私が使用するコード:
// init smtp transport
if ($smtp_ssl !== false)
{
$transport = Swift_SmtpTransport::newInstance($smtp_host, $smtp_port, strtolower($smtp_ssl));
}
else
{
$transport = Swift_SmtpTransport::newInstance($smtp_host, $smtp_port);
}
// using login/password
if($smtp_user !== false && $smtp_pass !== false){
$transport->setUsername($smtp_user);
$transport->setPassword($smtp_pass);
}
$mailer = Swift_Mailer::newInstance($transport);
$status = $mailer->send($message);
Outlook がこれをスパムと見なす理由がわかりません。
ここで気付いたのは、SMTP アカウントがtest@myserverdomain.comのようなサーバーからのものである場合、スパムになりますが、SMTP アカウントをtest@gmail.comのようなものに変更すると、受信トレイに送られます。
hotmail がスパムとして処理しているサーバー ドメインに何か問題がある可能性はありますか?
また、SMTP アカウントがtest@gmail.comの場合、 AOL はこの SMTP アカウントから送信された電子メールをスパムとして扱います。