Yii实现邮件发送

一:yiisoft/yii2-swiftmailer拓展安装

composer require yiisoft/yii2-swiftmailer

github地址:https://github.com/yiisoft/yii2-swiftmailer

文档地址:https://www.yiichina.com/doc/guide/2.0/tutorial-mailing

二:开启邮箱IMAP/STMP服务

这里以QQ邮箱为例:

1:账号设置

登录QQ邮箱后点击首页的设置按钮

进入账户设置

2:开启IMAP/SMTP服务

开启IMAP/SMTP服务

记录开启服务器的授权码

QQ邮件开启服务后相关说明

三:邮件发送功能实现

1:邮件发送基础配置

在配置文件main.php 中的components参数下配置:

'mailer' => ['class' => 'yii\swiftmailer\Mailer','useFileTransport' => false,//false发送邮件,true只是在runtime文件夹下生成邮件文件,不发邮件
],

2:邮件发送常见方法

(1):发送邮件服务器配置
Yii::$app->mailer->transport = ['class' => 'Swift_SmtpTransport','host' => 'smtp.qq.com',//发送邮件host,每种邮箱的host配置不一样'username' => 'xxx',//发送邮件账号'password' => 'XXX',//发送邮件授权码'port' => '465',//发送邮件端口 'encryption' => 'ssl',//加密方式
];
(2):设置发件人
Yii::$app->mailer->compose()->setFrom('XXX');
(3):设置收件人
Yii::$app->mailer->compose()->setTo('XXX');
(4):设置邮件主题
Yii::$app->mailer->compose()->setSubject('XXX');
(5):设置发送邮件内容

纯文本内容

Yii::$app->mailer->compose()->setTextBody('XXX');

html内容

Yii::$app->mailer->compose()->setHtmlBody('<div>XXX</div>');
(6):设置发送附件
Yii::$app->mailer->compose()->attach('XXX.pdf');
(7):邮件发送
Yii::$app->mailer->compose()->send();

3:邮件发送实例

