2016-07-20 2 views
2

私のメールにはfrom:ヘッダーを変更して送信元の企業メール標準と一致するように送信しようとしています。しかし、これには、システムの部門を中括弧で囲むことが含まれます。PHPメール()は、ヘッダから角括弧を追加します

電子メールはヘッダーとともに正常に送信されますが、ヘッダー内の部門テキストと角括弧は無視されます。

- このヘッダーは無視されることなく出力できますか?

$emailBody = "content test"; 
$subject = 'subject test'; 
$message = "<html><body>".$emailBody."</body></html>"; 
$headers = 'From: System (department) <[email protected]>' . "\r\n"; 
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 

$sendmail = mail('[email protected]',$subject,$message,$headers); 

出力:

From: System 

所望の出力:

From: System (department) 
+1

「mail()」は使用しないでください。それはミッキーマウスのゴミで​​す。 phpmailerまたはswiftmailerを使用してください。両方とも、あなたが望む 'from 'を使ってMIMEメールを送信するのは簡単です。 –

+0

「phpmailer」でメールを送信する際に問題が発生しました。 cpanelやテスト用のGmailでホストされているメールサーバーを見つけることはできないようだ。組み込みの 'mail()'は完全に接続します。特に 'mail()'がゴミになるのは何ですか? – Orbitall

+1

rough analogy:mail()は弾丸で、錆びた爪とハンマーで火をつけ、phpmailer/swiftmailerは完全な銃です。メールに悩まされ、セキュリティ上の問題(ヘッダインジェクション)を引き起こしたり、悪いMIMEメールを作成したりするのはとても簡単です。 –

答えて

0

あなたは<[email protected]>前にスペース()を持っている場合は、ユーザーの名前のための二重引用符(")を使用する必要があります。

$headers = 'From: "System (department)" <[email protected]>' . "\r\n";

最初のメールは、二重引用符と二なしで、あなたのコードは、二重引用符で、私のです。

関連する問題