在使用DedeCMS(织梦)构建网站时,自定义表单是一个非常实用的功能,它可以帮助网站收集用户的信息,例如留言、咨询、订单等。在实际应用中,管理员可能不会频繁地登录后台查看这些信息,
在使用DedeCMS(织梦)构建网站时,自定义表单是一个非常实用的功能,它可以帮助网站收集用户的信息,例如留言、咨询、订单等。在实际应用中,管理员可能不会频繁地登录后台查看这些信息,因此将表单提交的数据自动发送到指定的邮箱中就显得尤为重。本文将详细介绍如何在DedeCMS中设置自定义表单,并实现提交后自动发送邮件的功能。
准备工作
在开始之前,确保您的DedeCMS系统已经安装并正常运行。您需有一个可以使用的SMTP服务器,以便通过它发送邮件。这里以使用163邮箱为例,因为其SMTP服务相对稳定且易于配置。
步骤一:配置DedeCMS的邮件发送参数
1. 登录DedeCMS后台,导航至“系统”>“系统设置”>“系统参数设置”。
2. 在“邮件设置”部分,输入以下信息:
网站发信EMAIL:您希望用来发送邮件的邮箱地址,例如``。
SMTP服务器:对于163邮箱,通常是`smtp.`。
SMTP服务器端口:选择465端口以使用SSL加密。
SMTP服务器的用户邮箱:与网站发信EMAIL相同。
SMTP服务器的用户账号:即邮箱地址的用户名部分。
SMTP服务器的用户密码:163邮箱的授权码,而非登录密码。您需登录163邮箱官网开启SMTP服务并获取授权码。
3. 保存设置。这一步确保了DedeCMS知道如何通过SMTP服务器发送邮件。
步骤二:创建自定义表单
1. 在DedeCMS后台,找到“模块”>“自定义表单”。
2. 点击“添加新模型”,根据需填写表单的名称、标题和描述。
3. 添加所需的字段,如姓名、邮箱、电话号码等。
4. 完成后,点击“确定”保存表单设置。
步骤三:修改`/plus/diy.php`文件以实现邮件发送
1. 备份`/plus/diy.php`文件。这是为了防止修改过程中出现错误导致网站功能异常。
2. 编辑`/plus/diy.php`文件。找到大约第85行的插入点,即`$query = "INSERT INTO...`之后的位置。
3. 添加邮件发送代码。根据您的需求调整邮件内容模板。例如:
```php
$mailtitle = "新表单提交通知";
$mailbody = "您收到了一条新的表单提交信息:r
";
foreach ($_POST as $key => $value) {
$mailbody .= "$key: $valuer
";
}
require_once(DEDEINC.'/mail.class.php');
$smtp = new smtp($cfg_smtp_server, $cfg_smtp_port, true, $cfg_smtp_usermail, $cfg_smtp_password);
$smtp>sendmail($cfg_adminemail, $cfg_webname, $cfg_smtp_usermail, $mailtitle, $mailbody, 'TXT');
```
上述代码遍历所有POST请求的数据,并将它们格式化为邮件正文的一部分。
步骤四:测试表单提交
1. 访问您的自定义表单页面,填写并提交表单。
2. 检查您配置的收件邮箱是否收到了提交通知邮件。如果没有收到,检查邮件是否被误判为垃圾邮件,或者检查DedeCMS的日志文件以寻找错误信息。
结语
通过以上步骤,您可以轻松地在DedeCMS中实现自定义表单提交后自动发送邮件的功能。这不仅提高了用户体验,也方便了网站管理员及时了解用户反馈。如果您遇到了任何问题,可以参考DedeCMS的官方文档或寻求社区的帮助。对于更高级的需求,考虑使用如TDuck或DWSurvey这样的开源表单收集系统也是一个不错的选择,它们提供了更加丰富和灵活的功能。