您现在的位置是:首页 >其他 >帝国cms收到留言反馈如何自动发送邮件?SMTP和mail函数发送邮件方法-常规25端口和465ssl加密端口发送网站首页其他

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

执刀人的工具库 2024-06-17 10:25:04
简介帝国cms收到留言反馈如何自动发送邮件?SMTP和mail函数发送邮件方法-常规25端口和465ssl加密端口发送

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

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

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

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

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

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

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

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

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

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

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

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

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

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

修改

1

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

1

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

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

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

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

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<?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}测试完并成功收到邮件后记得删除esend_mail.php文件。

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

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

{1}打开eclassq_functions.php ,搜索printerror("AddFeedbackSuccess",$reurl,1);

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

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

         //--------留言反馈发送到邮箱开始

                        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);  

       }  

   //--------留言反馈发送到邮箱结束

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

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

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

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

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

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。