小樱 发表于 2016/3/18 04:01

discuz x3.1整合sendcloud发邮件注册,找回密码 api发信隐藏服务器IP地址

1、把SendCloud.php文件上传到 /source/class/
2、去http://sendcloud.sohu.com/cp/#/sendAround/template创建2个模板,调用名称分别为:bbs_lostpasswd        bbs_register 其他自己写。然后等待审核



3、编辑SendCloud.php文件,查找apiUser apiKey,将其补充完整。并把第三行和第九行的邮箱信息改成自己的
4、注意备份源文件,如class_member.php文件

【注册部分】
class_member.php文件上传到source/class/目录,DZ官方源文件记得备份,仅支持dz后台设置使用邮件发送注册链接(注意关闭QQ注册和发送欢迎邮件功能)。

【找回密码部分】
member_lostpasswd.php 文件上传到/source/module/member/目录,DZ官方源文件记得备份

官方API文档:http://sendcloud.sohu.com/doc/email/send_email/


下载:


感谢繁星提供技术支持。如果有什么好看漂亮的模板可以跟帖指出。


这个版本是3.2上改的,测试3.1可用





3.4可以手动修改,方法如下
class_member.php文件,搜索
$sendurl = $this->setting['sendregisterurl'] ? true : false;
if($sendurl) {
下方增加
                        if(strlen($_GET['hash'])<2){
                                if(strlen($_GET[';hash'])>2){$_GET['hash']=$_GET[';hash'];}
                               
                        }
                        if(strlen($_GET['email'])<2){
                                if(strlen($_GET[';email'])>2){$_GET['email']=$_GET[';email'];}
                               
                        }
搜索
$registerurl = "{$_G}member.php?mod=".$this->setting['regname']."&amp;hash={$hashstr}&amp;email={$_GET}";
下方增加
                                include_once('SendCloud.php');
                                $sendcloud_msg=mb_convert_encoding(sendcloud_send_mail_reg($_GET['email'],$registerurl), 'gbk', 'utf-8');
                                $sendcloud_msg=str_replace('邮件发送成功','register_email_send_succeed',$sendcloud_msg);
                                showmessage($sendcloud_msg, dreferer(), array('bbname' => $this->setting['bbname']), array('showdialog' => false, 'msgtype' => 3, 'closetime' => 10));

member_lostpasswd.php文件,搜索
require_once libfile('function/mail');
下方增加
        include_once('./source/class/SendCloud.php');
        $link=$_G['siteurl'].'member.php?mod=getpasswd&amp;uid='.$member['uid'].'&amp;id='.$idstring.'&amp;sign='.make_getpws_sign($member['uid'], $idstring);
        $send_mail_msg=sendcloud_send_mail_lostpw($member['email'],$link);
        $send_mail_msg=json_decode($send_mail_msg,true);
        //$send_mail_msg=mb_convert_encoding($send_mail_msg['message'], 'gbk', 'utf-8');
        if($send_mail_msg['statusCode']==200){showmessage('getpasswd_send_succeed', $_G['siteurl'], array(), array('showdialog' => 1, 'locationtime' => true));}
        showmessage('['.$send_mail_msg['statusCode'].']'.mb_convert_encoding($send_mail_msg['message'], 'gbk', 'utf-8'), $_G['siteurl'], array(), array('showdialog' => 1, 'locationtime' => true));



不可名 发表于 2016/3/18 04:03

{:2992:}

ILL 发表于 2016/3/20 09:32

新的版本支持X3.2{:2113:}

小樱 发表于 2016/3/20 10:03

ILL 发表于 2016/3/20 09:32
新的版本支持X3.2

你可以尝试下

ILL 发表于 2016/3/20 11:32

小樱 发表于 2016/3/20 10:03
你可以尝试下

我试了,成功了,还要感谢你的分享呢{:2113:}

小樱 发表于 2016/3/20 12:10

ILL 发表于 2016/3/20 11:32
我试了,成功了,还要感谢你的分享呢

嗯。

小樱 发表于 2016/3/21 12:56

<p>尊敬的用户:</p>

<p>您好!</p>

<p>感谢您注册IT技术交流论坛,请点击以下链接完成注册:<a href="%url%" target=_blank>%url%</a></p>

<p>IT技术交流论坛运营团队祝您使用愉快!</p>

<p>系统发信,请勿回复</p>

<p>如果您有什么疑问可以联系管理员,Email: 1265578519@qq.com</p>

<p>茵蒂克丝官方网站:<a href='http://www.itzmx.com/' target=_blank>http://www.itzmx.com/</a></p>


<p>尊敬的用户:</p>

<p>您好!</p>

<p>请点击以下链接重置密码:<a href="%url%" target=_blank>%url%</a></p>

<p>IT技术交流论坛运营团队祝您使用愉快!</p>

<p>系统发信,请勿回复</p>

<p>如果您有什么疑问可以联系管理员,Email: 1265578519@qq.com</p>

<p>茵蒂克丝官方网站:<a href='http://www.itzmx.com/' target=_blank>http://www.itzmx.com/</a></p>

amdme6655 发表于 2016/9/19 01:01

本帖最后由 amdme6655 于 2016/9/19 01:12 编辑

特地注册了个帐号来感谢楼主的无私奉献

使用了一段时间以后发现一个问题,使用邮件发送注册链接的话,需要邀请码注册的站点会导致一些人不看说明就直接进去发邮件了。。。sendcloud一天才200额度,伤不起呀

楼主能完善下其他部分的邮件就更好了,目前网上找遍了就您这独一家,需要这个的人应该还是挺多的

小樱 发表于 2016/9/19 10:19

amdme6655 发表于 2016/9/19 01:01
特地注册了个帐号来感谢楼主的无私奉献

使用了一段时间以后发现一个问题,使用邮件发送注册链接的话,需 ...

嗯嗯~~欢迎邮件是没有做。额度嘛,,你试试装个sendcloud官方的应用?那个生日和回帖提醒那个,免费送一个1000额度的帐号。应该可以用,可以试试看。
页: [1]
查看完整版本: discuz x3.1整合sendcloud发邮件注册,找回密码 api发信隐藏服务器IP地址