从 YII 发送邮件时,对于 smtp 协议,出现以下错误:
Swift_TransportException: Expected response code 250 but got code "530", with message "530 5.7.57 SMTP; Client was not authenticated to send anonymous mail during MAIL FROM [BM1PR01CA0097.INDPRD01.PROD.OUTLOOK.COM] " in /var/www/html/vvf.kritva.in/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/AbstractSmtpTransport.php:406
即使端口更改为 587,也会给出相同的错误。
'transportType' => 'smtp',
'transportOptions' => array(
'host'=>'smtp.office365.com',
'username'=>'[email protected]',
'password'=>'password',
'port'=>'587',
// 'encryption' => 'tls'
),
控制器中的代码如下:
$message = new YiiMailMessage;
$message->setBody('Message content here with HTML', 'text/html');
$message->subject = 'xyz';
$message->addTo('[email protected]');
$message->from = '[email protected]';
Yii::app()->mail->send($message);
请帮助纠正此问题。
提前致谢。
所以主要问题是这一行:
$message->from = '[email protected]';
您必须将此电子邮件地址更改为与
office365.com
中注册的电子邮件地址完全相同。如果您创建了名为 [email protected]
的电子邮件,那么在发送之前您必须将其设置为 from()
。
我也遇到了这个问题,我可以从一个帐户发送,但不能从另一个帐户发送,很多时候这是因为您尝试发送的帐户位于受保护的组中,例如管理员或打印机。