使用DEDECMS织梦自带的短信功能实现自定义表单电邮通知

优采云 发布时间: 2020-04-11 11:01

  

  用DEDECMS(织梦)做开发的时,有些顾客可能要求自定义表单递交后向指定邮箱发送短信通知这样的功能。我搜索了一下,网上的代码基本都是一样的,就是使用 PHPMailer 来实现。但虽然DEDE本身就早已带有了电邮功能,为什么我们还要依靠 PHPMailer 来实现呢?今天就来给你们分享下怎样使用DEDE自带电邮功能为自定义表单添加电邮通知功能。

  其实后面早已分享过一篇《使用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、上面都没问题,但还是不行的话你们可以问我~~

  用DEDECMS(织梦)做开发的时,有些顾客可能要求自定义表单递交后向指定邮箱发送短信通知这样的功能。我搜索了一下,网上的代码基本都是一样的,就是使用 PHPMailer 来实现。但虽然DEDE本身就早已带有了电邮功能,为什么我们还要依靠 PHPMailer 来实现呢?今天就来给你们分享下怎样使用DEDE自带电邮功能为自定义表单添加电邮通知功能。

  其实后面早已分享过一篇《使用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、上面都没问题,但还是不行的话你们可以问我~~

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线