YII2.0使用阿里云邮件推送实现邮件发送

从YII中文网小马哥发布的教程http://www.yiichina.com/tutorial/320获取到163邮箱的配置方法

1.在配置文件main-local.php components=>[]里面配置

'mailer' => [  
   'class' => 'yii\swiftmailer\Mailer',  
   'useFileTransport' =>false,//这句一定有,false发送邮件,true只是生成邮件在runtime文件夹下,不发邮件
   'transport' => [  
       'class' => 'Swift_SmtpTransport',  
       'host' => 'smtp.163.com',//每种邮箱的host配置不一样
       'username' => '15618380091@163.com',  
       'password' => '*******',  
       'port' => '25',  
       'encryption' => 'tls',
   ],   
   'messageConfig'=>[  
       'charset'=>'UTF-8',  
       'from'=>['15618380091@163.com'=>'admin'],
   ],  
],

2.控制器中添加代码:

<?php
	$mail= Yii::$app->mailer->compose();   
	$mail->setTo('***********@qq.com');  
	$mail->setSubject("邮件测试");  
	//$mail->setTextBody('zheshisha ');   //发布纯文字文本
	$mail->setHtmlBody("<br>问我我我我我");    //发布可以带html标签的文本
	if($mail->send()){  
		echo "success";  
	}else{ 
		echo "failse";
	}
	die(); 
?>

在此基础上将163邮箱配置更改为阿里云邮件推送配置,修改之后的步骤为:

1.在配置文件main-local.php components=>[]里面配置

'mailer' => [  
   'class' => 'yii\swiftmailer\Mailer',  
   'useFileTransport' =>false,//这句一定有,false发送邮件,true只是生成邮件在runtime文件夹下,不发邮件
   'transport' => [  
       'class' => 'Swift_SmtpTransport',  
       'host' => 'smtpdm.aliyun.com',//每种邮箱的host配置不一样
       'username' => 'admin@email.codestribe.com',  
       'password' => '*******',//注意这里不是填写阿里云企业邮箱密码而是填写邮件推送SMTP密码
       'port' => '25',//这里25或者80都是可以的 
       //'encryption' => 'tls',//这里设置tls或者ssl加密方式都不能成功发送,即使ssl时端口修改为465
   ],   
   'messageConfig'=>[  
       'charset'=>'UTF-8',  
       'from'=>['admin@email.codestribe.com'=>'admin'],
   ],  
],

2.控制器中添加代码:

<?php
	$mail= Yii::$app->mailer->compose();   
	$mail->setTo('545344288@qq.com');  
	$mail->setSubject("邮箱验证-源码部落");
	//发布纯文字文本
	//$mail->setTextBody('zheshisha');
	//发布可以带html标签的文本
	$mail->setHtmlBody('
		<p>您好!新用户,</p>
		<p>点击以下链接激活您的邮箱:</p>
		<p><a href="http://www.codestribe.com/index.php?token=N5qQQmLqYkLxSIMx67exlMH_IdaMqROJ_1524061790" target="_blank">http://www.codestribe.com/index.php?token=N5qQQmLqYkLxSIMx67exlMH_IdaMqROJ_1524061790</a></p>
	');
	if($mail->send())  
	    echo "success";  
	else  
	    echo "failse";   
	die();
?>

3.修改common/config/params.php的邮件配置

return [
    'adminEmail' => 'admin@email.codestribe.com',
    'supportEmail' => 'admin@email.codestribe.com',
    'user.passwordResetTokenExpire' => 3600,
];

4.修改与frontend/config/params.php中邮件配置

return [
    'adminEmail' => 'admin@email.codestribe.com',
];

第一步是修改了邮箱配置以使用阿里云邮件推送

第二步修改是因为从YII中文网上的示例被QQ邮箱认为是垃圾邮件放到了垃圾邮件里(猜测QQ邮箱会根据邮件内容与邮件标题进行垃圾邮件判断,即使这是我的阿里云企业邮箱向QQ邮箱发送的第一封邮件)

第三步与第四步是修改邮箱显示配置。

另外,使用YII2.0使用阿里云邮件推送进行邮件发送需要配置邮件推送以及阿里云企业邮箱,需要的请参考我的另外两篇博客

阿里云域名注册赠送的阿里云企业邮箱使用方法
https://blog.csdn.net/waterlily_5/article/details/80308387

阿里云邮件推送使用方法
https://blog.csdn.net/waterlily_5/article/details/80313607



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值