使用 cakePHP 2.3.8 版,
我正在尝试将 X-Mailer: CakePHP 电子邮件更改为 X-Mailer: PHP 邮件。我已经在控制器和我的“默认”设置中的 /app/Config/email.php 中尝试过这个。
'X-Mailer' => 'PHP mail',
但是改不了,真的很郁闷。
使用 cakePHP 2.3.8 版,
我正在尝试将 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'));
如果手动设置,Cake 将不会添加他的默认值 'CakePHP Email'。
CakePHP 2,您可以在位于 Config/email.php 中的 EmailConfig 类中进行设置,而不是像 @mark 建议的那样每次都从控制器中设置:
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: ....