使用yii自带发邮件功能发送邮件

邮件组件的配置取决于您选择的扩展名。通常,您的应用程序配置应如下所示:

在配置文件中配置
<?php
return [
    'vendorPath' => dirname(dirname(__DIR__)) . '/vendor',
    'timeZone'=>'Asia/Chongqing',
    'components' => [
        'db' => [
            'class' => 'yii\db\Connection',
            'dsn' => 'mysql:host=localhost;dbname=root',
            'username' => 'root',
            'password' => 'root',
            'charset' => 'utf8',
        ],
        //这里以QQ邮箱作为例子//邮箱添加mailer中的代码
		'mailer' => [
			'class' => 'yii\swiftmailer\Mailer',
			'useFileTransport' => false,
			'transport' => [
				'class' => 'Swift_SmtpTransport',
				'encryption' => 'tls',
				//这里的host是qq邮箱发送邮件的地址
				'host' => 'smtp.qq.com',
				'port' => '587',
				//你的qq号
				'username' => '',
				//这里的参数需要申请,点击qq邮箱界面的设置-》账户-》找到(POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务)-》开启(POP3/SMTP服务)-》会有一个密钥填入就行
				'password' => '',
			],             
		],
        'cache' => [
            'class' => 'yii\caching\FileCache',
            'cachePath' => '@runtime/cache2',
        ],
        'assetManager' => [
            'forceCopy' => true,
            'appendTimestamp' => true,
        ],
    ],

];

在你需要的地方调用

// 发送邮件类
  public function actionSendout(){
	  //$mail= Yii::$app->mailer->compose();   
	  //$mail->setTo('15293641206@163.com'); //要发送给那个人的邮箱   
	 // $mail->setSubject("邮件主题"); //邮件主题   
	 // $mail->setTextBody('测试text'); //发布纯文字文本   
	  //$mail->setHtmlBody("测试html text"); //发送的消息内容   
	  //var_dump($mail->send());  
	   sleep(30);
	  //查询数据库
	  $data = Mails::find()->asArray()->all();
	  
	  $mail= Yii::$app->mailer->compose();
	  //发送者的邮箱
			$mail->setFrom('xxxx@qq.com');
			//接收者的邮箱
			$mail->setTo('xxxx@qq.com');
			$mail->setSubject('客户名单');
			$mail->setTextBody('Plain text content');
			//这里是多条发送
			$messages='';
			foreach ($data as $user) {
				$messages.="
				<p>公司:".$user['company']."</p>
				<p>姓名:".$user['name']."</p>
				<p>邮箱:".$user['mails']."</p>
				<p>电话:".$user['phone']."</p>
				<p>省:".$user['province']."</p>
				<p>市:".$user['city']."</p>
				<p>留言内容:".$user['content']."</p>
				";
				$mail->setHtmlBody($messages);
				$mail->send();
				$messages='';
			}
	      //这里是单条发送
	      //$mail->setHtmlBody('你好');
				//$mail->send();
	  Yii::$app->session->setFlash('success','发送成功');
	  Yii::$app->session->setFlash('error','邮件发送失败');
	  return $this->redirect(Url::toRoute(['index']));
  }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

原克技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值