织梦 DedeCMS 支付宝支付成功后自动发邮件通知站长设置教程
时间:2026-07-12 10:16:17 来源:阿里站 作者:SKY 阅读:
一、前期准备:先配置织梦系统邮件参数
1、进入织梦后台邮件设置
后台 → 系统 → 系统基本参数 → 核心设置 → 邮件 SMTP 设置 填写以下信息(以 QQ 邮箱为例):
- SMTP 服务器:
smtp.qq.com - SMTP 端口:
465(SSL 模式) - SMTP 邮箱账号:你的 QQ 邮箱
- SMTP 密码:邮箱授权码(不是 QQ 登录密码)
- 发件人邮箱:同上
- 开启 SSL 验证,保存参数
2、测试邮件功能
可新建测试模板 / 调用织梦邮件函数确认邮件发送正常,避免后续回调发送失败。 织梦自带邮件发送核心函数:SendMail($email, $subject, $message, $frommail='')
二、找到支付宝支付回调文件
织梦商城 / 付费模型支付宝插件通常存在以下目录:
/include/payment/alipay//plus/alipay//dede/商城支付插件目录 核心文件:alipay_notify.php(异步回调通知文件,最重要!真正支付结果通知页面)alipay_return.php(同步跳转返回页面,仅给用户看页面,不可作为核心通知)
✅ 必须修改
alipay_notify.php异步回调文件,不能只改 return 页面,防止漏单!
三、修改异步回调 alipay_notify.php,增加邮件通知代码
1、先引入织梦核心公共文件
确保文件顶部包含织梦核心引用(如没有则添加):
<pre class="language-php"><code> require_once(dirname(__FILE__)."/../../../include/common.inc.php"); require_once(dirname(__FILE__)."/../../../include/email.class.php"); </code></pre>2、找到【验证成功、支付状态正确】代码区块
找到验证支付宝签名成功、且交易状态为 TRADE_SUCCESS 的判断代码内部,插入邮件发送代码:
参数说明:
$out_trade_no:织梦本地订单号$trade_no:支付宝官方交易流水号$total_fee:实际支付金额$admin_email:填写站长用来接收通知的邮箱
四、同步返回页面(alipay_return.php)可选增加通知
同步页面仅做用户前端展示,可增加额外提醒(仅做辅助,不能替代 notify 异步回调)
<pre class="language-php"><code> require_once(dirname(__FILE__)."/../../../include/common.inc.php"); require_once(dirname(__FILE__)."/../../../include/email.class.php"); $admin_email = "站长接收邮箱@shturl."; $subject = "【织梦网站】用户完成支付宝付款(同步回调)"; $body = "订单号:{$out_trade_no},已完成付款"; SendMail($admin_email, $subject, $body, $cfg_adminemail); </code></pre>五、保存文件 & 测试验证
- 保存修改后的 php 文件,上传覆盖服务器原版文件
- 清空织梦全站缓存
- 进行一笔小额测试支付,确认:
- 订单状态正常变为已支付
- 站长邮箱正常收到订单信息邮件
- 确认仅支付成功时发送邮件,避免重复发送、重复通知
六、常见问题排查
- 收不到邮件
- 检查 SMTP 配置、授权码是否正确,确认端口 465/25 放行、服务器防火墙未拦截发信端口
- 检查邮件是否进入垃圾箱,添加发件域名白名单
- 确认回调文件正确引入 common.inc.php 和 email.class.php,函数 SendMail 可正常调用
- 确认是修改异步 notify 文件,不是仅改 return 页面
- 重复发送邮件
- 增加数据库标记字段,标记订单已发邮件,仅首次支付成功发送
- 示例简易防重复:读取订单记录,判断是否已发送邮件,再执行 SendMail
- 回调验证失败
- 核对支付宝密钥、签名验证代码,保证原有支付逻辑正常,不要破坏原有验证代码
七、进阶优化(可选)
- 增加订单商品信息、用户信息到邮件正文,方便直接查看详情
- 使用 HTML 格式邮件,美化排版
- 可同时增加短信通知、微信模板消息提醒,实现多渠道提醒
- 做好备份原支付插件文件,后续织梦 / 插件升级时重新应用修改
八、总结
- 核心修改文件:
alipay_notify.php支付宝异步回调文件 - 利用织梦内置
SendMail邮件函数,在交易成功判断分支发送站长通知邮件 - 优先依靠异步回调发邮件,不要只依赖同步跳转页面,避免漏单
- 提前测试 SMTP 邮件功能,保证服务器可正常发送邮件
本文配套模板、静态源码可前往艾立兹素材库alisucai.com下载
发表评论
共有0条评论