Saber 酱的抱枕

Fly me to the moon

04/16
2016
学习

dedecms使用smtp将表单信息发送到邮箱

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将表单信息发送到邮箱

07/24
2014
学习

wordpress增加评论有回复时邮件提醒的功能

为了实现这个功能也不少折腾,现在实现了,还是用的插件==

本来我想着用插件简单些,于是搜索到了一个插件Comment Reply Notification,但是一看几年没更新了,怕出问题,于是转而去使用添加php代码的方法实现。

关于php代码实现的方法参考http://www.wpdaxue.com/comment-mail-notify.html

这次尝试失败了,我推测原因还是这部分代码里面使用了wp_mail()函数,但我的linux主机不支持 mail() 函数所致。之前发送找回密码的邮件时也遇到过这个问题。这篇参考文章虽然提到了一个能设置wordpress使用smtp发送邮件的插件wp-mail-smtp(我昨天已经装上了),但是代码里应该怎样修改并没有提==

最后还是使用插件来实现了,但是需要更改wp-mail-smtp的一处代码。我做的过程也再写出来吧。

1.安装并配置插件WP-Mail-SMTP,可参考 http://www.saber.love/386

2.安装并配置插件Comment Reply Notification,设置为所有人的回复都发送提醒。

3.修改WP-Mail-SMTP插件的wp_mail_smtp.php文件(位于wp-contentpluginswp-mail-smtp中),找到如下语句删除或者注释之就可以了。

if ( $orig != $default_from ) {
return $orig;
}

至此已经完成,去试试吧~o(∩_∩)o ~

我这里出现了奇怪的问题,启用Comment Reply Notification没有设置就去回复,发送的邮件是中文的,等到去设置里一看,变成了英文,发送的邮件也是英文了。只好再改过来。附上一个现成的模版代码:

标题:

您在 [[blogname]] 的评论有了一条新的回复,快来看看吧

正文:

来自[blogname]: [blogurl]
您在文章 《[postname]》里的评论有了一条新回复。
<strong>这是您的评论:</strong>
[pc_content]
<strong>新的回复:</strong>
[cc_content]
您可以点击这里查看更多关于评论的信息:
<a href="[commentlink]">[commentlink]</a>
感谢您的参与! ^o^ 
这封邮件是系统自动发送的,请勿回复此邮件!

目前这个方法似乎有个缺陷:在后台的评论管理里直接回复的话,是不会发送邮件提醒的,只能到文章页去回复。

参考文章:
http://www.ppblog.cn/wp-mail-smtp.html
http://www.ipeld.net/archives/247.html

wordpress增加评论有回复时邮件提醒的功能

07/23
2014
学习

wordpress使用smtp发送邮件

找回密码需要发送邮件的时候,收到提示:

无法发送电子邮件。
可能原因:您的主机禁用了mail()函数。

百度之后找到一个插件WP-Mail-SMTP,最后弄好了,邮件发送成功。

首先来说这个插件的设置。插件安装后启用,在设置里面打开其控制面板,进行如下设置(此例中是未使用SSL的QQ邮箱,如果使用SSL则把端口改成465):

更正:现在username那一项需要填写@后缀了。

最后一项的密码,情况如下:
1.如果有授权码,就写授权码
2.如果没有授权码但有独立密码,就写独立密码
3.以上都没有就写qq登录密码

最后测试时不能填写自己在此站点的注册邮箱,否则不会发送邮件。

之后看自己邮箱的设置,需要邮箱开启POP3/SMTP服务。IMAP/SMTP服务我也开了,没测试后者不开的时候能不能用。

下面是使用SSL并使用授权码的QQ邮箱设置,注意划红线处和上图的区别:

相关:WORDPRESS用户注册成功后,页面直接显示注册密码,无需邮箱获取

wordpress使用smtp发送邮件