一,先在后台核心,频道模型,自定义表单中设置好留言板及相关字段.具体可以搜索了解.
二后台,系统,基本参数,添加新变量,增加myemail即客户留言后的收信电子邮件地址比如,比如设置你的常用qq邮箱
三,后台,系统,基本参数核心设置中,设置好163发件服务器,如下图,前提是163要开启一下smtp服务.
四,修改plus/diy.PHP文件,找到
if($dsql->ExecuteNoneQuery($query)){
在下面添加
//发送EMAIL
$mailtitle=$corporate.'在'.$cfg_webname.'发表了留言';
$mailbody ="公司名称:".$corporate."<br/>联系人:".$contacts."<br/>电话:".$phone."<br/>地址:".$address."<br/>qq:".$qq."<br/>留言内容:<br/>".$content."\r\n\r\n";
$headers = "From:".$myemail."\r\nReply-To: ".$myemail;
if($cfg_sendmail_bysmtp == 'Y' &&!empty($cfg_smtp_server))
{
$mailtype ='HTML';
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($myemail, $cfg_webname,$cfg_smtp_usermail,$mailtitle, $mailbody, $mailtype);
}
else
{
@mail($myemail, $mailtitle, $mailbody,$headers);
}
其中的corporate,contacts,phone,qq,address,content都是自定义字段,对比修改或删除,如果收信失败.
把上面的debug = false修改为debug = true查看错误原因
五,经过测试,qq邮箱服务器一直没法收信,
提示530 Error: A secure connection is requiered(such as ssl).
原因主要是qq邮箱的黑名单制度,通过网站发送来的邮件会被认为不安全,解决办法为
登录qq邮箱,进入邮箱首页,点击最下面的自助查询,收信查询,删除黑名单
=================
如果163邮箱作为发信邮箱,在测试时,发现发邮件报错535 Error:authentication failed.
调用163邮箱服务器来发送邮件,我们需要开启POP3/SMTP服务,这时163邮件会让我们设置客户端授权码,这个授权码替代上面代码部分的passwd即可成功发送邮件