php.ini发送邮箱,TP5实现邮件发送(PHP 利用QQ邮箱发送邮件「PHPMailer」)

本文介绍了如何在PHP应用中使用PHPMailer库发送邮件,包括配置php.ini、启用SMTP服务、设置QQ邮箱授权码等步骤,以实现邮件的便捷发送。PHPMailer简化了邮件发送的复杂性,支持HTML内容和添加附件,是PHP开发中的实用工具。
摘要由CSDN通过智能技术生成

在 PHP 应用开发中,往往需要验证用户邮箱、发送消息通知,而使用 PHP 内置的 mail() 函数,则需要邮件系统的支持。

如果熟悉 IMAP/SMTP 协议,结合 Socket 功能就可以编写邮件发送程序了,不过开发这样一个程序并不容易。

好在 PHPMailer 封装的足够强大,使用它可以更加便捷的发送邮件,免去了我们很多额外的麻烦。

首先,修改php.ini中的一些配置

extension=php_openssl.dll  前面的分号去掉

allow_url_fopen = Off   改为   allow_url_fopen = On

PHPMailer

PHPMailer 是一个封装好的 PHP 邮件发送类,支持发送 HTML 内容的电子邮件,以及可以添加附件发送,并不像 PHP 本身 mail() 函数需要服务器环境支持,您只需要设置邮件服务器以相关信息就能实现邮件发送功能。

PHP扩展支持

PHPMailer 需要 PHP 的 sockets 扩展支持,而登录 QQ 邮箱 SMTP 服务器则必须通过 SSL 加密,故 PHP 还得包含 openssl 的支持。

1d42545171db7f5e0fb7c1b50e238d20.png

↑ 使用 phpinfo() 函数查看 socket 和 openssl 扩展信息(wamp server 默认启用了该扩展)。

整理后的PHPMailer 核心文件

我们需要下载的phpmailer文件:点击下载

↑ 在本文中只需要将下载的压缩包解压到当前TP5框架下的extend文件夹中

QQ 邮箱中的 设置

68486ea354651e3de3e3ac227533c6a8.png

选择账户

34141c1261d8ff23114437a49826da2b.png

所有的主流邮箱都支持 SMTP 协议,但并非所有邮箱都默认开启,您可以在邮箱的设置里面手动开启。

第三方服务在提供了账号和密码之后就可以登录 SMTP 服务器,通过它来控制邮件的中转方式。

开启 SMTP 服务

d90e365cf5ad0106a029b79f5afcc33c.png

↑ 选择 IMAP/SMTP 服务,点击开启服务。

验证密保

89e9ab4e0abf5d6fd1802515c96cd4f2.png

↑ 发送短信“配置邮件客户端”至1069-0700-69。

获取授权码

e80438fcd8671af0fe8a7a6a895f9e1b.png

↑ SMTP 服务器认证密码,需要妥善保管(PS:密码直接没有空格)。

PHP发送邮件

基本代码

下面的代码演示了 PHPMailer 的使用方法,注意 PHPMailer 实例的配置过程。

Loader::import('phpmailer.phpmailer');//加载extend中的自定义类

$mail = new \PHPMailer\PHPMailer(); //实例化

header("content-type:text/html;charset=utf-8");//使用SMTP方式发送

$mail->IsSMTP();//设置邮件的字符编码

$mail->CharSet='UTF-8';//企业邮局域名

$mail->Host = 'smtp.qq.com';//---------qq邮箱需要的------//设置使用ssl加密方式登录鉴权

$mail->SMTPSecure = 'ssl';//设置ssl连接smtp服务器的远程服务器端口号 可选465或587

$mail->Port = 465;//---------qq邮箱需要的------//启用SMTP验证功能

$mail->SMTPAuth = true;//邮件发送人的用户名(请填写完整的email地址)

$mail->Username = '123456789@qq.com';//邮件发送人的 密码 (授权码)

$mail->Password = '修改为自己的授权码'; //修改为自己的授权码//邮件发送者email地址

$mail->From ="123456789@qq.com";//发送邮件人的标题

$mail->FromName ="123456789@qq.com";//收件人的邮箱 给谁发邮件

$email_addr = "收件人邮箱";//收件人地址,可以替换成任何想要接收邮件的email信箱,格式是AddAddress("收件人email","收件人姓名")

$mail->AddAddress("$email_addr", substr( $email_addr, 0 , strpos($email_addr ,'@')));//回复的地址

$mail->AddReplyTo('123456789@qq.com' , "");

$mail->AddAttachment("./mail.rar"); //添加附件//set email format to HTML//是否使用HTML格式

$mail->IsHTML(true);//邮件标题

$mail->Subject = '邮件标题';//邮件内容

$mail->Body = "

" . '邮件内容' . '

';//附加信息,可以省略

$mail->AltBody = '';//添加附件,并指定名称

$mail->AddAttachment( './error404.php' ,'php文件');//设置邮件中的图片

$mail->AddEmbeddedImage("shuai.jpg", "my-attach", "shuai.jpg");if( !$mail->Send() ){

$mail_return_arr['mark'] = false;

$str= "邮件发送失败.

";

$str .= "错误原因:" . $mail->ErrorInfo;

$mail_return_arr['info'] =$str ;

}else{

$mail_return_arr['mark'] = true;

$str= "邮件发送成功";

$mail_return_arr['info'] =$str ;

}

echo"

";

print_r( $mail_return_arr);

将上述代码修改为自己需要的就搞定了!

当你的才华还撑不起你的野心的时候,你就应该静下心来学习;当你的能力还驾驭不了你的目标时,就应该沉下心来,历练;梦想,不是浮躁,而是沉淀和积累,只有拼出来的美丽,没有等出来的辉煌,机会永远是留给最渴望的那个人,学会与内心深处的你对话,问问自己,想要怎样的人生,静心学习,耐心沉淀,送给自己,共勉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值