小米技术社区
小米技术社区管理员 关于小米

27岁,山西运城人,职业电商经理人,前端开发工作者,从事过网站建设、网络推广、SEO、SEM、信息流推广、二类电商、网络运维、软件开发,等相关电商工作,经验较为丰富,小米技术社区致力于为广大从事Web前端开发的人员提供一些力所能及的引导和帮助 ...[更多]

E-mail:mzze@163.com

Q Q:32362389

W X:xiaomi168527

小米技术社区大牛王飞 关于王飞

27岁,山西运城人,职业电商经理人,网络工程师兼运维,从事过运营商网络建设,企业网络建设、优化。数据中心网络维护等通过,经验丰富,座右铭:当自己休息的时候,别忘了别人还在奔跑。 ...[更多]

E-mail:wf_live@126.com

Q Q:3940019

微博:王小贱ss

小米技术社区设计小艳 关于小艳

大于花一样的年龄,河南郑州是我家,2010年在北京接触团购网,2011年进入天猫淘宝一待就是四年,如今已经将设计走向国际化(ps:误打误撞开始进入阿里巴巴国际站的设计,嘿嘿)五年电商设计,丰富经验,从事过天猫淘宝阿里各项设计,店铺运营,产品拍摄;我将我的经历与您分享是我的快乐!座右铭:越努力越幸运! ...[更多]

E-mail:97157726@qq.com

Q Q:97157726

