织梦提交自定义表单发送到邮箱的方法

用织梦制作网站时,很多客户需要有在线留言功能,这时就会用到自定义表单。

  但是很多用户觉得经常登陆后台查看留言信息太麻烦了,于是想能否在提交留言是直接把内容发送到指定邮箱。

  织梦模板之家做网站经过尝试终于实现了上述功能,今天就跟大家分享一下织梦如何在自定义表单提交时发送到邮箱?

  第一步、首先在织梦网站后台,进入系统--系统基本参数--核心设置里面,其中需要设置下列几项:

  网站发信EMAIL:如404668925@qq.com

  smtp服务器:如:smtp.qq.com

  SMTP服务器的用户邮箱:404668925@qq.com

  SMTP服务器的用户帐号:404668925@qq.com

  SMTP服务器的用户密码:你知道的

  第二步、找到/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 三个变量都是提交的字段,你提交的字段名称前面加$符号就行,这个根据你的需要来改。然后保存。

  第三步、如果网站使用的是国外服务器需要对第二步进行一下处理

   一般网站使用的是国内服务器加上第二步给的代码,就可以实现管理员邮箱给自己发信,内容通过id号获取,不过美国主机是限制自己给自己发邮件的,所以在第二步代码的最后一句,要将其改下:

$smtp->sendmail($cfg_smtp_usermail,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);//发送邮件

  sendmail(收件人,网站名,发件人,邮件标题,邮件内容,邮件类型),将收件人重新定义一个,比如:

$cfg_smtp_usermail2="404668925@qq.com";
$smtp->sendmail($cfg_smtp_usermail2,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);

  这样就可以收到提交过来的表单信息了。