Yii2.0 探究四 :收发电子邮件

Yii2框架(一)安装及目录结构 如题:对,你要相信自己的眼睛,你没看错确实是Yii2框架。 现在都2020年了,刚刚开始折腾Yii2框架难免有些过时,但是没办法,公司目前的项目是基于Yii2开发的,嘿,你说怎么这么巧,我还没用过Yii2框架。 没办法,看手册呗。这玩意,万变不离其宗,总归还是PHP。 之前用的多的大概就是thinkphp,从3到5再到目前的6,也是这样一步步过来的。 Yii与thinkphp相比一定是有其独到的地方的。 稍老的框架的好处就是,官方文档的bug可能是少一点,开发过程中遇到的问题,面向百度的时候可能答案更多一点 阅读详情
一、强悍的扩展—— yii2-swiftmailer:

原理: Yii2.0中集成了邮件的发送类,包括基础的操作的封装,这也是框架的强大之处:类似的还有国际化的多语言配置,等等可以去探索,
操作:主要是体现在配置方面:

  1. 开启邮箱的SMTP服务,那么SMTP是什么呢?

    SMTP是一个相对简单的基于文本的协议。在其之上指定了一条消息的一个或多个接收者(在大多数情况下被确认是存在的),然后消息文本会被传输。可以很简单地通过telnet程序来测试一个SMTP服务器。SMTP使用TCP端口25。要为一个给定的域名决定一个SMTP服务器,需要使用MX (Mail eXchange) DNS。参照维基百科;

    由此我们总结下它的特点:

    • 类型:基于文本的协议
    • 作用:用来通过邮件的方式传输文本内容,通过搭建SMTP服务器
    • 端口(port):25
    • 范围:一对一、或者一对多,在理论上都是可行的;

    局限性:

    • 安全问题和垃圾邮件的产生
      问题是没有用户的验证,后面添加了auth扩展

而在这里就是借助于已经搭建好的邮件服务器,免费收发邮件;包括国内的qq、网易163等等邮箱服务器都支持SMTP,但是要通过登录开启(下面讲解我们以163邮箱为例)
2. 组件注册方式配置:
其中yii2.0的basic的Config\web.php中进行配置

'mailer' => [
            'class' => 'yii\swiftmailer\Mailer',
            'useFileTransport' => false,
            //改为false,默认只有以上两个
            'viewPath'=>'@common/mail' 
            //可选,视图展式
            'transport'=>[
                'class'=>'Swift_SmtpTransport',
                'host'=>'smtp.163.com',
                'username'=>'用户名@163.com',
                'password'=>'此处填写授权码',
                'port'=>'25',
                'encryption'=>'tls',
            ],
        ],

3.控制器中调用:

 public function actionMail(){
        $mail = Yii::$app->mailer->compose()
        ->setFrom('m13993334619@163.com')
        // 配置的用户
        ->setTo('1791502202@qq.com')
        // 发送的用户
        ->setSubject('邮件配置')
        ->setTextBody('这是发送的邮件,请按链接完成注册')
        ->setHtmlBody('<span>发送成功,请返回</span>')
        ->send();
        if($mail)
            return '发送成功';
        else
            return '发送失败';
    }

ok,至此邮件已经可以正常发送了。

二、其他拓展
1. 关于邮件的服务
  • POP3

    邮局协议(Post Office Protocol,简称POP)是TCP/IP协议族中的一员,由RFC 1939定义。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。最新版本为POP3,全名“Post Office Protocol - Version 3”,而提供了SSL加密的POP3协议被称为POP3S。维基百科 ;

    处理的问题是:支持邮件的客户端处理,处理离线的邮件(因为发送邮件的时候收信人多半不在,接收问题)

  • IMAP

    Internet Message Access Protocol(缩写为IMAP,以前称作交互邮件访问协议)是一个应用层协议,用来从本地邮件客户端(如Microsoft Outlook、Outlook Express、Foxmail、Mozilla Thunderbird)访问远程服务器上的邮件。维基百科

    处理的问题是:支持邮件的操作,例如标记、移动等等,会反馈到服务端;

三、区别与联系
  1. SMTP和POP3
    答:
    区别:SMTP是发送邮件的协议,POP3是接收离线邮件的协议
    联系:同属于TCP/IP 协议一族。
    会意:一个发信,一个收信;
  2. POP3和IMAP
    答:
    区别:POP3只是被动接受邮件,并不能和服务器产生交互;IMAP支持操作邮件,并且会返回到服务器;
    联系:都是接收邮件;同属于TCP/IP协议一族;
