我们通过织梦系统制作网站时,很多客户需要有在线留言功能,这时就会用到自定义表单。但是很多用户觉得经常登陆后台查看留言信息太麻烦了,于是想能否在提交留言是直接把内容发送到指定邮箱。网站经过测试终于实现了上述功能,今天就跟大家分享一下织梦dedecms如何在自定义表单提交时发送到邮箱?
第一步、首先在织梦网站后台,进入系统--系统基本参数--核心设置里面,其中需要设置下列几项:
网站发信EMAIL:如7512047@qq.com
smtp服务器:如:smtp.qq.com
SMTP服务器的用户邮箱:7512047@qq.com
SMTP服务器的用户帐号:7512047@qq.com
SMTP服务器的用户密码:7512047
如何在织梦自定义表单提交时把内容发送到邮箱
第二步、打开plus下面的diy.php文件:
85行:$query = "INSERT INTO `{$diy->table}` (`id`, `ifcheck` $addvar) VALUES (NULL, 0 $addvalue); ";
后面开始添加代码:
$mailtitle = $name."提交表单通知";
$mailbody = "称呼:{$name}
邮箱:{$email}
内容:{$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 三个变量都是提交的字段,你提交的字段名称前面加$符号就行,这个根据你的需要来改。然后保存。
第三步、如果网站使用的是国外服务器需要对第二步进行一下处理
一般网站使用的是国内服务器加上第二步给的代码,就可以实现管理员邮箱给自己发信,内容通过id号获取,不过美国主机是限制自己给自己发邮件的,所以在第二步代码的最后一句,要将其改下:
$smtp->sendmail($cfg_smtp_usermail,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);
//发送邮件,sendmail(收件人,网站名称,发件人,邮件标题,邮件内容,邮件类型),将收件人重新定义一个,
比如:
$cfg_smtp_usermail2="7512047@qq.com";
$smtp->sendmail($cfg_smtp_usermail2,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);
这样就可以收到啦。