小猫爱吃大鱼 2017-08-03 11:34:49 9347次浏览 1条评论 7 2 0
  1. 主要使用swiftmailer,但由于Yii2.0会自带所以不用安装,只需配置下就可以了
  2. 接下来就是配置了
    在components中进行如下配置,其中的SMTP密码需要在你自己的邮箱里去获取
     'components' => [
    //邮箱发送配置
    'mailer' => [ 
             'class' => 'yii\swiftmailer\Mailer', 
             'viewPath' => '@common/mail', 
             'useFileTransport' => false, 
             'transport' => [ 
                 'class' => 'Swift_SmtpTransport', 
                 'host' => 'smtp.qq.com', 
                 'username' => '1057931286@qq.com',//发送者邮箱地址
                 'password' => 'tqxbygmfhpimbefa', //SMTP密码
                 'port' => '25', 
                 'encryption' => 'tls', 
             ], 
             'messageConfig'=>[ 
                 'charset'=>'UTF-8', 
                 'from'=>['1057931286@qq.com'=>'system'] 
             ], 
         ],
         /.....
     ]
    

    SMTP密码的获取
    1.png

2.png

3.png

最后在控制器中发送邮件了

	 /**
     * 发送邮件
     * 
     * @param string $from      发送邮箱
     * @param string $to        收件邮箱
     * @param string $subject   主题
     * @param string $body      邮件内容,默认使用html
     * 
     * @return bool
     */
    public function actionIndex()
    {  
   	    $from = Yii::$app->params['mail'];
   	    $to = "1479306585@qq.com";
   	    $subject = "早上好啊!";
   	    $body = "You Are A Surper Man!";
        $mailer = Yii::$app->mailer->compose();
        $mailer->setFrom($from);
        $mailer->setTo($to);
        $mailer->setSubject($subject);
        $mailer->setHtmlBody($body);
        $status = $mailer->send();
        echo $status;
    }
	

如果输出1就代表发送成功了

第一次发布这个,排版有点问题,有不好的地方请大家多多指教,谢谢!

觉得很赞
  • 评论于 2017-09-03 13:39 举报

    我用qq可以发邮件成功,为什么用163的时候,总是报错:Expected response code 250 but got code "554",with message "554 DT:SPM
    这个错误网易的提示是说是:554 DT:SPM 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃圾邮件;
    楼主遇到过这样的情况么?

    2 条回复
    评论于 2017-09-15 09:05 回复

    是不是发点多了,直接被判定垃圾邮件了

    评论于 2017-09-15 20:13 回复

    不是吧,换了好多内容都不行,跟内容貌似没关系。

您需要登录后才可以评论。登录 | 立即注册