Dedecms作为一款流行的建站系统,其内置的商城功能确实存在一定的局限性。对于许多站长来说,如果用户完成购买后能够立即收到通知,无疑将极大提升管理效率。然而,这需要站长们时刻守在电脑前查看订单状态,显然并不现实。为了解决这一问题,本文将介绍如何通过Dedecms实现支付宝支付完成后自动发送提醒邮件给站长的功能。 首先,明确我们的目标是当用户完成支付宝支付后,系统能自动向指定邮箱发送一封提醒邮件。具体实现步骤如下:
打开文件 /include/payment/alipay.php。
找到以下代码行:
$this->log_result("verify_success,订单号:".$order_sn); //将验证结果存入文件
在其下方添加一段用于发送邮件的代码。以下是示例代码,请根据实际情况进行修改:

$mailbody = '';
$mailtitle = "订单号:".$order_sn."支付成功!";
$mailbody .= "这里是提示信息";
$email='admin@qq.com';//改为要接收邮件的邮箱
$cfg_sendmail_bysmtp = 'Y';
$cfg_smtp_server = 'smtp.exmail.qq.com'; //qq邮件服务器地址  
$cfg_smtp_port = '25'; //端口号,默认为25
$cfg_smtp_usermail = 'mail@qq.com'; //发件邮箱地址
$cfg_smtp_user = 'dedecmsCMS无忧'; //名称
$cfg_webname = 'dedecmsCMS无忧'; //站名称  
$cfg_smtp_password = 'password'; //发件邮箱密码
$headers = "From:".$cfg_smtp_usermail."\\r\\nReply-To:".$cfg_smtp_usermail;
if($cfg_sendmail_bysmtp == 'Y' && !empty($cfg_smtp_server))
{
     $mailtype = 'TXT';
     require_once(dirname(__FILE__)."/../mail.class.php");
     $smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);
     $smtp->debug = false;
     $smtp->sendmail($email,$cfg_webname,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);
}
else
{
     @mail($email, $mailtitle, $mailbody, $headers);
}
    
以上代码中,您需要替换的部分包括但不限于收件人邮箱、SMTP服务器地址、端口、发件人邮箱及其密码等信息。确保这些配置正确无误,才能保证邮件正常发送。 通过上述设置,您可以轻松实现在用户完成支付后即时获得通知的效果。当然,这只是基础功能的实现,如果您希望邮件内容更加丰富或者具备更多自定义选项,还可以进一步探索和调整相关代码逻辑。 总之,利用Dedecms强大的扩展性,结合适当的编程技巧,我们完全可以打造出符合自身需求的功能模块,从而提高网站运营效率,同时也能更好地服务于广大用户群体。