例如本地環(huán)境phpstudy開啟這2個擴展
阿里云虛擬主機開啟fsockopen函數(shù)
QQ郵箱開啟SMTP服務(wù) 和 獲取授權(quán)碼
163郵箱開啟SMTP服務(wù)和 獲取授權(quán)碼
126郵箱開啟SMTP服務(wù),跟163一樣。
配置163郵箱的是這樣
配置QQ郵箱的是這樣
配置126郵箱的是這樣
4、打開 /plus/diy.php 找到
$id = $dsql->GetLastID();
在它的下面加入
$mailtitle = "{$diy->name}--留言通知";
$mailbody = '';
foreach($diy->getFieldList() as $field=>$fieldvalue)
{
$mailbody .= "{$fieldvalue[0]}:{${$field}}\r\n";
}
$headers = "From: ".$cfg_adminemail."Reply-To: ".$cfg_adminemail;
if($cfg_sendmail_bysmtp == 'Y' && !empty($cfg_smtp_server))
{
$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 = 0;//發(fā)送不成功把0改成1,再提交看錯誤信息
$smtp->sendmail($cfg_shoujianren,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);
}
else
{
@mail($cfg_shoujianren, $mailtitle, $mailbody, $headers);
}
至此自定義表單發(fā)送郵件通知管理者完成
如果提交表單后收不到郵件,把上面代碼$smtp->debug = 0;改成$smtp->debug = 1;
然后再重新提交表單,看提示信息提示什么。
如果用ssl:// 和 465端口發(fā)送失敗,提示 Trying to ssl://smtp.xx.com 話,很大可能是主機禁用了465端口,這時候可以切換回25端口和去掉ssl://
打開 /plus/diy.php 找到
$headers = "From: ".$cfg_adminemail."Reply-To: ".$cfg_adminemail;
在它下面加入一行
$mailbody = mb_convert_encoding($mailbody, "GBK", "UTF-8");
完成
版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會員發(fā)布,如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除!謝謝!
轉(zhuǎn)載請注明: 織夢自定義表單發(fā)送郵件超簡單版(支持QQ郵箱163郵箱)