帝国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)修改系统文件e\class\class.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’ ); $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}在其上面添加如下代码
注意:一定要把[接收邮箱]的邮件地址改成自己的接收邮箱,否则肯定收不到邮件
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(“[email protected]”,”[email protected]”,”[email protected]”); $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}到邮箱查看是否有以下邮件,如果有以下邮件即为配置成功,如果没有按照以上操作步骤自查