0

一部のアドレスにメールが届かない、またはより具体的には一部のドメイン(gmx.com など)にメールが届かないという問題が発生しています。ただし、メールは一部のドメイン (spray.se や gmail.com など) では正常に受信されます。

確認したところ、サーバー IP はすべて問題ないようです。どこにもブロックが見つかりません。

コードに重大な問題はありますか?

$mail_body = "Välkommen till ***!\n\nOm du ej registrerat dig på *** ber vi dig bortse från\ndetta mail.\n\nDin aktiveringskod är:\n" . $activation . "\n\nMvh\nVi på ***"; // Mail body
$subject = "Din aktiveringskod";
$header = "From: *** <no-reply@***.se>\r\n";

ini_set('sendmail_from', 'no-reply@***.se'); // Snabbfix på problem med IIS (5+?)

if(!mail($recipient, $subject, $mail_body, $header)) die ("mail error");

メールが届いていればエラーなし!

全体を utf8-encode してみましたが、何も変わりません。

よろしく!

4

3 に答える 3

0

問題はトピックとはまったく関係がありませんでした。これを引き起こしたのは DNS エラーでした。

于 2012-12-05T09:19:41.747 に答える
0

ヘッダーは次のようになります

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers.='From: *** <no-reply@***.se>\r\n';
于 2012-12-03T13:03:02.963 に答える
0

あなたのメールが一部のサーバーによってスパムとして識別されているようです。これは、メールがスパムボックスに入っているか、まとめて配信されていないことを意味する可能性があります (より冷酷な受信者では)。それとも、そもそも送信されていることに絶対に確信がありますか? 可能であれば、ログを確認してください。

とにかく、メールがスパムとして識別される可能性を減らすためにできることはいくつかあります。

  • ヘッダーを完全に具体化します。例:

    $headers .= "Reply-To: The Sender <sender@sender.com>\r\n";
    $headers .= "Return-Path: The Sender <sender@sender.com>\r\n";
    $headers .= "From: The Sender <senter@sender.com>\r\n";
    $headers .= "Organization: Sender Organization\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/plain; charset=utf-8\r\n";
    etc...
    
  • メールのメッセージ送信者ドメインとサーバー ドメインが一致していることを確認してください

  • content type 属性を正しく使用する

サーバーがブラックリストに登録されていないことを再確認することもできますが、とにかくこれを行ったようです.

また、PHP メール機能を使用しないことをお勧めします。swift mailer または PHPMailer を試すか、探し回ってニーズに合ったものを見つけてください。

于 2012-12-03T13:03:21.257 に答える