Yii2使用SwiftMailer发送电子邮件的方法 在Yii2框架中,您可以使用SwiftMailer库来发送电子邮件。SwiftMailer是一个功能强大且灵活的邮件发送库,它提供了许多选项和功能,使您能够轻松地发送电子邮件。打开终端或命令提示符,并导航到您的Yii2项目根目录。现在,您可以在任何需要发送电子邮件的地方使用邮件组件。您可以根据自己的需求,进一步自定义邮件的内容、附件等。如果发送邮件成功,将会输出"邮件发送成功!如果发送邮件失败,将会输出"邮件发送失败:"后跟失败原因。在Yii2中,您可以通过配置文件来配置邮件组件。步骤2:配置邮件组件。 阅读详情

相关推荐

yii2-swiftmailer:Yii 2 swiftmailer扩展

适用于Yii 2的SwiftMailer扩展 该扩展为提供了邮件解决方案。 有关许可证信息,请检查文件。 安装 安装此扩展的首选方法是通过 。 无论运行 php composer.phar require --prefer-dist yiisoft/yii2-swiftmailer 或添加 " yiisoft/yii2-swiftmailer " : " ~2.1.0 " 到composer.json的require部分。 注意:此扩展的版本2.1使用需要PHP 7的Swiftmailer6。如果您使用的是PHP 5,则必须使用此扩展的版本2.0,该版本使用与PHP 5.4及更高版本兼容的Swiftmailer 5。 在这种情况下,请使用以下版本约束: " yiisoft/yii2-swiftmailer " : " ~2.0.0 " 用法 要使用此扩展,只需在您的应用程序

Yii实现邮件发送

登录QQ邮箱后点击首页的设置按钮。开启IMAP/SMTP服务。QQ邮件开启服务后相关说明。记录开启服务器的授权码。

huaweichenai的博客 967

Yii2使用swiftmailer发送邮件的方法

主要介绍了Yii2使用swiftmailer发送邮件的方法,结合实例形式分析了Yii2使用swiftmailer进行邮件发送的设置与代码实现技巧,需要的朋友可以参考下

Yii2安装Yii2-User及配置SwiftMailer中的坑(Yii2基础版)

Yii2安装Yii2-User及配置SwiftMailer中的坑(Yii2基础版) 0.记录我在学习Yii2系列教程四:实现用户注册,验证,登录这个过程中遇到的坑。 上述文章以outlook邮箱为例子,这里我以163邮箱为例子。 注:提供个Blog,各邮箱smtp服务器及支持的协议 这个Blog只是让我们了解以下各邮箱smtp服务器及支持的协议,有些SMTP服务器地址已经更新了,具体地址需要去专门...

Maybe922的博客 1081

电流镜设计实战:从基础到高级技巧(附常见问题解决方案)

本文从工程实战角度,系统讲解了电流镜设计从基础原理到高级技巧的全过程。深入剖析了匹配精度、输出阻抗等核心矛盾,并详细介绍了共源共栅(Cascode)结构如何平衡电压裕度与输出阻抗。文章还重点探讨了工艺偏差、版图应力效应等实战中的“隐形杀手”,并提供了常见问题的解决方案与调试技巧,旨在帮助工程师设计出鲁棒性更强的模拟电路。

blockchain9miner的博客 731

西威SIEI变频器与电梯主板及驱动板原理图解析与详解(共二十九页原厂PDF图纸)

通过本文的分析,可以了解到西威变频器的技术特点、维修需求以及相关的图纸获取途径。在今后的工作中,维修人员需要充分了解设备的电路图和原理图,掌握正确的维修技术和方法,确保设备的正常运行和延长使用寿命。对于维修人员来说,获取准确的变频器图纸是进行维修工作的基础。这些图纸包含了变频器的电路图、原理图以及相关的元件布局等信息,是维修人员了解设备工作原理、确定维修步骤的重要依据。西威变频器是一种高效、可靠的电机控制设备,广泛应用于电梯、空调、风机等领域的电机控制中。目前,西威提供的维修图纸主要以PDF格式为主。

lXSqtACEzg的博客 1115

yii2框架使用swiftmailer发邮件踩得坑

