我們通過織夢系統制作網站時,很多客戶需要有在線留言功能,這時就會用到自定義表單。但是很多用戶覺得經常登陸后台查看留言信息太麻煩了,於是想能否在提交留言是直接把內容發送到指定郵箱。網站經過測試終於實現了上述功能,今天就跟大家分享一下織夢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}\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="7512047@qq.com";
$smtp->sendmail($cfg_smtp_usermail2,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);
這樣就可以收到啦。