質問
次の「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)){
メールサーバーからエラーを受け取りました。 &quot; Mail from error:Syntax error&quot;と表示されます。
ご協力いただきありがとうございます。
更新
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
問題は解決しました。 PHP 5を使用してWindowsマシンでこれを実行しています。正解が選択され、コメントが述べられているように。一部のメールサーバーでは、以前の内容を理解できません。しかし、私のために働いたのはこれでした:
$headers .= 'From: mail@mailmaster.com' . "\r\n";
解決
エラーメッセージのGoogle検索は、一部のSMTPサーバーが From
ヘッダーの構文を解析できないことを示唆しています。次の構文を試して、この可能性を排除できますか?
From: mail@mailmaster.com
他のヒント
本文が空でない限り、ヘッダーを終了するために追加のCRLFが必要になる場合があります。 APIを知らないと、これ以上言うことはできません。
これが役立つかどうかはわかりませんが、出力PythonのPythonアプリでの純粋なテキストの出力は次のとおりです。
Content-Type: multipart/alternative; boundary="10.254.26.130.1.1364.1241389770.060.1" From: User1 <user1@domain1.com> To: User2 <user2@domain1.com>,User3 <user3@domain.com> Subject: Actual subject MIME-Version: 1.0 --10.254.26.130.1.1364.1241389770.060.1 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable actual text content starting here...
繰り返しますが、すべてのコンテンツ/ヘッダーを知ることは難しいですが、a)コンテンツの前のCRLFを省略したか、b)CRLFが欠落している以前のヘッダーの1つが推測されます。
それがあなたを非常に間違った方向に連れて行ってしまった場合、おAびします。 :)
From: "User1" <user1@domain1.com>
Fromヘッダーでは、名前部分に引用符が必要です。
&quot; $ userEmail&quot;を設定した場合あなたのフォームで変数、あなたはそれらからそれと返信を持っていることができます。 $ email_idは送信先のメールです。
$to=$email_id;
$headers = "From: " . strip_tags($userEmail) . "\r\n";
$headers .= "Reply-To: ". strip_tags($userEmail) . "\r\n";