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

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

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

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

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

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

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

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

image.png

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

image.png

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

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

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

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

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

image.png

(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, "邮件测试", "恭喜您,这是来自<a href="http://www.bbsxiaomi.com" target="_blank" class="infotextkey">小米技术社区</a>的邮件 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);  
       }  
   //--------留言反馈发送到邮箱结束

image.png

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

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

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

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

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

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

image.png

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/courses/262995.html

(0)
上一篇 2022年5月28日 00:38
下一篇 2022年5月28日 00:39

相关推荐

发表回复

登录后才能评论