我将此电子邮件配置通过我们的Google Apps企业帐户通过SMTP发送。
class EmailConfig {
public $default = array(
'host' => 'ssl://smtp.gmail.com',
'port' => 465,
'username' => 'myemail@mygmaildomain.com',
'password' => 'secret_password',
'transport' => 'Smtp'
);
}
当我发送电子邮件时:
$email = new CakeEmail('default');
$email->from('no-reply@mygmaildomain.com', 'My App');
$email->to(array('recipient@mygmaildomain.com' => 'Recipient Name'));
$email->subject('Test Email');
$email->emailFormat('html');
$email->send();
电子邮件已发送,但它会发送来自:myemail@mygmaildomain.com
而不是no-reply@mygmaildomain.com
的邮件。
我需要使用其他设置还是不可能?
编辑:
我已尝试过以下评论中提供的解决方案,但仍然没有让电子邮件来自no-reply
答案 0 :(得分:1)
使用Google的SMTP服务器时,会忽略$email->from('no-reply@mygmaildomain.com', 'My App'); //Ignored by Gmail
标头。
AmazonS3ClientBuilder.defaultClient();
来自DigitalOcean的教程How to use Google's SMTP server:
注意: Google会自动将您通过其SMTP服务器发送的任何电子邮件的发件人重新设置为Gmail或Google Apps电子邮件帐户设置中的默认发送邮件地址作为电子邮件地址。您需要了解这种细微差别,因为它会影响您的电子邮件的呈现,从收件人的角度来看,它也可能会影响某些程序的回复设置。
要实现此目的,您必须在Google Apps控制台中修改邮件设置:
解决方法:在您的Google电子邮件设置中,转到帐户标签/部分,然后制作“默认”除Gmail / Google Apps帐户以外的帐户。这将导致Google的SMTP服务器重写“发件人”字段,其中包含您启用的任何地址作为默认发送邮件地址。