yii2邮件发送被拒绝和无法设置发件人问题处理

2021-03-20 10:06:10

1、被拒绝问题原因:发送邮件的时候,如果是群发,同一时间段内,同一ip,发送大量的重复邮件,是会被对方的邮件服务器认为是垃圾邮件而屏蔽的。会被系统退信的。这点应该注意。所以一定要有发送间隔,间隔要长一点。


2、使用yii发送邮件,不能设置发件人

比如使用pgres2020@163.com发送邮件。setFrom(‘pgres2020@163.com’)。发送人就是pgres2020,不能设置成“编程资料网”,不知道这个应该如何处理。

1616205957.png


终于找到解决方案了,在stackoverflow上找到答案了,stackoverflow太神了。

设置from的时候,传数组参数

->setFrom([’pgres2020@163.com’=>‘编程资料’])

完整代码如下

\(mailer = \Yii::\)app->mailer->compose();
\(mailer->setFrom([\)from=>\(siteTitle]);
\)mailer->setTo(\(to);
\)mailer->setSubject(\(subject);
\)mailer->setHtmlBody(\(body);
\)mailer->send();

1616207586.png

完美解决,打完收工。