2

何らかの理由で、yahoo.com で次のコードのメールを受信できますが、hotmail.com では受信できません?? 誰か説明してくれませんか?

$usr = "bob@hotmail.com";
$subject = "Test Email";
$from = "noreply@test.com";
ini_set("sendmail_from", $usr);
$message = "<html><body style=\"font-family: Tahoma, Verdana, Arial; font-size: 12px; color: #444;\">
        <h1 style=\"font-family: Tahoma, Verdana, Arial; font-size: 16px; color: #111;\">This is an email</h1>
        <span style=\"background: #CCC; display: block; padding: 20px;\"><br><br>
        <b>This is a test.</b></body></html>";
$headers  = "MIME-Version: 1.0" . PHP_EOL;
$headers .= "Content-Type: text/html; charset=ISO-8859-1" . PHP_EOL;
$headers .= "From: Test.com<$from>" . PHP_EOL;
mail($usr, $subject, $message, $headers);
echo "<b>to:</b>$usr<br>";
echo "<b>subject:</b>$subject<br>";
echo "<b>msg:</b>$message<br>";
echo "<b>headrs:</b>$headers<br>";

何度も試しましたが、何もありません。しかし、yahoo.com ではすぐに機能しました。

注: ジャンク、スパムなどの受信はありません。そのアカウントにリンクされているiPhoneでもメールが届きません。:(

4

3 に答える 3

0

これは正しくない可能性がありますが、すべてのメールシステム(google、yahooなど)がフォントをサポートしているわけではありません。おそらく、Hotmailは、他の問題からフォントをブロックしようとしています。Hotmailは、スパムでフィルタリングされたものをアップグレードしました。ソフトウェアからの一部の電子メールも送信されません。

于 2012-11-10T18:13:37.100 に答える
0

おそらく、満足のいくように渡されていないヘッダーが原因で、スパムフィルターが機能している可能性があります。

メーラー スクリプトの独自の実装を作成する代わりに、 PHPMailerなどのテスト済みの既存のもののいずれかを使用できます。

于 2012-11-10T18:07:25.003 に答える
0

開示: 私は AlphaMail の背後にいる開発者の 1 人です

ここで何が問題なのかを正確に言うのは簡単ではありません。メールがスパムになってしまうのでしょうか、それとも Hotmail がメッセージを拒否しているのでしょうか? メッセージが拒否されている場合は、何らかの理由で Hotmail がドメインをブロックしている可能性があります。共有ホスト上にある場合は、スパムが原因である可能性があります。正確な理由 (スパム ドメイン、SPF の欠落、DKIM の欠落) を見つけたい場合は、サーバーから手動で Hotmail に接続して、手動でメールを送信してみてください。こうすれば、後から推測する代わりにエラーを手元に置くことができます。

これを行いたくなく、単に「動作」させたい場合は、次のようなトランザクション メール サービスを使用することをお勧めします。

なんで?

  • メール配信についてそれほど考える必要はありません。
  • 統計学。合計送信数、クリック数、開封数、バウンス数を追跡しましょう。
  • 多くの場合、SMTP ではなく Web サービス ベースです。つまり扱いやすい。
  • よりクリーンなコード (少なくとも、プレゼンテーションからデータを分離する AlphaMail を使用している場合)。
  • スケーラブルで将来性のあるもの。

AlphaMail を使用する場合は、AlphaMail PHP-clientを使用できます。

例:

include_once("comfirm.alphamail.client/emailservice.class.php");

$email_service = AlphaMailEmailService::create()
    ->setServiceUrl("http://api.amail.io/v1")
    ->setApiToken("YOUR-ACCOUNT-API-TOKEN-HERE");

$person = new stdClass();
$person->userId = "1234";
$person->firstName = "John";
$person->lastName = "Doe";
$person->dateOfBirth = 1975;

$response = $email_service->queue(EmailMessagePayload::create()
    ->setProjectId(12345) // Your AlphaMail project (determines template, options, etc)
    ->setSender(new EmailContact("Sender Company Name", "from@example.com"))
    ->setReceiver(new EmailContact("Joe Doe", "to@example.org"))
    ->setBodyObject($person) // Any serializable object
);

AlphaMail のもう 1 つの利点は、テンプレートをAlphaMail ダッシュボードで直接編集できることと、Comlang テンプレート言語を使用して電子メールをフォーマットできることです。

<html>
    <body>
        <b>Name:</b> <# payload.firstName " " payload.lastName #><br>
        <b>Date of Birth:</b> <# payload.dateOfBirth #><br>

        <# if (payload.userId != null) { #>
            <a href="/sign-up">Sign Up Free!</a>
        <# } else { #>
            <a href="/login?id=<# payload.userId #>">Sign In</a>
        <# } #>
    </body>
</html>
于 2012-11-11T13:11:31.703 に答える