标签云
精品推荐
  • 帝国cms安全性防护-防患于未然

    帝国cms安全性防护-防患于未然

    帝国cms安全防护主要从以下几个方面来1.如果是展示站点,用不到个人空间,删除e/space文件,并在后台关闭会员注册,并开启验证码,提升安全性严重性:不法分子通过注册账号,在e/s……
    271人已经看过了
  • 帝国cms随机调用信息

    帝国cms随机调用信息

    我们知道,帝国cms随机调用标签是[ecmsinfo]1,5,32,0,0,2,0,”,’rand()’[/ecmsinfo]但是这种调用方式在数据量特别大的时候严重影响生成速度,对于中大型网站不建议使用 我们……
    2825人已经看过了
  • 帝国cms分页列表样式

    帝国cms分页列表样式

    <div class="pagelist">[!--show.listpage--]</div>css/*pagelist*/.pagelist{ text-align:center; overflow: hidden; margin-top:60px; clear: both;}.pageli……
    1777人已经看过了
  • 帝国cms灵动标签用法

    帝国cms灵动标签用法

    1、标题+简介示例:[e:loop={2,1,0,0}] <h1><a href="<?=$bqsr[titleurl]?>" target="_blank" title="<?=$bqr[title]?>"> <?=esub($bqr[title],36)?> </a></h1><p><?=esub($b……
    306人已经看过了
  • 帝国常用标签汇总

    帝国常用标签汇总

    帝国CMS内容页模版如何调用当前栏目名称和链接 <a href="<?=sys_ReturnBqClassname($navinfor,9)?>/">[!--class.name--]</a>……
    293人已经看过了
您的位置:首页 > CMS > 帝国CMS

帝国cms收到留言反馈如何自动发送邮件?SMTP和mail函数发送邮件方法,常规25端口和465ssl加密端口发送

分类: 帝国CMS30个赞

用帝国cms开发的网站站点,如何实现收到留言或者反馈自动给指定邮箱发邮件呢?


很多开发者在[系统参数设置]-[FTP/EMAIL]配置好后发现邮件并不能按照所想发送,这是为什么呢?


首先:想要实现帝国cms系统收到留言反馈后自动发送邮件,必须要有发送邮件方和接收方,并且发送方需要配置相关参数



一、帝国cms 邮件发送方相关参数配置和申请


(1)先去相关邮件服务商开通账号的SMTP邮件发送服务,这里以QQ邮箱为例(参考图),网易等其他邮箱操作大同小异

{1}进入QQ邮箱,点击设置-账户

要实现帝国cms邮件自动发送需要先去服务商开启 POP3/SMTP服务

{2}拉到页面底部开启 POP3/SMTP服务,并生成授权码用于第三方邮箱

开启pop3和smtp服务,并生成第三方邮件授权码

(2)进入帝国cms后台[系统参数设置]-[FTP/EMAIL]

{1}SMTP服务器写smtp.qq.com

{2}端口写25或者465,25端口为不加密,465为SSL加密,建议用加密形式,随着时代的发展,很多邮件服务商不让用25端口了

{3}发信人地址和邮箱登陆用户名填写你自己的邮箱名

{4}邮箱登陆密码填写你刚生成的授权码,切记,不是自己邮箱的使用密码

在帝国cms后台配置email邮件

(3)修改系统文件e\class\class.smtp.php,找到第62行,按以下要求修改并保存

注:如上一步SMTP端口填写的是25则跳过这步,填写465请修改

修改

$this->smtp_conn = fsockopen($host,    # the host of the server


$this->smtp_conn = fsockopen("ssl://".$host,    # the host of the server

修改class.smtp.php文件,添加ssl

以上3步操作完后 邮件发送方的配置已经完毕

下面来测试下邮件是否能正常发送

(4)测试邮箱是否能正常发送

{1}在e文件夹下新建一个send_mail.php文件,输入以下代码(记得修改下面中邮件接收者的E-mail)

<?php
require('class/connect.php');
require('class/db_sql.php');
$link=db_connect();
$empire=new mysqlquery();

echo "send start <br />";
include('class/SendEmail.inc.php');
$mail_test="wwwbbsxiaomicom@qq.com";//邮件接收者的E-mail
$sm=EcmsToSendMail($mail_test, "邮件测试", "恭喜您,这是来自小米技术社区的邮件 www.bbsxiaomi.com,如果收到,说明您的邮件配置已经成功");//邮件接收者的E-mail, 邮件标题, 邮件正文
echo $mail_test." send over for www.bbsxiaomi.com  <br />";

db_close();
$empire=null;
?>

{2}执行文件

在浏览器中输入"[网站地址]/e/send_mail.php"测试。(本地localhost127.0.0.1也可用哦)


{3}测试完并成功收到邮件后记得删除e\send_mail.php文件。

如果没有测试成功,请按照1,2,3步骤排查可能出错的地方


(5)操作邮件接收方所收的邮件内容

{1}打开\e\class\q_functions.php ,搜索printerror("AddFeedbackSuccess",$reurl,1);


{2}在其上面添加如下代码

注意:一定要把[接收邮箱]的邮件地址改成自己的接收邮箱,否则肯定收不到邮件

         //--------留言反馈发送到邮箱开始
                        if($bid==1)//反馈ID1 ,根据自己的情况 
           {  
                $sendmail=1;//1 发邮件 0不发邮件  
                $email=array('info@qq.com');  //接收邮箱
                //多邮箱示例
                //$email=array("wwwbbsxiaomicom@qq.com","wwwbbsxiaomicom@qq.com","wwwbbsxiaomicom@qq.com");
                $subject="$add[title]";
                $content="询盘来自小米技术社区www.bbsxiaomi.com:
                                $add[title]
                姓  名:$add[name]
                邮  箱:$add[email]
                电  话:$add[mycall]
                公  司:$add[company]
                提交时间:$saytime
                提交来源:   $add[source_url]
                关联产品:   $add[product]
                提交者IP:$ip
                此询盘由www.bbsxiaomi.com系统发出,请及时跟进,勿回复"
                ; 
            }   
   //发送邮件部分  
   if($sendmail)  
       {  
               @include(ECMS_PATH.'e/class/SendEmail.inc.php');  
               EcmsToSendMail($email,$subject,$content);  
       }  
   //--------留言反馈发送到邮箱结束

修改q_functions文件,添加邮件发送详细信息

(6)最后再次测试留言反馈邮件自动发送是否成功

{1}打开帝国自动留言信息反馈系统

你的域名+/e/tool/feedback/?bid=1

{2}输入测试信息,并提交

用帝国cms自带的原生留言反馈信息测试邮件发送情况

{3}到邮箱查看是否有以下邮件,如果有以下邮件即为配置成功,如果没有按照以上操作步骤自查

邮件测试成功,收到帝国cms系统自动发送的邮件

小米技术社区