php使用swiftmailer发送电子邮件教程
在php网站开发中,特别是在会员注册场景下,使用邮箱注册或者绑定邮箱等需求,需要给用户发送电子邮件,虽然这种方式很老了,但还是有部分需求。
通常用的是PHPMAILER这个第三方库,网络上也有比较成熟的社区文档。本文另辟蹊径,尝试使用swiftmailer来发送电子邮件。
首先是安装,开发的时候通常是在本地电脑windows下进行开发,之后统统打包到服务器,所有这里就以windows系统下安装和开发进行演示。
首先打开运行,输入cmd, 打开命令窗口,想安装到硬盘哪个分区,个人自由,比如D分区,那么输入
d:
回车,这样就选择了D分区,接着输入 composer require "swiftmailer/swiftmailer:^6.0"回车,等待安装完成
composer require "swiftmailer/swiftmailer:^6.0"
出现如图所示,就是安装完成了。此时会在D分区下多出一个vendor目录,就是swiftmailer的扩展库目录文件。
接下来是编写php代码:
<?php include_once 'vendor/autoload.php'; //加载启动文件 /*设置发现邮箱服务器配置*/ $transport = (new Swift_SmtpTransport('smtp服务器地址,比如网易的是smtp.163.com', 'smtp端口,通常是25')) -> setUsername('登录邮箱服务商的电子邮件地址') -> setPassword('登录邮箱服务商的密码或者秘钥'); $mailer = new Swift_Mailer($transport); /*设置邮件内容标题收件人等信息*/ $message = (new Swift_Message('邮件的主题')) -> setFrom([ '发件人的邮箱地址,这个可以随便填' => '发件人的别名,可以留空']) -> setTo(['收件人的邮箱地址', '收件人的邮箱地址' => '收件人的别名,也可以留空']) -> setBody(邮件正文内容); /*发送邮件*/ $rults = $mailer -> send( $message ); /* 发送成功的话, $rults会返回大于0的整数,可以根据这个来判断邮件是否发送成功 */
代码不复杂,很简单,感觉比phpmailer这个框架更好用。
下面是我自己做的测试邮件发送,为了方便,做了个web界面
邮件发送成功。
成功收到邮件。