本地window下没有问题,服务器linux下报错,大概意思是一个函数调用错误,提示证书验证失败。 于是就各种搜证书,替换php.ini下的openssl证书什么的,不起作用。 网上都是各种phpmailer的类似问题,大意是让跳过,好了,思路有了,找swiftmailer的跳过证书验证。 在yii2框架的配置文件有邮件发送的配置,其中有参数很相似。搜到一个$mail-&gt;setUser...

wenlongwentian的专栏 1865

PRPD图谱分析从入门到精通:5种典型放电模式的识别手册

本文详细解析PRPD图谱分析技术,重点介绍电晕放电、悬浮放电等5种典型放电模式的识别方法。通过37组真实案例对比,提供关键识别区和诊断流程图模板,帮助工程师快速掌握变电站设备状态监测的核心技能,提升绝缘缺陷诊断准确率。

weixin_29214199的博客 472

yii2邮件

通过发email找回密码config文件夹里的配置文件,如main.php,配置如下:点击(此处)折叠或打开'mail' => [ 'class' => 'yii\swiftmailer\Mailer', 'viewPath' => '@common/mail', //'useFileTransport' => true, //

洛豳枭薰 521

服务器报错:“Unhealthy status reported by this UEFI driver without specific error message”.. 记录解决过程

服务器开机报错:Unhealthy status reported by this UEFI driver without specific...

ayychiguoguo的博客 4399

Modbus 通信协议详解

Modbus是由 Modicon(现为施耐德电气公司的一个品牌)在 1979 年发明的,是全球第一个真正用于工业现场的总线协议。ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。为更好地普及和推动Modbus在基于以太网上的分布式应用,目前施耐德公司已将Modbus协议的所有权移交给 IDA(,分布式自动化接口)组织,并成立了 Modbus-IDA 组织。

Projectsauron 的博客 7万+

Yii2.0中Mailer收发邮件详解

Yii2.0封装的类足够强大,Mailer的使用方法做一个总结:1、先在main-local.php中做好配置: return [//....'components' => ['mailer' => ['class' => 'yii\swiftmailer\Mailer',],],]; 详细如下: return [//....'components' => [ ...

weixin_33854644的博客 559

手把手教你搭建《黑色沙漠》单机版:从下载到联机的完整指南(含GM工具使用)

本文提供《黑色沙漠》单机版从下载安装到GM工具使用及局域网联机的完整教程。详细解析不同版本选择、系统配置要求、常见问题解决,并分享GM工具高级命令和局域网联机设置技巧,帮助玩家轻松搭建个性化游戏环境。

weixin_28738165的博客 468

Yii2之发送电子邮件

官方文档:http://www.yiiframework.com/doc-2.0/guide-tutorial-mailing.html 使用Yii2框架的时候,有时候需要发送电子邮件,Yiii2提供了swiftMailer扩展来实现; 1、swiftMailer Swift是一个完全采用面向对象编码用于发送e-mail的PHP函数库。Swift不依赖于PHP的mail()函数,因...

277

PyTorch实战:手把手教你用QAT量化感知训练拯救模型精度(附避坑指南)

本文详细介绍了如何使用PyTorch进行QAT量化感知训练,以提升模型在边缘设备上的推理精度。通过核心原理讲解、实战代码示例和避坑指南,帮助开发者掌握从环境配置、模型训练到边缘部署的全流程,有效解决传统量化方法导致的精度损失问题。

c7d8e的博客 329

ESP32学习笔记06-UART 的485 通讯模式

通信方式选择UART 控制器支持多种通信模式,使用函数 uart_set_mode() 可以选择模式。选择特定模式后,UART 驱动程序将处理已连接 UART 设备的相应行为。例如,主机开始向 Tx FIFO 缓冲区写入数据时,UART 驱动程序会自动置位 RTS 管脚(逻辑 1);最后一位数据传输完成后,驱动程序就会取消置位 RTS 管脚(逻辑 0)。要使用此模式,软件。

Car12 2476

Yii2 User 模块常见问题解决方案

Yii2 User 模块常见问题解决方案 项目基础介绍 Yii2 User 是一个基于 Yii 2 框架的用户认证模块,它提供了用户注册、登录、密码找回、邮箱确认等功能。该模块使用 PHP 作为主要的编程语言,并依赖于 Yii 2 框架。 新手常见问题及解决步骤 问题一:如何安装 Yii2 User 模块? 解决步骤: 确保已经安装了 Yii 2 框架。 使用 Composer 安装 Yii2 ...

gitblog_01186的博客 775

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

如何使用Yii2进行编程:使用高级应用程序模板

您将要创造的 如果您问“ Yii是什么?” 查阅 Yii Framework简介 ,其中 介绍了Yii 的优点,并概述了Yii 2.0。 在本使用Yii2编程系列中 ,我指导读者使用PHP的Yii2框架。 当您开始使用Yii进行实际开发时,您可能希望使用其高级应用程序模板开始下一个项目。 除其他事项外,它提供了集成的用户管理功能以及两个应用程序,一个用于面向消费者的前端,另一个用于管理后...

代码教主 1077

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

如何给yii2.0项目配置日志监控?使用场景是什么?底层原理是什么?

配置步骤:在配置文件中设置日志组件,配置多个目标(如文件、数据库、邮件),并在代码中使用等方法记录日志。使用场景:包括错误跟踪、性能监控、安全审计、调试和开发、用户行为分析等。底层原理:涉及日志记录机制、日志级别、日志目标、日志格式化和日志过滤等技术。通过配置日志监控,你可以更好地了解应用程序的运行状态,及时发现和解决问题,提高系统的稳定性和可维护性。

长风破浪会有时的博客 1269

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Yii2.0框架一共有哪些扩展?底层原理是什么?

Model(模型)层处理数据相关的操作,View(视图)层负责呈现数据和用户界面,Controller(控制器)层处理用户请求并协调模型和视图之间的交互。组件架构:Yii2采用了组件化的架构,每个功能模块都被封装为一个独立的组件,例如数据库访问、缓存、表单处理等。总体而言,Yii2.0框架通过其组件化架构、MVC设计模式、自动加载和事件驱动等特性,提供了高效、灵活和可扩展的开发环境,使开发者能够更加便捷地构建Web应用程序。这样可以减少开发者的工作量,并提高应用程序的性能。

长风破浪会有时的博客 562

使用Yii2进行编程:使用调试器

您将要创造的 如果您问“ Yii是什么?” 查阅 Yii Framework简介 ,其中 介绍了Yii 的优点,并概述了Yii 2.0。 介绍 在使用Yii2编程系列中 ,我指导读者使用PHP的Yii2框架。 在今天的教程中,我将向您展示如何安装Yii2调试器,我们将详细探讨其功能。 它是一个功能强大的编程助手,经常没有得到充分利用。 在编写代码和测试应用程序时,调试器可以为您显...

代码教主 766

Yii Framework2.0输入验证

validate() 方法,在幕后为执行验证操作。先看一个简单的例子,例子的代码在《Yii Framework2.0开发教程(2)使用表单Form》。 类ZhyoulunController中函数actionEntry() ,其中有一句$model->validate(),就是来判断输入的名字和电子邮件是否正确。 修改models/EntryForm.php <?php

qq571742179的专栏 423

如何用Yii2编程:ActiveRecord

您将要创造的 如果您问“ Yii是什么?” 查阅我之前的教程: Yii Framework简介 ,它回顾了Yii的好处,并概述了2014年10月发布的Yii 2.0的变化。 在本使用Yii2编程系列中 ,我指导读者使用PHP的Yii2框架。 在今天的教程中,我将指导您使用Yii的对象关系映射 (称为ORM)来处理数据库。 它称为Active Record ,是在Yii中有效编程数据库应用...

代码教主 709

Yii 2.0 提供了哪些内置的验证器?底层原理是什么?

验证器类指定了要使用的验证器类型,可以是 Yii 内置的验证器类,也可以是开发者自定义的验证器类。通过这种底层原理,Yii 2.0 的验证器提供了一种方便的方式来验证用户输入的数据,并提供了灵活的规则定义和错误处理机制,以提高应用程序的数据验证和安全性。开发者可以通过模型的。这些内置验证器可以通过在模型的规则(rules)方法中配置来使用,该方法定义了模型属性的验证规则。应用验证规则: 在模型进行验证时,Yii 2.0 会根据定义的验证规则进行验证。底层原理: 验证器的底层原理基于验证规则的定义和应用。

长风破浪会有时的博客 461
上一篇: YII2.0探究二:AR类和Query类的原理以及使用(一)
下一篇: mysql中文乱码问题
LLopensorce
博客等级 码龄10年 5粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值