DEDECMS自定义表单功能可以实现在线订单、报名、留言及反馈等互动应用。然而,许多用户希望提交的信息不仅存储在后台,还能自动发送到指定邮箱。以下是实现这一功能的具体步骤。

首先,我们需要对程序代码进行修改。打开 /plus/diy.php 文件,找到大约第85行的以下代码:


$query = "INSERT INTO `{$diy->table}` (`id`, `ifcheck` $addvar) VALUES (NULL, 0 $addvalue); ";

在其下方添加如下代码:


$mailtitle = $name."提交表单通知";

$mailbody = "称呼:{".$name."}\\r\\n邮箱:{".$email."}\\r\\n内容:{".$message."}";

$headers = $cfg_adminemail;

$mailtype = 'TXT';

require_once(DEDEINC.'/mail.class.php');

$smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);

$smtp->debug = false;

$smtp->sendmail($cfg_smtp_usermail,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);

注释:
这里的变量 $name$email$message 是表单中提交的字段名。根据实际需求,可以在字段名称前加上 $ 符号。完成后保存文件。

接下来,进入网站后台配置邮件发送参数:
登录后台管理系统,依次点击:
系统 → 系统基本参数 → 核心设置
填写以下信息:
网站发信EMAIL:(填写自己的邮箱地址)
SMTP服务器:(例如126邮箱为:smtp.126.com)
SMTP服务器端口:(例如126邮箱为:25)
SMTP服务器的用户邮箱:(填写自己的邮箱地址)
SMTP服务器的用户帐号:(填写自己的邮箱地址)
SMTP服务器的用户密码:(填写邮箱密码或授权码)

完成以上设置后,当用户通过自定义表单提交数据时,系统会自动将信息发送到指定邮箱。
这样,您就可以实时获取表单提交的内容,提高工作效率。
希望这篇教程能帮助到您!


如果您有任何疑问,请随时联系技术支持团队。