Yii::$app->mailer->transport = ['class' => 'Swift_SmtpTransport','host' => 'smtp.qq.com',//发送邮件host,每种邮箱的host配置不一样'username' => 'xxx',//发送邮件账号'password' => 'XXX',//发送邮件授权码'port' => '465',//发送邮件端口 'encryption' => 'ssl',//加密方式
];try {$result = Yii::$app->mailer->compose()->setFrom('XXX')//设置发件人->setTo('XXX')//设置收件人->setSubject('XXX')//设置主题->setHtmlBody('<div>XXX</div>')//设置邮件内容->attach('XXX.pdf')//设置邮件附件->send();
} catch (\Swift_TransportException $e) {$result = false;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/624380.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Elasticsearch--Master选举

角色 主节点&#xff08;active master&#xff09;&#xff1a;一般指的是活跃的主节点&#xff0c;避免负载任务&#xff0c;主节点主要用来管理集群&#xff0c;专用master节点仍将充当协调节点 候选节点&#xff08;master-eligible nodes&#xff09;&#xff1a;默认具备…

2024年第02周农产品价格报告

一、摘要 农产品价格监测主要涉及对畜禽类产品、水产品、蔬菜类产品、水果类产品的价格&#xff0c;以周为单位&#xff0c;进行变化情况的数据监测。其中&#xff0c;蔬菜类产品共18种&#xff0c;分别为大白菜、西红柿、黄瓜、青椒、芹菜、土豆、白萝卜、茄子、豆角、胡萝卜…

HCIP的静态路由复习

VRP设置用户名密码登录 [R1]aaa [R1-aaa]local-user TMG password cipher huawei #创建一个名TMG的用户&#xff0c;密码huawei Info: Add a new user.[R1-aaa]local-user TMG privilege level 15 #设置权限 [R1-aaa]local-user TMG service-type terminal …

华媒舍:高效率的新闻资讯新闻媒体宣发套餐内容推广计划方案

怎样让自己的新闻资讯可以被大众孰知&#xff0c;变成了每一个新闻媒体宣发者一同存在的困难。下面我们就给大家介绍一套高效率的新闻资讯新闻媒体宣发套餐内容推广计划方案&#xff0c;致力于帮助新闻媒体宣发者提升宣发高效率&#xff0c;提高新闻资讯的传播性。 1.新闻媒体宣…

代码随想录 Leetcode1. 两数之和

题目&#xff1a; 代码&#xff08;首刷看解析 2024年1月15日&#xff09;&#xff1a; class Solution { public:vector<int> twoSum(vector<int>& nums, int target) {int another 0;unordered_map<int,int> hash;for(int i 0; i < nums.size();…

若依框架实现排序【升序或降序】很简单

前端实现 1. 在表格上加监听函数sort-change。如下红框所示&#xff1a; 2. 在表行上加排序字:sort-orders&#xff0c;可排序字sortable。如下红框所示&#xff1a; 3. 添加监听函数实现。代码如下&#xff1a; handleSortChange(column) {this.queryParams.orderByColumn …

request entity too large

1、分2中情况。 &#xff08;1&#xff09;带413 请求文件太大&#xff08;不包含参数&#xff09; 413 Request Entity Too Large &#xff08;2&#xff09;不带413 请求实体太大&#xff08;包含参数&#xff0c;文件等&#xff09; 客户端发送的实体主体部分比服务器能…

Ubuntu 20.04扩容磁盘命令:Ubuntu 20.04扩容系统主分区教程(PV VG LV)

前置知识&#xff1a; 磁盘 最基础的存在&#xff0c;物理磁盘 pv 物理卷&#xff08;同一磁盘 可以划分多个物理卷&#xff09; vg 卷组 &#xff08;一个到多个pv可组成一个卷组&#xff09; lv 逻辑卷 &#xff08;卷组可以划分为多个逻辑卷&#xff09;Ubuntu20.4扩容磁…

知识付费saas租户平台:揭秘成功的密码

明理信息科技知识付费saas租户平台 随着互联网的快速发展&#xff0c;人们越来越重视知识的获取和价值的挖掘。在这个信息爆炸的时代&#xff0c;知识付费已经成为了一种新的商业模式&#xff0c;为知识的传播和价值的转化提供了更加高效和便捷的途径。本文将探讨知识付费的发…

Springboot整合Redission分布式锁使用实例

Springboot整合Redission分布式锁 引言&#xff1a;实际项目中&#xff0c;我们经常会遇到一些需要考虑使用分布式锁的场景&#xff0c;以防止页面重复请求或者多系统之间相互重复调用的产生业务偏差的问题&#xff1b; 例如&#xff1a; 1.并发的场景下&#xff0c;生成订单需…

WSL2-Ubuntu20.04-配置

WSL2-Ubuntu20.04-配置 安装wsl2安装Ubuntu20.04安装anacondaWSL2可视化&#xff08;VcXsrv&#xff09; 安装wsl2 wsl --install wsl -l -v # 版本查看 默认的都是 wsl2 &#xff08;如果是wsl1 就自行升级 wsl --update&#xff09; 官方教程 安装Ubuntu20.04 安装wsl2之后…

Unable to start embedded Tomcat Nacos启动报错

Nacos报错解决 报错信息&#xff1a;Unable to start embedded Tomcat 无法加载内置的tomcat。 无需重新配置JDK&#xff0c;轻松解决 Windows 系统为例 startup.cmd 操作步骤如下&#xff1a; 在nacos解压后的文件中&#xff0c;进入bin目录下如图1所示&#xff1a; 在红框中…

ACL16_S 系列 低成本物联网安全芯片,可应用物联网认证、 SIM、防抄板和设备认证等产品上

ACL16_S 芯片是针对物联网认证、 SIM、防抄板和设备认证需求推出的高安全芯片。芯片采用 32 位 ARMCortex™-M0 系列内核&#xff0c;片内集成多种安全密码模块&#xff0c;包括 RSA/ECC DES/TDES、 SHA-1/-256、 AES-128/-192/-256 等国际安全算法&#xff0c;支持真随机数发…

【OpenCV学习笔记13】- 【彩蛋】提取多个彩色对象

这是对于 OpenCV 官方文档中 图像处理 的学习笔记。学习笔记中会记录官方给出的例子&#xff0c;也会给出自己根据官方的例子完成的更改代码&#xff0c;同样彩蛋的实现也会结合多个知识点一起实现一些小功能&#xff0c;来帮助我们对学会的知识点进行结合应用。 如果有喜欢我笔…

如何构建高质量,低成本的移动机器人(AGV/AMR)?

中国移动机器人行业规模的不断扩大&#xff0c;低成本无人化是现市场需求突出的特点之一。然而研发一套完整的移动机器人导航方案不仅需要耗费大量的人力成本&#xff0c;还要经过漫长的市场验证&#xff0c;这将滞后整个产业的发展&#xff0c;并有可能错失市场的抢占先机。 如…

C/C++ 有关质数(素数)的问题

第一题:判断是否为质数 代码&#xff1a; #include <bits/stdc.h> using namespace std; int main() {int a;int flag 1; //重要cin>>a;for(int j2;j<a;j){if(a % j 0){cout<<a<<"不是质数";flag0; …

点击切换图片,样式

切换场景&#xff1a; 本文章向大家介绍uniapp之 点击图片切换&#xff0c;使用实例、应用技巧、基本知识点总结和需要注意事项&#xff0c;具有一定的参考价值&#xff0c;需要的朋友可以参考一下。 提示&#xff1a;点击时进行角色切换&#xff0c;【图片切换&#xff0c;并…

GoZero微服务个人探索之路(三)Go-Zero官方rpc demo示例探究

官方网址&#xff1a;https://go-zero.dev/docs/tasks/cli/grpc-demo 项目结构 demo包 两个文件均为protoc-gen-go-grpc自动生成构成一个完整的 gRPC 服务的定义和实现 democlient包 demo.go goctl生成的客户端代码 Request 和 Response 别名&#xff1a; 定义了 Request 和…

图片里面的水印怎么去除

我们经常会在网络上看到各种带有水印的图片。那么在摄图网下载的图片都带有水印&#xff0c;我们该怎么去除让我们让图片更完美无瑕呢然而&#xff0c;这时候心中就有一个疑问了如何去除图片上的水印呢?接下来&#xff0c;我将为您介绍一种常见的方法。 那就是我们的水印云了…