全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

php如何实现邮件发送功能_phpmailer配置smtp与附件添加步骤

使用PHPMailer通过SMTP发送邮件并添加附件,首先通过Composer安装PHPMailer,然后配置SMTP信息如QQ邮箱的smtp.qq.com、端口465、SSL加密,启用SMTPAuth并设置Username和授权码Password,调用setFrom设置发件人,addAddress添加收件人,isHTML启用HTML内容,设置Subject和Body,通过addAttachment添加服务器路径上的附件文件,最后调用send发送邮件,并用try-catch捕获异常以确保稳定运行。

PHP 实现邮件发送功能最常用的方式是使用 PHPMailer,它支持 SMTP 配置、附件添加、HTML 内容等高级功能。下面详细介绍如何配置 PHPMailer 使用 SMTP 发送邮件,并添加附件。

安装 PHPMailer

推荐使用 Composer 安装 PHPMailer:

composer require phpmailer/phpmailer

如果没有使用 Composer,也可以从 GitHub 下载源码并手动引入。

配置 SMTP 发送邮件

以下是一个通过 SMTP 发送邮件的基础示例,以 QQ 邮箱为例(其他邮箱类似):

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
require 'vendor/autoload.php';

$mail = new PHPMailer(true); // 启用异常
try {
    $mail->isSMTP();
    $mail->Host = 'smtp.qq.com';
    $mail->SMTPAuth = true;
    $mail->Username = 'your_email@qq.com';
    $mail->Password = 'your_authorization_code'; // 注意:不是登录密码,是授权码
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
    $mail->Port = 465;

    $mail->setFrom('your_email@qq.com', '发件人名称');
    $mail->addAddress('to@example.com', '收件人');

    $mail->isHTML(true);
    $mail->Subject = '测试邮件标题';
    $mail->Body = '

这是一封测试邮件

';
    $mail->AltBody = '纯文本内容:这是一封测试邮件';

    $mail->send();
    echo '邮件发送成功';
} catch (Exception $e) {
    echo "邮件发送失败: {$mail->ErrorInfo}";
}

注意:

  • QQ 邮箱的 SMTP 服务器 是 smtp.qq.com,端口为 465,加密方式为 SSL(ENCRYPTION_SMTPS)
  • 需要在邮箱设置中开启 POP3/SMTP 服务,并获取授权码作为密码
  • Gmail、163 等邮箱配置略有不同,如 Gmail 使用 TLS 加密,端口 587

添加附件

使用 addAttachment() 方法可以轻松添加附件:

// 添加一个附件
$mail->addAttachment('/path/to/file.pdf');

// 添加带自定义名称的附件
$mail->addAttachment('/path/to/photo.jpg', '我的照片.jpg');

附件路径必须是服务器上的绝对路径或相对路径,且 PHP 有读取权限。

如果要添加多个附件,重复调用 addAttachment 即可:

$mail->addAttachment('./files/doc1.pdf');
$mail->addAttachment('./files/image.png');

常见问题与建议

  • 确保服务器允许外联 SMTP 端口(如 465、587),部分虚拟主机可能屏蔽
  • 使用 try-catch 捕获异常,便于调试错误
  • 避免频繁发送,防止被识别为垃圾邮件
  • 生产环境建议使用更稳定的邮件服务(如 SendGrid、阿里云邮件推送)

基本上就这些,配置正确后,PHPMailer 能稳定实现邮件发送和附件功能。


# php  # word  # html  # git  # composer  # github  # 端口  # qq  # ssl  # 阿里云  # ai  # pdf  # 邮箱  # echo  # require  # mail  # try  # catch  # 发送邮件  # 邮件发送  # 这是  # 一封  # 是一个  # 多个  # 推荐使用  # 如果没有  # 自定义  # 详细介绍 


相关文章: 个人摄影网站制作流程,摄影爱好者都去什么网站?  c# 在ASP.NET Core中管理和取消后台任务  婚礼视频制作网站,学习*后期制作的网站有哪些?  建站之星上传入口如何快速找到?  网站专业制作公司有哪些,做一个公司网站要多少钱?  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  油猴 教程,油猴搜脚本为什么会网页无法显示?  如何批量查询域名的建站时间记录?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  建站之星代理费用多少?最新价格详情介绍  做企业网站制作流程,企业网站制作基本流程有哪些?  如何通过IIS搭建网站并配置访问权限?  建站之星免费版是否永久可用?  如何在Golang中引入测试模块_Golang测试包导入与使用实践  高防服务器:AI智能防御DDoS攻击与数据安全保障  如何挑选优质建站一级代理提升网站排名?  制作网站的公司有哪些,做一个公司网站要多少钱?  建站之星后台管理系统如何操作?  如何用PHP工具快速搭建高效网站?  打鱼网站制作软件,波克捕鱼官方号怎么注册?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  小型网站制作HTML,*游戏网站怎么搭建?  如何做静态网页,sublimetext3.0制作静态网页?  昆明高端网站制作公司,昆明公租房申请网上登录入口?  建站之星微信建站一键生成小程序+多端营销系统  北京专业网站制作设计师招聘,北京白云观官方网站?  制作网站怎么制作,*游戏网站怎么搭建?  建站之星×万网:智能建站系统+自助建站平台一键生成  如何通过VPS搭建网站快速盈利?  完全自定义免费建站平台:主题模板在线生成一站式服务  行程制作网站有哪些,第三方机票电子行程单怎么开?  如何在阿里云域名上完成建站全流程?  如何快速搭建高效香港服务器网站?  如何在IIS管理器中快速创建并配置网站?  建站VPS推荐:2025年高性能服务器配置指南  如何快速搭建虚拟主机网站?新手必看指南  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  香港服务器网站卡顿?如何解决网络延迟与负载问题?  如何用AWS免费套餐快速搭建高效网站?  韩国服务器如何优化跨境访问实现高效连接?  如何确保西部建站助手FTP传输的安全性?  如何在阿里云ECS服务器部署织梦CMS网站?  建站之星2.7模板:企业网站建设与h5定制设计专题  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  如何在IIS中新建站点并解决端口绑定冲突?  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  非常酷的网站设计制作软件,酷培ai教育官方网站?  如何通过云梦建站系统实现SEO快速优化? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。