1

ユーザーにメールを送信するphpアプリがあります。ほとんどのユーザーにとって、これで問題ありません。

しかし、メール クライアントに Lotus Notes を使用しているユーザーは、私がメッセージに追加したいくつかのヘッダーで始まるように見えるメールを受信して​​います。

行末を変更しようとしましたが、役に立ちませんでした。

メールを送信するコードは次のとおりです。(ループ内 - $row はデータベースからのものです)。

    $to = $row['email'];
    $subject = $language['summary'];
    $headers = "From: $from\n".
        "Reply-To: $from"."\n" ;
    if (!mail($to, $subject, $body,$headers,"-f$from")) {
        echo("<p>Message delivery failed to $to</p>");
    }

Lotus Notes は X-Mailer:PHP/5.3.2-1ubuntu4.7 をコンテンツの最初の行として扱います!

その理由と、メールを正しく機能するように変更する方法を知っている人はいますか?

編集 - 8 月 1 日 - 行末として \r\n と PHP_EOL を試しました。メモでは何も機能しません。Everythgin は、テスト済みの他のすべての MTA で動作します。

4

1 に答える 1

0

ヘッダーに一貫性のない改行を使用しています。両方に使用\r\n:

$headers = "From: $from\n".
    "Reply-To: $from"."\r\n" ;

// Should be
$headers = "From: $from\r\n".
    "Reply-To: $from\r\n" ;

PHP_EOLSMTP トランザクションを処理する MTA によっては、上記で失敗した場合、改行に定数を使用した方がうまくいく場合があります。

$headers = "From: $from" . PHP_EOL .
    "Reply-To: $from" . PHP_EOL ;
于 2011-07-17T20:08:14.717 に答える