Thinkphp整合swiftmailer实现邮件发送

本文介绍了如何在ThinkPHP框架中使用SwiftMailer插件来实现用户的注册邮箱验证功能。通过下载SwiftMailer并将其放置在正确的位置,然后在控制器中进行相应的配置和调用,可以完成从用户注册到发送验证邮件的整个流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在博客加入了注册系统,注册怎么能少了邮箱验证呢

扒了好多博客,都没几个完整好用的

但是还是扒到了有用的插件 — swiftmailer

首先下载 swiftmailer ,下载地址:https://github.com/swiftmailer/swiftmailer

下载解压后把lib文件夹重命名为 swiftmailer ,放入 ThinkPHP\Library\Vendor\文件夹下

再去控制器引用

$email_set = M(‘web_set’)->where(array(‘id’ => 1))->
field(‘web_name,web_email,email_smtp,email_port,email_pwd’)->find();
//从数据库获取邮箱配置,包括帐号,密码,服务器类型,端口

regtime=time(); token = md5( name. pwd . regtime); token_exptime = regtime+243600; user = array('name' => name,email=> email, 'pwd' => md5( pwd),status=>0,token=> token, 'token_exptime' => tokenexptime); add = M('user')->add( user);if( add) {

/*———————————————–
这里是引用第三方类库

. 之前表示文件夹,之后表示要引用的文件

———————————————–*/

vendor(‘swiftmailer.swift_required’);

transport=\SwiftSmtpTransport::newInstance( email_set[‘email_smtp’], $email_set[‘email_port’]);
//这里因为路径问题要加上 \

transport>setUsername( email_set[‘web_email’]);

transport>setPassword( email_set[‘email_pwd’]);

mailer=\SwiftMailer::newInstance( transport);

$message = \Swift_Message::newInstance();

message>setFrom(array( email_set[‘web_email’] => $email_set[‘web_name’]));

message>setTo(array( email => $name));

message>setSubject(′′. email_set[‘web_name’] . ’ 激活’);

$str =’这里是邮件内容,本博客所用的邮件格式是贤心大神那里的验证邮件,但是发上来会被格式化,有需要的自己去扒吧’;

message->setBody(“{str}”, ‘text/html’, ‘utf-8’);

mailer>send( message);

if (mailer) {  
   echo ‘{“status”:”y”,”info”:”发送成功,请在24小时内激活,否则帐号失效”,”code”:”0”}’;  
} else {
dele = M('user')->where(array('name' => name,email=> email))->delete();
echo ‘{“status”:”n”,”info”:”注册失败,请重新注册”}’;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值