2016-07-20 41 views
2

我試圖發送改變我的電子郵件,以配合我的首創之內的企業郵件標準from:報頭附加的括號內。但是這涉及將系統的部門置於大括號內。PHP郵件()從頭部

電子郵件可以成功地與頭髮送,但忽略了報頭中的部門文字和支架。

-Is那裏我可以輸出這個頭沒有brackers被忽略的方法嗎?

$emailBody = "content test"; 
$subject = 'subject test'; 
$message = "<html><body>".$emailBody."</body></html>"; 
$headers = 'From: System (department) <[email protected].org>' . "\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

粗略的比喻:mail()是你用生鏽的釘子和錘子發射的子彈,而phpmailer/swiftmailer是完整的槍支。很容易搞砸郵件並導致安全問題(標頭注入)或構建一個壞的電子郵件。 –

回答

0

您需要<[email protected]>之前使用的用戶名雙引號(")如果你有空間()。

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

第一封電子郵件是你的代碼沒有雙引號和第二個是我的,用雙引號。