0

次の「From」ヘッダーは正しくありませんか?

    // To send HTML mail, the Content-type header must be set
    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    // Additional headers
    $headers .= 'From: Mail Master <mail@mailmaster.com>' . "\r\n";
if(sendEmailNow($email, $subject, $body, $headers)){

メールサーバーからエラーが発生します。「エラーからのメール:構文エラー」と表示されます。

助けてくれてありがとう。

アップデート

SendEmailNow関数を以下に削除しましたが、同じエラーが発生します。

//send an email
function sendEmailNow($email, $subject, $body, $headers){

    if (mail($email, $subject, $body, $headers)) {
      ##check email
      ##code to say email sent - compare with the number registered
      return true;
     }

     else {
      ##code to report an error 
      return false;
     }

 }

アップデート2

問題が解決しました。私はこれをPHP5を使用するWindowsマシンで実行しています。選択した正解とコメントのように。一部のメールサーバーは、私が以前持っていたものを理解するのに苦労しています。しかし、私のために働いたのはこれでした:

$headers .= 'From: mail@mailmaster.com' . "\r\n";
4

5 に答える 5

4

Fromエラー メッセージを Google で検索すると、一部の SMTP サーバーがヘッダーの構文を解析できないことが示唆されます。この可能性を排除するために、次の構文を試すことができますか?

From: mail@mailmaster.com
于 2009-05-03T23:58:13.680 に答える
1

本文が空でない限り、ヘッダーを終了するために追加のCRLFが必要になる場合があります。APIを知らなければ、これ以上言うことはできません。

于 2009-05-03T23:30:24.900 に答える
0
From: "User1" <user1@domain1.com>

From ヘッダーには、名前部分の引用符が必要です。

于 2009-05-04T12:11:39.657 に答える
0

これが役立つかどうかはわかりませんが、ピュアテキストの Python アプリでの出力ヘッダーは次のようになります。

コンテントタイプ: マルチパート/オルタナティブ;
    境界="10.254.26.130.1.1364.1241389770.060.1"
差出人: User1 <user1@domain1.com>
宛先: User2 <user2@domain1.com>,User3 <user3@domain.com>
件名: 実際の件名
MIME バージョン: 1.0


--10.254.26.130.1.1364.1241389770.060.1
コンテンツ タイプ: テキスト/プレーン。
    charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

ここから始まる実際のテキスト コンテンツ...

繰り返しますが、すべてのコンテンツ/ヘッダーを知らずに言うのは難しいですが、a) コンテンツの前の末尾の CRLF を省略したか、b) 以前のヘッダーの 1 つに CRLF がありません。

それが非常に間違った方向にあなたを連れて行くなら、お詫びします。:)

于 2009-05-04T00:12:41.523 に答える