全网整合营销服务商

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

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

PHP邮件发送功能实现_PHP使用SMTP发送邮件示例

PHP mail()函数依赖本地sendmail易失败,推荐用PHPMailer通过SMTP直连邮箱服务商;需Composer安装、配置授权码与587/465端口,并注意云服务器端口屏蔽及环境变量存储敏感信息。

PHP 自带的 mail() 函数依赖本地 sendmail 服务,线上环境常因配置缺失或被屏蔽而失败。更可靠的方式是使用 SMTP 协议直连邮件服务商(如 Gmail、QQ 邮箱、163 邮箱或企业邮箱),配合 PHPMailer 等成熟库实现稳定发信。

安装并引入 PHPMailer

推荐用 Composer 安装最新版 PHPMailer:

  • 运行 composer require phpmailer/phpmailer
  • 在脚本开头加入:
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\SMTP;
    use PHPMailer\PHPMailer\Exception;
  • 记得包含自动加载:require 'vendor/autoload.php';

配置 SMTP 参数(以 QQ 邮箱为例)

QQ 邮箱需开启 SMTP 并获取授权码(非登录密码),端口通常为 587(TLS)或 465(SSL):

  • SMTP 服务器:smtp.qq.com
  • 端口:587(推荐 TLS)或 465(SSL)
  • 用户名:完整邮箱地址(如 user@qq.com)
  • 密码:QQ 邮箱设置中生成的“SMTP 授权码”
  • 发件人名称:可自定义,如 “技术支持”

发送邮件的最小可用代码

以下是一个简洁、带错误提示的发送示例:

$mail = new PHPMailer(true);
try {
    $mail->isSMTP();
    $mail->Host       = 'smtp.qq.com';
    $mail->SMTPAuth   = true;
    $mail->Username   = 'your@qq.com';
    $mail->Password   = 'your_app_password'; // 授权码,非邮箱密码
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
    $mail->Port       = 587;

    $mail->setFrom('your@qq.com', '技术支持');
    $mail->addAddress('to@example.com', '收件人姓名');
    $mail->isHTML(true);
    $mail->Subject = '测试邮件';
    $mail->Body    = '

这是一封 HTML 邮件

支持样式和链接

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

常见问题与注意事项

避免踩坑,注意这些细节:

  • 国内云服务器(如阿里云、腾讯云)默认屏蔽 25 端口,务必改用 465 或 587
  • Gmail 需开启“两步验证”后生成应用专用密码;163/QQ 邮箱需在网页端手动开启 SMTP 并复制授权码
  • 收件人地址必须调用 addAddress() 显式添加,不能只写在 Body 里
  • 若报错 “Could not connect to SMTP host”,先 telnet 测试端口连通性:telnet smtp.qq.com 587
  • 生产环境建议封装成函数或服务类,敏感配置(账号密码)从环境变量读取

基本上就这些。不复杂但容易忽略授权码和端口限制,配对正确后发送成功率很高。


# php  # word  # html  # composer  # app  # 云服务  # 端口  # qq  # 腾讯  # ssl  # 阿里云  # ai  # 环境变量  # 邮箱  # 封装  # require  # mail  # 云服务器  # 是一个  # 这是  # 线上  # 自定义  # 为例  # 自带  # 报错  # 一封  # 写在 


相关文章: 如何在建站宝盒中设置产品搜索功能?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  Swift中swift中的switch 语句  建站之星各版本价格是多少?  建站VPS配置与SEO优化指南:关键词排名提升策略  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  网站制作软件有哪些,制图软件有哪些?  网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?  手机网站制作与建设方案,手机网站如何建设?  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  大同网页,大同瑞慈医院官网?  如何通过二级域名建站提升品牌影响力?  建站之星价格显示格式升级,你的预算足够吗?  建站之星安装后界面空白如何解决?  网站制作说明怎么写,简述网页设计的流程并说明原因?  如何选择靠谱的建站公司加盟品牌?  高防服务器:AI智能防御DDoS攻击与数据安全保障  详解jQuery停止动画——stop()方法的使用  如何获取PHP WAP自助建站系统源码?  学校为何禁止电信移动建设网站?  ui设计制作网站有哪些,手机UI设计网址吗?  建站三合一如何选?哪家性价比更高?  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  黑客如何通过漏洞一步步攻陷网站服务器?  javascript中的try catch异常捕获机制用法分析  建站之星2.7模板快速切换与批量管理功能操作指南  如何通过山东自助建站平台快速注册域名?  较简单的网站制作软件有哪些,手机版网页制作用什么软件?  杭州银行网站设计制作流程,杭州银行怎么开通认证方式?  网站制作报价单模板图片,小松挖机官方网站报价?  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  北京的网站制作公司有哪些,哪个视频网站最好?  如何用搬瓦工VPS快速搭建个人网站?  建站之星后台密码遗忘如何找回?  自助网站制作软件,个人如何自助建网站?  如何基于云服务器快速搭建个人网站?  临沂网站制作公司有哪些,临沂第四中学官网?  ,如何利用word制作宣传手册?  ,怎么用自己头像做动态表情包?  如何在云服务器上快速搭建个人网站?  中山网站制作网页,中山新生登记系统登记流程?  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  如何将凡科建站内容保存为本地文件?  如何快速辨别茅台真假?关键步骤解析  html制作网站的步骤有哪些,iapp如何添加网页?  如何配置WinSCP新建站点的密钥验证步骤?  婚礼视频制作网站,学习*后期制作的网站有哪些?  如何选择可靠的免备案建站服务器?  重庆市网站制作公司,重庆招聘网站哪个好? 

您的项目需求

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