用織夢(mèng)制作網(wǎng)站時(shí),很多客戶(hù)需要有在線(xiàn)留言功能,這時(shí)就會(huì)用到自定義表單。
但是很多用戶(hù)覺(jué)得經(jīng)常登陸后臺(tái)查看留言信息太麻煩了,于是想能否在提交留言是直接把內(nèi)容發(fā)送到指定郵箱。
織夢(mèng)模板之家做網(wǎng)站經(jīng)過(guò)嘗試終于實(shí)現(xiàn)了上述功能,今天就跟大家分享一下織夢(mèng)如何在自定義表單提交時(shí)發(fā)送到郵箱?
第一步、首先在織夢(mèng)網(wǎng)站后臺(tái),進(jìn)入系統(tǒng)--系統(tǒng)基本參數(shù)--核心設(shè)置里面,其中需要設(shè)置下列幾項(xiàng):
網(wǎng)站發(fā)信EMAIL:如123456@qq.com
smtp服務(wù)器:如:smtp.qq.com
SMTP服務(wù)器的用戶(hù)郵箱:123456@qq.com
SMTP服務(wù)器的用戶(hù)帳號(hào):123456@qq.com
SMTP服務(wù)器的用戶(hù)密碼:你知道的
第二步、找到/plus/diy.php文件約85行:
$query = "INSERT INTO `{$diy->table}` (`id`, `ifcheck` $addvar) VALUES (NULL, 0 $addvalue); ";
后面添加如下代碼:
$mailtitle = $name."提交表單通知"; $mailbody = "稱(chēng)呼:{$name}\r\n郵箱:{$email}\r\n內(nèi)容:{$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 三個(gè)變量都是提交的字段,你提交的字段名稱(chēng)前面加$符號(hào)就行,這個(gè)根據(jù)你的需要來(lái)改。然后保存。
第三步、如果網(wǎng)站使用的是國(guó)外服務(wù)器需要對(duì)第二步進(jìn)行一下處理
一般網(wǎng)站使用的是國(guó)內(nèi)服務(wù)器加上第二步給的代碼,就可以實(shí)現(xiàn)管理員郵箱給自己發(fā)信,內(nèi)容通過(guò)id號(hào)獲取,不過(guò)美國(guó)主機(jī)是限制自己給自己發(fā)郵件的,所以在第二步代碼的最后一句,要將其改下:
$smtp->sendmail($cfg_smtp_usermail,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);//發(fā)送郵件
sendmail(收件人,網(wǎng)站名,發(fā)件人,郵件標(biāo)題,郵件內(nèi)容,郵件類(lèi)型),將收件人重新定義一個(gè),比如:
$cfg_smtp_usermail2="xxxx@qq.com"; $smtp->sendmail($cfg_smtp_usermail2,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);
這樣就可以收到提交過(guò)來(lái)的表單信息了。
我們專(zhuān)注高端建站,小程序開(kāi)發(fā)、軟件系統(tǒng)定制開(kāi)發(fā)、BUG修復(fù)、物聯(lián)網(wǎng)開(kāi)發(fā)、各類(lèi)API接口對(duì)接開(kāi)發(fā)等。十余年開(kāi)發(fā)經(jīng)驗(yàn),每一個(gè)項(xiàng)目承諾做到滿(mǎn)意為止,多一次對(duì)比,一定讓您多一份收獲!