最新公告
  • 欢迎您访问爱上源码网,分享精品整站源码,网站模板,游戏源码,APP小程序源码以及视频教程免费下载;服务永无止境!立即加入我们
  • 织梦dedecms提交自定义表单后发送到指定邮箱

    网上很多教程都是用dedecms自带的邮件库发送邮件,而且是写死要发送的字段内容,今天我们用phpmailer来给站长发送自定义表单提交的数据到指定邮箱上(QQ邮箱,163邮箱都可以),不写死任何东西,有什么字段就提交发送什么字段。 操作之前,我们要先搞定用来发送邮件的那个邮箱,说白了就是要开启SMTP。 QQ篇 登录QQ邮箱-设置-账户,找到POP3/IMAP/SMTP,开启,现在的邮箱开启POP3/SMTP都要授权码了,千万要记下你的授权码啊,等一下是作为密码使用的。 开启 […]

    网上很多教程都是用自带的邮件库发送邮件,而且是写死要发送的字段内容,今天我们用phpmailer来给站长发送自定义表单提交的数据到指定邮箱上(QQ邮箱,163邮箱都可以),不写死任何东西,有什么字段就提交发送什么字段。

    操作之前,我们要先搞定用来发送邮件的那个邮箱,说白了就是要开启SMTP。

     

    QQ篇

    登录QQ邮箱-设置-账户,找到POP3/IMAP/SMTP,开启,现在的邮箱开启POP3/SMTP都要授权码了,千万要记下你的授权码啊,等一下是作为密码使用的。

     爱上源码网文章织梦dedecms提交自定义表单后发送到指定邮箱的内容插图

     

    开启成功后是这样的

     爱上源码网文章织梦dedecms提交自定义表单后发送到指定邮箱的内容插图1

     

    163邮箱篇

    163邮箱开启POP3/IMAP/SMTP 也是要授权码的,他是自定义的,不能跟邮箱的密码一样,所以千万要记得自己设置的授权码,一会用到它

     爱上源码网文章织梦dedecms提交自定义表单后发送到指定邮箱的内容插图2

     

    这里提示也是要开启授权码的

     爱上源码网文章织梦dedecms提交自定义表单后发送到指定邮箱的内容插图3

     爱上源码网文章织梦dedecms提交自定义表单后发送到指定邮箱的内容插图4

     爱上源码网文章织梦dedecms提交自定义表单后发送到指定邮箱的内容插图5

     

    根据自己邮箱开启POP3/IMAP/SMTP,接下来我们来设置后台,认真看下图红色圈着的,一个都不能少

     
    爱上源码网文章织梦dedecms提交自定义表单后发送到指定邮箱的内容插图6

    dedecms系统配置里添加收件人
     

    变量名称:cfg_shoujianren  
    变量类型:文本  
    参数说明:收件人  
    变量值:你的邮箱@qq.com  
    所属组:站点设置

     

    爱上源码网文章织梦dedecms提交自定义表单后发送到指定邮箱的内容插图7

    下载百度网盘链接: https://pan.baidu.com/s/10mfmS1ZW42nClnLAvNctTg 提取码: c9w2 
     

    下载,解压,把里面的4个文件放进/plus/文件夹下  
    最后一步 添加邮件发送  
    打开 /plus/diy.php 找到  
    $id = $dsql->GetLastID();  
    在它的前面一行加入

     

    //邮件发送开始 $emailbody ''; foreach($diy->getFieldList() as $field=>$fieldvalue) {     $emailbody .= $fieldvalue[0].':'.${$field}.'<br />'; } global $cfg_smtp_server$cfg_adminemail$cfg_smtp_port$cfg_smtp_usermail$cfg_smtp_password$cfg_webname$cfg_basehost$cfg_smtp_user;   //引入PHPMailer的核心文件 使用require_once包含避免出现PHPMailer类重复定义的警告 require_once("class.phpmailer.php");  require_once("class.smtp.php"); //实例化PHPMailer核心类 $mail new PHPMailer();   //是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式 $mail->SMTPDebug = 0;   //使用smtp鉴权方式发送邮件 $mail->isSMTP();   //smtp需要鉴权 这个必须是true $mail->SMTPAuth=true;   //链接qq域名邮箱的服务器地址 $mail->Host = $cfg_smtp_server;   //设置使用ssl加密方式登录鉴权 $mail->SMTPSecure = 'ssl';   //设置ssl连接smtp服务器的远程服务器端口号,以前的默认是25,但是现在新的好像已经不可用了 可选465或587 $mail->Port = $cfg_smtp_port;   //设置smtp的helo消息头 这个可有可无 内容任意 // $mail->Helo = 'Hello smtp.qq.com Server';   //设置发件人的主机域 可有可无 默认为localhost 内容任意,建议使用你的域名 $mail->Hostname = $cfg_basehost;   //设置发送的邮件的编码 可选GB2312 我喜欢utf-8 据说utf8在某些客户端收信下会乱码 $mail->CharSet = 'UTF-8';   //设置发件人姓名(昵称) 任意内容,显示在收件人邮件的发件人邮箱地址前的发件人姓名 $mail->FromName = $cfg_smtp_user;   //smtp登录的账号 这里填入字符串格式的qq号即可 $mail->Username = $cfg_smtp_usermail;   //smtp登录的密码 使用生成的授权码(就刚才叫你保存的最新的授权码) $mail->Password = $cfg_smtp_password;   //设置发件人邮箱地址 这里填入上述提到的“发件人邮箱” $mail->From = $cfg_smtp_usermail;   //邮件正文是否为html编码 注意此处是一个方法 不再是属性 true或false $mail->isHTML(true);    //设置收件人邮箱地址 该方法有两个参数 第一个参数为收件人邮箱地址 第二参数为给该地址设置的昵称 不同的邮箱系统会自动进行处理变动 这里第二个参数的意义不大 $mail->addAddress($cfg_shoujianren,$cfg_smtp_user);   //添加多个收件人 则多次调用方法即可,www.lol9.cn<a href="http://www.lol9.cn" target="_blank"><u></u></a>网 // $mail->addAddress('xxx@163.com','lsgo在线通知');   //添加该邮件的主题 $mail->Subject = $diy->name;   //添加邮件正文 上方将isHTML设置成了true,则可以是完整的html字符串 如:使用file_get_contents函数读取本地的html文件 $mail->Body = $emailbody;   //为该邮件添加附件 该方法也有两个参数 第一个参数为附件存放的目录(相对目录、或绝对目录均可) 第二参数为在邮件附件中该附件的名称 // $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->ErrorInfo;       exit;   } //邮件发送结束

     

    PHPMailer需PHP的socket扩展支持,而PHPMailer链接qq域名邮箱时需要ssl加密方式,固php还得openssl的支持,可以查看phpinfo,如下两项均存在则可以使用,其中openssl版本号之类不用管;许多虚拟主机中的

    php是不支持openssl扩展的,那你可能就悲剧了。如果你是用官方程序的发送邮件函数,那你的主机要开启fsockopen pfsockopen

    检查是否开启echo(function_exists(“fsockopen”));输出1,就是开启了,0就是没开启。
     

    出于安性考虑,空间商通常会将fsockopen pfsockopen函数禁用,以防黑客入侵但是关闭fsockopen pfsockopen函数sendmail发邮件不成功怎么办?

    我们可以用其他函数代替,如stream_socket_client()。

    具体操作方法:
     

    搜索程序中的字符串 fsockopen( 替换为 stream_socket_client( ,然后,将原fsockopen函数中的端口参数“80”删掉,并加到$host。

     

    示例如下:

    修改前:

       $fp = fsockopen($host, 80, $errno, $errstr, 30);

       或

       $fp = fsock

    修改后:

       $fp = stream_socket_client(‘tcp://’.$host.’80’, $errno, $errstr, 30);

       或

       $fp = stream_socket_client(‘tcp://’.$host.’:’.$port, $errno, $errstr, $connection_timeout);

    这样邮件就可以正常发送了!
     

    检查phpsocketopenssl扩展是否没开启可以在根目录新建个php.php 文件,里面写上

    <?php

    phpinfo();

    浏览器中打开这个文件 http://域名/php.php

    查看页面中是否有

     爱上源码网文章织梦dedecms提交自定义表单后发送到指定邮箱的内容插图8

     

    • 上一篇:
    • 下一篇:

    爱上源码网文章织梦dedecms提交自定义表单后发送到指定邮箱的内容插图9 说点什么吧

    • 全部评论(0
    • 最新 最早

    爱上源码网文章织梦dedecms提交自定义表单后发送到指定邮箱的内容插图10

      还没有评论,快来抢沙发吧!

    织梦cms建站教程从入门到精通,自由织梦网www.freedede.cn长期免费更新教程,图文结合dedecms建站教程经验,内容包含使用织

    梦CMS、做模板、写采集规则、做插件模块,是学习织梦产品的最佳去处。

    重要声明:
    1.本站视频教程,软件及网站源码版权均属于原作者所有,您必须在下载后的24个小时之内,从您的电脑中删除!非法商业用途,后果自负!
    2.本站不保证所提供下载资源的安全性和完整性,仅供下载学习之用!如链接失效或资源含外站广告,请联系客服处理!给予奖励!
    3.本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!本站提供有偿服务!如有侵权请联系在线客服!
    4.如您手中有优质资源或教程,可以自助投稿发布,成功分享后有奖励和额外收入!
    5.如您需要正版微擎模块可联系本站客服,我们有价值30w+商业微擎应用出售微擎坑位和招收代理!
    6.400电话/软著/ICP,EDI许可证/商标特价办理中!
    爱上源码下载网 » 织梦dedecms提交自定义表单后发送到指定邮箱

    常见问题FAQ

    从网站下载的源码都有安装教程么?不会安装怎么办?
    本站发布的网站源码和模板资源大部分在压缩包内都有教程,如您不会安装可以联系本站在线技术进行付费安装。
    爱上源码的所有源码都是亲测能正常运行的么?
    本站目前拥有资源10w+,包含整站源码,网站模板,游戏源码,小程序源码,视频教程,破解软件等,每天也在测试更新;因时间和精力有限我们无法对资源进行一一测试,只能保证所分享资源内容无误,希望理解。
    我手中的优质资源可以在你这换钱或者VIP么?
    爱上源码支持投稿,欢迎发布您手中的优质资源进行售卖;本站VIP支持免费获取,目前邀请10人注册爱上源码即可免费获取VIP。
    爱上源码除了资源分享还有其他业务没?
    【价值30W+微擎模块出售正版商业微擎坑位及招收代理,详情咨询本站客服!】我们团队目前运营并推广几套商业化saas智能小程序系统能满足大部分小程序开发需求,并由SaaS和独立部署版商城小程序系统;另外销售400电话,各种ICP/EDI资质证书办理,软著和商标注册服务等。

    发表评论

    • 32会员总数(位)
    • 35644资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 656稳定运行(天)

    提供最优质的资源集合

    开通VIP 源码下载