使用PHPMailer-master发送邮件

本文介绍了如何开启PHP的Socket和OpenSSL扩展,并通过PHPMailer发送邮件。首先,需要在php.ini中取消Socket和OpenSSL扩展的注释并重启服务器。然后,获取邮箱如QQ邮箱的IMAP/SMTP服务授权码。接着,下载PHPMailer,实例化并配置SMTP参数,包括主机、端口、编码、用户名、密码等。最后,编写邮件内容并发送,测试邮件发送是否成功。示例代码中展示了如何设置邮件主题、正文和收件人。需要注意的是,QQ邮箱可能不支持设置收件人姓名。

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

一:开启Socket扩展

打开php.ini文件
打开文件搜索extension=php_sockets.dll,将前面的分号去掉,便开启了Socket扩展
文件现在测试是否开启成功,新建php文件,输入代码:

<?php
phpinfo();

打开后找到Sockets Support,此时应该为enabled
展示

二:开启openssl 扩展

打开php.ini开启搜索extension=php_openssl.dll,去掉前面的分号
展示检查是否开启成功(注意重启服务器):

展示

三:获得邮箱授权码

以QQ邮箱为例:
展示进入账户:
展示下拉开启开启IMAP/SMTP服务,发送短信后获得授权码。
展示## 四:下载PHPMailer-master

点击下载PHPMailer-master。本链接由php中文网提供。
将其放在根目录,创建PHPMailer.php文件,开始写代码发邮件:

<?php

// 引入PHPMailer-master文件
require 'PHPMailer-master/PHPMailerAutoload.php';

// PHPMailer提供了PHPMailer类,此处先实例化PHPMailer核心类
$mail = new PHPMailer();

// 是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式
$mail->SMTPDebug = 1;

/*
 * 设置phpmailer发邮件的方式
 * 1. win下可以用mail()函数发
 * 2. linux下可以用sendmail,qmail来发
 * 3. 可以利用smtp协议登录到某个账户上再发
 */
// 此处使用smtp鉴权方式发送邮件
$mail->isSMTP();
// smtp需要鉴权 这个必须是true
$mail->SMTPAuth = true;
// 链接qq域名邮箱的服务器地址
$mail->Host = 'smtp.qq.com';
// 设置使用ssl加密方式登录鉴权
$mail->SMTPSecure = 'ssl';
// 设置ssl连接smtp服务器的远程服务器端口号
$mail->Port = 465;
// 设置发送的邮件的编码
$mail->CharSet = 'UTF-8';
// 设置邮件名称
$mail->FromName = 'eyes++';
// smtp登录的账号 QQ邮箱即可
$mail->Username = '792734338@qq.com';
// smtp登录的密码 使用生成的授权码(开启IMAP/SMTP服务获得)
$mail->Password = 'XXXXXXXXXXXXXXXX';
// 设置发件人邮箱地址 同登录账号
$mail->From = '792734338@qq.com';
// 邮件正文是否为html编码 注意此处是一个方法
$mail->isHTML(true);
// 设置收件人邮箱地址
$mail->addAddress('792734338@qq.com',QQ);
// 添加多个收件人 则多次调用方法即可
$mail->addAddress('eyes7927@163.com',网易号);
// 设置抄送人
$mail->AddCC('chaosong@163.com','勤恳的抄送人');
// 添加该邮件的主题
$mail->Subject = 'test';
// 添加邮件正文
$mail->Body = '<h1>h1大小</h1><p>p标签大小</p>';
// 为该邮件添加附件
//$mail->addAttachment('./example.pdf');
// 发送邮件 返回状态
echo $mail->send() ? 'ok':'fail';

效果展示:
QQ邮箱网易邮箱另外从效果上看,我发现QQ邮箱似乎不支持设置收件人姓名:
在这里插入图片描述
大家有兴趣的话还可以看看我的另外两篇博客:

更多相关内容大家可以前往我的个人博客浏览:eyes++的个人空间

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值