dedecms会员新发表文章如何通过邮件通知管理员?

dedecms会员新发表文章如何通过邮件通知管理员?,第1张

一、因为是会员投稿文章所以修改的是会员上传文章模块: /member/article_addphp。
二、因为要用到邮件功能所以在 article_addphp 的
/-------------
function _ShowForm(){ }
--------------/
前面加上邮件发送函数:
//邮件发送函数
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'/mailclassphp');
$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);
}
}
//这个函数在 /dede/mail_sendphp 里面可以找到
三、在 article_addphp 的
//返回成功信息
前面或者后面加入
//邮件通知
$email = "接收通知的邮箱";
$mailtitle = "邮件标题"; <!--可以用 $title 获取文章标题-->
$mailbody = "邮件内容";
sendmail($email,$mailtitle,$mailbody);

四、开启邮箱 POP3/SMTP 功能
五、配置织梦后台(系统基本参数>核心设置)
1、网站发信EMAIL:(建议用163邮箱)
2、smtp服务器:smtp163com
3、smtp服务器端口:25
4、SMTP服务器的用户邮箱:(=网站发信EMAIL)
5、SMTP服务器的用户帐号:(你的大名)
6、SMTP服务器的用户密码:(这里要注意,如果用的是163邮箱,这里填的是开启 POP3/SMTP 时系统给的客户端授权密码)

你好,织梦程序做的网站,用户提交表单之后,相关信息自动发送到站长邮箱的相关代码设置如下:

第一步:首先在织梦网站后台,进入系统--系统基本参数--核心设置里面,其中需要设置下列几项:

网站发信EMAIL:如vip@qqcom

smtp服务器:如:smtpqqcom

SMTP服务器的用户邮箱:vip@qqcom

SMTP服务器的用户帐号:vip@qqcom

SMTP服务器的用户密码:自己设置。

最后效果如下:

第二步:打开plus下面的diyphp文件,在85行找到:$query = "INSERT INTO `{$diy->table}` (`id`, `ifcheck` $addvar)  VALUES (NULL, 0 $addvalue); ";

第三步:在以上代码的后面添加下面这段代码:

$mailtitle = $name"提交表单通知";

$mailbody = "称呼:{$name}\r\n邮箱:{$email}\r\n内容:{$message}";

$headers = $cfg_adminemail;

$mailtype = 'TXT';

require_once(DEDEINC'/mailclassphp');

$smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);

$smtp->debug = false;

$smtp->sendmail($cfg_smtp_usermail,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);

注:$name $email $message 三个变量都是提交的字段,你提交的字段名称前面加$符号就行,这个根据你的需要来改。然后保存。

第三步:如果网站使用的是国外服务器需要对第二步进行一下处理

一般网站使用的是国内服务器加上第二步给的代码,就可以实现管理员邮箱给自己发信,内容通过id号获取,不过美国主机是限制自己给自己发邮件的,所以在第二步代码的最后一句,要将其改下:

$smtp->sendmail($cfg_smtp_usermail,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);

//发送邮件,sendmail(收件人,网站名,发件人,邮件标题,邮件内容,邮件类型),将收件人重新定义一个,

比如:

$cfg_smtp_usermail2="xxxx@qqcom";

$smtp->sendmail($cfg_smtp_usermail2,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);

这样设置以后就可以了。

在赵一鸣随笔博客中有《dedecms织梦建站视频教程完整版》免费观看,你可以作为参考。

如果我的回答对你有用,可以采纳哦!

一般都可以。
还是好好检查后台你填写的资料吧
smtp服务器: smtpqqcom
smtp服务器端口:25
SMTP服务器的用户邮箱:你的邮箱
SMTP服务器的用户帐号:你的邮箱
SMTP服务器的用户密码: 密码


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/10329605.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-07
下一篇 2023-05-07

发表评论

登录后才能评论

评论列表(0条)

保存