dedecms提交自动以订单自动织梦提交表单发送邮件件问题

您的位置:
dedecms织梦自定义表单发送指定邮件内容乱码
发布者: moke |
织梦网站自定义表单设置好后会提交到后台,有时不会经常注意到信息,现在给大家分享一下将自定义表单信息提交到指定邮箱:1.首先在织梦网站后台,进入系统--系统基本参数--核心设置里面,配给邮件发送服务,如下图:打开网站根目录下的plus文件夹,里面有个diy.php文件(表单提交后处理文件),打开它,在85行上下有如下代码:&$query = "INSERT INTO `{$diy-&table}` (`id`, `ifcheck` $addvar) &VALUES (NULL, 0 $addvalue); ";这个代码就是将表单数据写入数据库,那么我们就在他下方,加上发送邮件的功能: & &$query = "INSERT INTO `{$diy-&table}` (`id`, `ifcheck` $addvar) &VALUES (NULL, 0 $addvalue); "; & & & &$mailtitle = $name."[提交表单通知]"; & & & &$mailbody = "姓名:{$name}\r\n 手机:{$tel}\r\n QQ:{$qq}\r\n 留言:{$textarea}\r\n 提交时间:{$time}\r\n"; & & & &$headers = $cfg_ & & & &$mailtype = 'TXT'; & & & &require_once(DEDEINC.'/mail.class.php'); & & & &$smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password); & & & &$smtp-&debug = //$smtp-&sendmail($cfg_smtp_usermail,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);//发送邮件&(这个是发给管理员自己) & 如要发给其他人,将上面的代码 修改下面的& &$cfg_smtp_usermail2=","; &//发送多人邮件 &$smtp-&sendmail($cfg_smtp_usermail2,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);这个就可以收到邮件了,可能收到的邮件还会有乱码的情况,找到include/mail.class.php 将:&$header .= "Content-Type:text/html \r\n";改为:$header .= "Content-Type:text/ charset=utf-8\r\n";乱码问题解决。(这个也可以解决dedecms会员系统发送验证邮件乱码问题)
魔客吧温馨提示:还在苦苦寻找织梦模板吗?来魔客吧
频道看看吧,说不定有你喜欢的哦!
本文地址:
文章标题:
最新分享资源
0102030405060708重庆seo博客站长:不二版本Eade自由互联网媒体人,关注搜索引擎、草根站长创业及互联网从业趋向。
最近发表重庆网站优化行业中的一股清泉,不止于推广与SEO,更注重客户效益!
阅读(45)
阅读(53)
阅读(68)
阅读(194)
阅读(158)
CopyRight (C)
重庆seo博客投身seo搜索引擎排名研究,做针对网站优化、网络推广相关的顾问服务 备案号:不二版本Eade:PAnoEAde当网站上有新留言时,自动发送邮件通知管理员。
使用方法:
一、直接下载guestbook.php文件到plus目录下覆盖原文件。此覆盖不影响系统升级。
二、修改guestbook.php第78行的邮箱为你自己接收邮件的邮箱即可。
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
路过看一下!
爱奇趣分享网
很好的网站,赞一个,加油!
最励志官网
不错,值得收藏分享!
[em13] 好像不行哦 ,我改了,都没反应的咨询热线 152-
您现在的位置:
DEDECMS下载
最新DEDECMS V5.7 UTF改进版
DEDECMS下载
最新DEDECMS V5.7 GBK改进版
DedeCMS实现自定义表单提交后发送指定QQ邮箱的方法
来源: 发布时间:热度: ℃
今天秀站网分享织梦订单管理邮件提醒,留言邮件提醒,可以做到好用户互动,增强网站互动功能,提高用户体验,增加网站流量,欢迎下载。...
做DedeCMS自定义表单发送邮箱的教程,发现大部分都是在php文件里写死固定字段内容,这样虽然也能实现自定义表单提交后发送指定邮箱,但是很不智能,想要一个我们自定义表单中有什么字段就发送什么字段的内容,这里就需要phpmailer来实现。
就拿QQ邮箱来说明,其他邮箱(163,雅虎等邮箱方法一样):
一、登陆QQ邮箱&&设置&&账户,找到POP3/IMAP/SMTP,开启,现在的邮箱开启POP3/SMTP都要授权码,记下你的授权码,等一下是作为密码使用的。
开启成功后是这样的:
二、登陆网站后台&&系统&&基本参数设置&&核心设置,对比标记的内容根据自己的邮箱填写完整:
邮箱和后台都OK后,我们开始用上phpmailer。
PHPMailer项目地址:/PHPMailer/PHPMailer 使用git命令克隆到本地,或直接在该项目页面的右下方点击& Download ZIP &即可获取到完整的PHPMailer代码包,再到本地解压即可。
PHPMailer需PHP的socket扩展支持,而PHPMailer链接qq域名邮箱时需要ssl加密方式,固php还得openssl的支持,可以查看phpinfo,如下两项均存在则可以使用,其中openssl版本号之类不用管;许多虚拟主机中的php是不支持openssl扩展的,那你可能就悲剧了。
由于我们下载下来的PHPMailer文件夹里边的文件有很多我们是用不上的,所以我们也没必要浪费这些内存。我们可以对这个文件夹瘦身,在这里我只保存 了以下的几个文件:
class.phpmailer.php、class.phpmaileroauth.php、class.pop3.php、 class.smtp.php、PHPMailerAutoload.php&
把这5个php文件放到你dedecms程序plus文件夹下(或者直接下载文件:)
三、最后一步,打开/plus/diy.php,找到代码(大概在第93行):
$id = $dsql-&GetLastID();
在它的前面一行加入代码:
//邮件发送开始
$fieldlist = $diy-&getFieldList();
$addvalue_ary1 = explode(',', $addvalue);
$addvalue_ary = array_filter($addvalue_ary1);
foreach($fieldlist as $field=&$fielddata)
& & $emailbody .= $fielddata[0].':'.$addvalue_ary[$i].'&br /&';& &
& & $i ++;
global $cfg_smtp_server, $cfg_adminemail, $cfg_smtp_port, $cfg_smtp_usermail, $cfg_smtp_password, $cfg_webname, $cfg_basehost, $cfg_smtp_
//引入PHPMailer的核心文件 使用require_once包含避免出现PHPMailer类重复定义的警告
require_once(&class.phpmailer.php&);
require_once(&class.smtp.php&);
//实例化PHPMailer核心类
$mail =&new&PHPMailer();
//是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式
$mail-&SMTPDebug =&1;
//使用smtp鉴权方式发送邮件
$mail-&isSMTP();
//smtp需要鉴权 这个必须是true
$mail-&SMTPAuth=true;
//链接qq域名邮箱的服务器地址
$mail-&Host = $cfg_smtp_
//设置使用ssl加密方式登录鉴权
$mail-&SMTPSecure =&'ssl';
//设置ssl连接smtp服务器的远程服务器端口号,以前的默认是25,但是现在新的好像已经不可用了 可选465或587
$mail-&Port = $cfg_smtp_
//设置smtp的helo消息头 这个可有可无 内容任意
// $mail-&Helo = 'Hello
Server';
//设置发件人的主机域 可有可无 默认为localhost 内容任意,建议使用你的域名
$mail-&Hostname = $cfg_
//设置发送的邮件的编码 可选GB2312 我喜欢utf-8 据说utf8在某些客户端收信下会乱码
$mail-&CharSet =&'UTF-8';
//设置发件人姓名(昵称) 任意内容,显示在收件人邮件的发件人邮箱地址前的发件人姓名
$mail-&FromName = $cfg_smtp_
//smtp登录的账号 这里填入字符串格式的qq号即可
$mail-&Username = $cfg_smtp_
//smtp登录的密码 使用生成的授权码(就刚才叫你保存的最新的授权码)
$mail-&Password = $cfg_smtp_
//设置发件人邮箱地址 这里填入上述提到的&发件人邮箱&
$mail-&From = $cfg_smtp_
//邮件正文是否为html编码 注意此处是一个方法 不再是属性 true或false
$mail-&isHTML(true);
//设置收件人邮箱地址 该方法有两个参数 第一个参数为收件人邮箱地址 第二参数为给该地址设置的昵称 不同的邮箱系统会自动进行处理变动 这里第二个参数的意义不大
$mail-&addAddress($cfg_email,$cfg_smtp_user);
//添加多个收件人 则多次调用方法即可
// $mail-&addAddress('','lsgo在线通知');
//添加该邮件的主题
$mail-&Subject = $diy-&
//添加邮件正文 上方将isHTML设置成了true,则可以是完整的html字符串 如:使用file_get_contents函数读取本地的html文件
$mail-&Body = $
//为该邮件添加附件 该方法也有两个参数 第一个参数为附件存放的目录(相对目录、或绝对目录均可) 第二参数为在邮件附件中该附件的名称
// $mail-&addAttachment('./d.jpg','mm.jpg');
//同样该方法可以多次调用 上传多个附件
// $mail-&addAttachment('./Jlib-1.1.0.js','Jlib.js');
if(!$mail-&send())
& & echo&&Fail to send. &p&&;
& & echo&&Cause of the error: &&. $mail-&ErrorI
//邮件发送结束
因为启用smtp的debug进行调试,所以在提交表单的时候会有调试代码出现,我们测试成功后可以把加入到diy.php中的代码:
$mail-&SMTPDebug =&1;
$mail-&SMTPDebug =&0;
本文地址:/dedecms_mk/119.html
责任编辑:

我要回帖

更多关于 dedecms邮件发送 的文章

 

随机推荐