dedecms的邮件发送只能用系统MAIL函数或者SMTP. 如果服务器是linux基本可不用配置任何SMTP信息。但是如果是windows机器,就必须配置SMTP。
我们配置SMTP会出现意外,比如用QQ邮局。织梦58测试发现
QQ邮箱:
1. 企业邮箱明显比QQ普通邮箱好用,不容易进入垃圾箱
2. QQ邮箱必须配置启用SMTP
3. SSL明显比不启用效率高
在DEDECMS关键词函数部分
require_once(dirname(__FILE__).'/../include/common.inc.php'); //在dedecms内必须引用
//邮件发送函数
function sendmail($email, $mailtitle, $mailbody)
{
global $cfg_sendmail_bysmtp, $cfg_smtp_server, $cfg_smtp_port, $cfg_smtp_usermail, $cfg_smtp_user, $cfg_smtp_password, $cfg_adminemail,$cfg_webname;
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;
if(!$smtp->smtp_sockopen($cfg_smtp_server)){
ShowMsg('邮件发送失败,请联系管理员','-1');
exit();
}
$smtp->sendmail($email,$cfg_webname,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);
}else{
@mail($email, $mailtitle, $mailbody, $headers);
}
}
在相应页面做以下代码
if(!$_POST) exit;
$address = admin@@dede58.com';
$name = $_POST['name'];
$mailto = $_POST['email'];
$mailtitle = $_POST['subject'];
$mailbody = $_POST['message'];
$sendtime = time();
if(get_magic_quotes_gpc()) { $comment = stripslashes($comment); }
$msg = "You have been contacted by $name with regards to $mailtitle.\r\n\n";
$msg .= "$mailbody\r\n\n";
$msg .= "You can contact $name via email, $mailto.\r\n\n";
$msg .= "-------------------------------------------------------------------------------------------\r\n";
if(@sendmail($address, $mailtitle, $msg, "From: $mailto\r\nReturn-Path: $mailto\r\n"))
{
echo "<p class='ajax_success'>Thanks for Contact Us.</p>";
}
else
{
echo "<p class='ajax_failure'>邮件发送成功</p>";
}
?>
再去包含个HTML页,就可以让用户通过邮件留言了
免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)