在某项目中要做一个发信机制,由于客户的邮箱是腾讯企业邮箱,所以我去搜了下腾讯企业邮箱的POP、SMTP、IMAP协议的服务器、端口号等信息。
国内:
POP3协议:
pop.exmail.qq.com 端口110 (SSL的端口号是995)
SMTP协议:
smtp.exmail.qq.com 端口25 (SSL的端口号是465)
IMAP协议:
imap.exmail.qq.com 端口143 (SSL的端口号是993)
海外:
POP3协议:
hwpop.exmail.qq.com 端口110 (SSL的端口号是995)
SMTP协议:
hwsmtp.exmail.qq.com 端口25 (SSL的端口号是465)
IMAP协议:
hwimap.exmail.qq.com 端口143 (SSL的端口号是993)
腾讯企业邮箱的POP、SMTP、IMAP协议服务器信息
dedecms后台有自定义表单功能,将前台表单数据保存到后台里。但是要查看只能去后台看,时间长了感觉非常的麻烦。于是我找到了将表单信息自动发送到邮箱的办法。
1.确保你有个开启了IMAP/SMTP功能的邮箱。
2.在 dedecms后台→系统→系统基本参数→核心设置中,设置你邮箱的smtp信息。
这里填好就行了,设置里有个“网站发信EMAIL”不用管。
3.在 dedecms的plus文件夹下找到diy.php,在85行的位置有如下语句:
$query = "INSERT INTO `{$diy->table}` (`id`, `ifcheck` $addvar) VALUES (NULL, 0 $addvalue); ";
在其下方添加发送邮件的代码即可(前两行要自己设置一下):
$mailtitle = "信息表单";//邮件标题 $mailbody = "姓名:{$name}\r\n联系方式:{$lianxi}";//花括号里是该元素的name属性 $headers = $cfg_adminemail;//用我们刚才设置的管理员邮箱发送 $mailtype = 'TXT';//邮件类型为文本类型 require_once(DEDEINC.'/mail.class.php');//加载 dedecms的邮件库 $smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);//创建smtp服务 $smtp->debug = false;//不启用调试 $smtp->sendmail($cfg_smtp_usermail,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);//发送邮件(收件人,网站名,发件人,邮件标题,邮件内容,邮件类型)
注意,第二行里按需填写表单控件的name值。如果你有很多表单项,可以一个个都写出来。
至此,当有表单提交时, dedecms就会自动往邮箱里发一封邮件了(自己往自己邮箱里发一封邮件)。
Read More →
dedecms使用smtp将表单信息发送到邮箱
找回密码需要发送邮件的时候,收到提示:
无法发送电子邮件。
可能原因:您的主机禁用了mail()函数。
百度之后找到一个插件WP-Mail-SMTP,最后弄好了,邮件发送成功。
首先来说这个插件的设置。插件安装后启用,在设置里面打开其控制面板,进行如下设置(此例中是未使用SSL的QQ邮箱,如果使用SSL则把端口改成465):
更正:现在username那一项需要填写@后缀了。
最后一项的密码,情况如下:
1.如果有授权码,就写授权码
2.如果没有授权码但有独立密码,就写独立密码
3.以上都没有就写qq登录密码
最后测试时不能填写自己在此站点的注册邮箱,否则不会发送邮件。
之后看自己邮箱的设置,需要邮箱开启POP3/SMTP服务。IMAP/SMTP服务我也开了,没测试后者不开的时候能不能用。
下面是使用SSL并使用授权码的QQ邮箱设置,注意划红线处和上图的区别:
相关:WORDPRESS用户注册成功后,页面直接显示注册密码,无需邮箱获取