使用yii框架实现邮件发送

yii2中官方为了解决邮件发送问题,提供了swiftMailer扩展。

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

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

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

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

1.首先配置

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

  1. return [   
  2.     //....   
  3.     'components' => [   
  4.         'mailer' => [   
  5.             'class' => 'yii\swiftmailer\Mailer',   
  6.             'viewPath' => '@common/mail',   
  7.             // send all mails to a file by default. You have to set   
  8.             // 'useFileTransport' to false and configure a transport   
  9.             // for the mailer to send real emails.   
  10.             'useFileTransport' => false,   
  11.             'transport' => [   
  12.                 'class' => 'Swift_SmtpTransport',   
  13.                 'host' => 'smtp.163.com',   
  14.                 'username' => '***@163.com',   
  15.                 'password' => '******',   
  16.                 'port' => '25',   
  17.                 'encryption' => 'tls',   
  18.             ],   
  19.             'messageConfig'=>[   
  20.                 'charset'=>'UTF-8',   
  21.                 'from'=>['***@163.com'=>'礼']   
  22.             ],   
  23.         ],   
  24.     ],   
  25. ];  

2.控制器中

方法中调用:

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

就这样就可以发送邮件了!注:如果一直报错,排除掉密码错误或者代码错误外,还有可能是网速原因!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值