使用DEDECMS织梦自带的邮件功能实现自定义表单邮件通知
2016-07-30 09:39
495 查看
用DEDECMS(织梦)做开发的时,有些客户可能要求自定义表单提交后向指定邮箱发送邮件通知这样的功能。我搜索了一下,网上的代码基本都是一样的,就是使用 PHPMailer 来实现。但其实DEDE本身就已经带有了邮件功能,为什么我们还要借助 PHPMailer 来实现呢?今天就来给大家分享下如何使用DEDE自带邮件功能为自定义表单添加邮件通知功能。
其实前面已经分享过一篇《使用DEDE织梦自带的邮件功能发送邮件》的文章,这篇文章可以说是前一篇的增强版,所以我们这里只写一下实现方法,更多内容请查看前一篇文章。
首先打开
//邮件发送函数
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);
}
}
放到
require_once(dirname(__FILE__)."/../include/common.inc.php");
的下面。
然后把
$email = "****"; //这里填写要发送到的邮箱
$mailtitle = "邮件标题";
$mailbody = "邮件内容";
sendmail($email, $mailtitle, $mailbody);
放到
$id = $dsql->GetLastID();
的上面,保存文件。
登录后台配置好邮件发送服务(方法见
这里),然后测试下是不是已经可以了~
效果如下:
最近添加了一个新的方法《使用DEDE织梦自带的邮件功能实现自定义表单邮件通知(方法二)》,大家也可以参考一下。
友情提示:有些朋友反应按这篇文章做了,但是还是收不到邮件提示,可能是以下几种原因,请认真检查下
1、后台没有配置SMTP服务,配置方法看这篇文章的后面;
2、其次可能是配置不对,建议大家别用QQ邮箱,因为很多QQ邮箱确实收不到邮件,不清楚什么原因;推荐使用 163或126邮箱,这个一般都没问题;SMTP服务器为 smtp.126.com或smtp.163.com,端口是 25,QQ的端口好像是465。
3、如果以上都没问题,也可能是你的空间或服务器不支持邮件发送功能,请询问服务商。
4、上面都没问题,但还是不行的话大家可以问我~~
转:http://9iphp.com/opensystem/dede/884.html
其实前面已经分享过一篇《使用DEDE织梦自带的邮件功能发送邮件》的文章,这篇文章可以说是前一篇的增强版,所以我们这里只写一下实现方法,更多内容请查看前一篇文章。
首先打开
/plus/diy.php,把下面的代码(在
/dede/mail_send.php中可以找到)
//邮件发送函数
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);
}
}
放到
require_once(dirname(__FILE__)."/../include/common.inc.php");
的下面。
然后把
$email = "****"; //这里填写要发送到的邮箱
$mailtitle = "邮件标题";
$mailbody = "邮件内容";
sendmail($email, $mailtitle, $mailbody);
放到
$id = $dsql->GetLastID();
的上面,保存文件。
登录后台配置好邮件发送服务(方法见
这里),然后测试下是不是已经可以了~
效果如下:
最近添加了一个新的方法《使用DEDE织梦自带的邮件功能实现自定义表单邮件通知(方法二)》,大家也可以参考一下。
友情提示:有些朋友反应按这篇文章做了,但是还是收不到邮件提示,可能是以下几种原因,请认真检查下
1、后台没有配置SMTP服务,配置方法看这篇文章的后面;
2、其次可能是配置不对,建议大家别用QQ邮箱,因为很多QQ邮箱确实收不到邮件,不清楚什么原因;推荐使用 163或126邮箱,这个一般都没问题;SMTP服务器为 smtp.126.com或smtp.163.com,端口是 25,QQ的端口好像是465。
3、如果以上都没问题,也可能是你的空间或服务器不支持邮件发送功能,请询问服务商。
4、上面都没问题,但还是不行的话大家可以问我~~
转:http://9iphp.com/opensystem/dede/884.html
相关文章推荐
- php操作cookie
- Python3之RabbitMQ
- Internal Temporary Tables
- codeforces 702B B. Powers of Two(水题)
- 自定义 checkbox 新玩法 ?
- 对奥卡姆剃刀(Occam’s razor)原理的思考
- android项目打包成jar
- DedeCMS提交自定义表单后自动发送邮件到站长邮箱的方法
- 52.黑色帽子
- java泛型小结1
- 神经网络与深度学习读书笔记第二天
- SQL注入--报错注入
- 信息系统监理的基本概念
- O(N) 的时间求 1 - N 关于 MOD 的逆元
- 5-31 字符串循环左移 (20分)
- 上海租房。20160420
- float数据在内存中的存储方法
- 51.整除个数
- Spark机器学习(一)—Spark相关
- 找工作 简历 ,招聘平台