yii2发送邮件

新手入门 2017-12-01 浏览(1045 评论(0

1、利用composer进行安装

php composer.phar require --prefer-dist yiisoft/yii2-swiftmailer

2、配置

return [ 
    //.... 
    'components' => [ 
        'mailer' => [ 
            'class' => 'yii\swiftmailer\Mailer', 
            'viewPath' => '@common/mail', 
            // send all mails to a file by default. You have to set 
            // 'useFileTransport' to false and configure a transport 
            // for the mailer to send real emails. 
            'useFileTransport' => false, 
            'transport' => [ 
                'class' => 'Swift_SmtpTransport', 
                'host' => 'smtp.163.com', 
                'username' => '***@163.com', 
                'password' => '******', 
                'port' => '25', 
                'encryption' => 'tls', 
            ], 
            'messageConfig'=>[ 
                'charset'=>'UTF-8', 
                'from'=>['***@163.com'=>'白狼栈'] 
            ], 
        ], 
    ], 
];

3、简单使用

$mail= Yii::$app->mailer->compose(); 
$mail->setTo('***@qq.com'); //要发送给那个人的邮箱 
$mail->setSubject("邮件主题"); //邮件主题 
$mail->setTextBody('测试text'); //发布纯文字文本 
$mail->setHtmlBody("测试html text"); //发送的消息内容 
var_dump($mail->send()); 

4、批量发送邮件

$users = ['***@qq.com', '******@qq.com']; 
$messages = []; 
foreach ($users as $user) {
    $messages[] = Yii::$app->mailer->compose() 
            ->setTo($user) 
            ->setSubject('测试主题') 
            ->setHtmlBody('测试内容'); 
} 
Yii::$app->mailer->sendMultiple($messages);

5、定义邮件模板

Yii::$app->mailer->compose('test', ['title' => '测试']) 
    ->setTo('422744746@qq.com') 
    ->setSubject('Message subject') 
    ->send(); 

打赏

如果此文对你有所帮助,请随意打赏鼓励作者^_^

黄信强博客