虽然通过Postfix和通过亚马逊SES发送邮件,它抛出我,
554邮件遭拒:电子邮件地址进行验证。
错误消息,并且我有验证了我的电子邮件地址中和亚马逊SES是在生产环境,所以没有问题存在。这是亚马逊的文件说:
电子邮件地址进行验证 - 您的帐户是在沙盘和收件人的电子邮件地址的一个 尚未得到验证。这可能是 适用于“发件人”,“返回路径”或“发件人”地址。
如果你还没有要求生产访问亚马逊SES,必须 验证每个收件人的电子邮件地址,除了通过亚马逊SES邮箱模拟器提供的收件人 。您还必须验证您自己的“发件人”地址 。有关详细信息,请参阅验证电子邮件 Amazon SES中的地址和域以及测试Amazon SES电子邮件 正在发送。
SO,寻找解决方案后,我发现了一个BLOG POST解释这个问题,它说,在电子邮件中添加-f
标志将解决这个问题的修复,
<?php
$to = '[email protected]';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: [email protected]' . "\r\n" .
'Return-Path: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n";
mail($to, $subject, $message, $headers, '-f [email protected]');
?>
里面居然没有解决的问题,但我无法将其设置给YiiMailer。现在我将这个标志直接添加到php.ini中,作为,
sendmail_path to usr/sbin/sendmail -t -i -f "[email protected]"
它工作正常。但我不想这样做。
我做了什么
是,创建YiiMailer设置为,
$mail = new YiiMailer('customerEmail', $data);
Common::setup_smtp($mail);
$mail->setLayout('mail');
$mail->render();
$mail->From = Yii::app()->params['adminEmail'];
$mail->FromName = 'PENDING NOTIFICATION';
$mail->Subject = $data['subject'];
$mail->AddAddress($data['sendTo']);
以及添加我都试过了标志,
添加的标志本身发件人地址:结果相同 无效邮件
$mail->From= "-f [email protected]"
将值为“-f exaple @ example”的额外参数添加为“Form”。COM”:结果中重复的申请表地址(这是显而易见的:d)
问:
- 如何使用YiiMailer我设置头标志
- 这是否与后缀的配置错误与亚马逊SES?但是,相同的设置对Java应用程序工作正常
PS
- 代码工作的sendmail和swiftmail没有亚马逊SES没有 需要头标志的。
谢谢你,伙计!这是一种拯救生命的方式。再次感谢!! – Runcorn 2014-12-09 05:29:46