Yii2 邮件发送服务

前提条件: 安装 SwiftMailer Extension for Yii 2 扩展:

composer require --prefer-dist yiisoft/yii2-swiftmailer


1. 必须保证所用邮箱的"SMTP服务"已开启

2. 在"main-local.php"中配置

'mailer' => [
    'class' => 'yii\swiftmailer\Mailer',
    'useFileTransport' => false,
    'transport' => [
        'class' => 'Swift_SmtpTransport', 
        'host' => 'smtp.qq.com',               // smtp地址
        'username' => '841325550@qq.com',      // 帐号
        'password' =>  '******',               // 密码或授权码
        'port' => '465',                       // 端口
        'encryption' => 'ssl',                 // ssl
    ],
    'messageConfig' => [
        'charset' => 'UTF-8',
        'from' => [
            '841398550@qq.com' => '墨轩',
        ],
    ],
],

3. 在控制器中发送邮件

$mail = Yii::$app->mailer->compose();
$mail->setTo('110484559@qq.com');
$mail->setSubject('这是邮件的标题');
$mail->setHtmlBody('这是我用来<b style="color:red;">测试邮件</b>发送服务是否成功的');
if($mail->send()){
    echo '发送成功!';
}else{
    echo '发送失败!';
}

方法属性(类参考: yii\mail\MessageInterface):

setFrom()       //发件方
setTo()         //收件方邮箱
setSubject()    //邮件的标题
setTextBody()   //邮件的纯文本内容
setHtmlBody()   //邮件的 HTML 内容
send()          //发送邮件