使用cakePHP版本2.3.8,cakephp如何更改X-Mailer
我試圖將X-Mailer:CakePHP電子郵件轉換爲X-Mailer:PHP郵件。 我已經在控制器和/app/Config/email.php中的'默認'設置中嘗試過。
'X-Mailer' => 'PHP mail',
但無法讓它改變,真令人沮喪。
使用cakePHP版本2.3.8,cakephp如何更改X-Mailer
我試圖將X-Mailer:CakePHP電子郵件轉換爲X-Mailer:PHP郵件。 我已經在控制器和/app/Config/email.php中的'默認'設置中嘗試過。
'X-Mailer' => 'PHP mail',
但無法讓它改變,真令人沮喪。
您需要使用addHeaders()在發送電子郵件之前對其進行更改。 像這裏所做的那樣,例如: https://github.com/dereuromark/tools/blob/master/Lib/EmailLib.php#L638 在這種情況下 - 擴展核心類 - 可以使用Configure通過配置自動填充X-Mailer。但是,您也可以爲每個電子郵件發送功能進行內聯。
基本上,你的CakeEmail對象:
$CakeEmail = new CakeEmail();
$CakeEmail->addHeaders(array('X-Mailer' => 'My custom X-Mailer'));
如果設置手動蛋糕不會增加他的默認值 'CakePHP的電子郵件'。
的CakePHP 2, 而不是從一個控制器每次都將其設置爲通過@馬克建議, 可以在EmailConfig類設置,位於配置/ email.php:
public $default = array(
'transport' => '...',
'from' => '...',
'emailFormat' => 'both',
'charset' => 'utf-8',
'headerCharset' => 'utf-8',
'headers'=>array('X-Mailer'=>'Your App Name'),
);
將發送電子郵件與這些標頭:
To: .....
X-Mailer: Your App Name
Date: ....
謝謝,我發現我也可以這樣做: - > setHeaders(array('X-Mailer'=>'PHP郵件',在控制器中可能不那麼優雅,但我希望它仍然是正確的cakyway :-) – Nick
setHeade rs()當然也適用 - 只要你之前沒有設置任何其他頭文件。否則它們將被覆蓋。 – mark
非常感謝Mark,現在我只剩下一些東西可以排序了,這就是我的電子郵件地址驗證和數字,我已經從您的網站使用編碼作爲示例,但驗證是一個問題,與數字相同,它也接受AAA。 – Nick