您的位置:首页 > 编程语言 > PHP开发

使用yii框架实现邮件发送

2016-11-14 19:49 543 查看
yii2中官方为了解决邮件发送问题,提供了swiftMailer扩展。

我们先来了解下什么是swiftMailer。

Swift是一个完全采用面向对象编码用于发送e-mail的PHP函数库。Swift不依赖于PHP的mail()函数,

因为用它发送多封邮件时会占用较高的服务器资源。Swift通过直接连到SMTP服务器或MTA能够更快,更高效地发送邮件。

官方文档上做出了简单的使用说明。我们也来参考下。

1.首先配置

在common/config/main-local.php 中配置

[html]
view plain
copy

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'=>'礼']   
            ],   
        ],   
    ],   
];  

2.控制器中
方法中调用:

[html]
view plain
copy

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

就这样就可以发送邮件了!注:如果一直报错,排除掉密码错误或者代码错误外,还有可能是网速原因!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  yii 邮件