试运行~~~~

针对“虚拟主机”配置您论坛的“邮件发送”(小品)

上一篇 / 下一篇  2006-04-21 16:45:11 / 天气: 晴朗 / 心情: 高兴 / 置顶(3) / 个人分类:Discuz!4.1插件



一直以来,论坛发送邮件都有问题,今天,在测试生日发送邮件的时候出现发不出的问题,经过借鉴高手的心得和自己的几次测试终于解决了!

QUOTE:
注意:下面这样的配置发送方法应该只适用于单发或者少量发送邮件,如果群发有可能会被邮件服务器认为是“垃圾邮件”而阻止、拒绝。

关于这个问题目前“hydeist”兄弟正在进行测试,梢后报结果给大家
下面的设置主要是针对“虚拟主机”的用户。

一般的虚拟主机都没有邮箱配置,即使是配置了所谓的企业邮箱也多数用不了!所以,比较简单的办法就是利用免费邮箱的“转发”功能作为中转,将论坛发送的邮件经过中转邮箱发送到目的地邮箱!

以前童虎有个关于这方面的说明,但可能还是有些人看不懂,所以,我才在童虎文章的基础上进一步详细说明!

现在,我用个实例来说明整个设置的详细经过!

第一步:申请一个免费邮箱作为“中转”邮箱


免费邮箱有好多,不过我个人认为网易的二种免费邮箱 163.com 或者 126.com 是比较适合做中转的!

QUOTE:
这里我申请的邮箱资料如下:

邮箱名:    dz@163.COM
邮箱用户名:   dz
邮箱密码:  123456
SMTP:     SMTP.163.COM

第二步:配置 config.inc.php


这个步骤是个关键步骤,是设置你论坛发送的邮件是否可以发送到中转邮箱!所以,应该将:

QUOTE:
$adminemail = 'admin@your.com';
红色部分的内容填上你的中转“邮箱名”。那按上面我的邮箱的资料我应该填成这样:

$adminemail = 'dz@163.com';
很多人都是在配置这里的时候模糊了,所以不成功!

第三步:配置 mail_config.inc.php


这里分二步;

QUOTE:
1、配置邮件发送方式!
2、配置已经选择好的邮件发送方式的属性资料!
1、配置邮件发送方式!
     mail_config.inc.php 内的邮件发送方式有三个可以选择的项目,分别是:
a、不发送。
b、通过 SOCKET 连接 SMTP 服务器发送(支持 ESMTP 验证)
c、通过 PHP 函数 SMTP 发送 Email(仅 win32 下有效, 不支持 ESMTP)

在这里,我们选择“b”。那么填写就应该是下面这个样子:

$mailsend = 2;
2、配置已经选择好的邮件发送方式的属性资料!
既然选择了

$mailsend = 2;
那么我们就应该配置“2”的属性。默认是这个样子的:

} elseif($mailsend == 2) {             // send via Discuz! ESMTP interface
                                // 通过 Discuz! SMTP 模块发信

$mailcfg['server'] = 'smtp.21cn.com';        // SMTP host address
                                        // SMTP 服务器

$mailcfg['port'] = '25';                // SMTP 端口, 默认不需修改
                                // SMTP port, leave default for most occations

$mailcfg['auth'] = 1;                // require authentification? 1=yes, 0=no
                                // 是否需要 AUTH LOGIN 验证, 1=是, 0=否

$mailcfg['from'] = 'Discuz <myaccount@21cn.com>';        // mail from (if authentification required, do use local email address of ESMTP server)
                                                // 发信人地址 (如果需要验证,必须为本服务器地址)

$mailcfg['auth_username'] = 'myaccount';             // username for authentification
                                        // 验证用户名

$mailcfg['auth_password'] = 'password';        // password for authentification
                                        // 验证密码
这么多的选项里我们一般只需配置四个选项中的红色字部分即可,按上面的资料应该这样填写:

QUOTE:
这里填写你用于中转的邮箱的 SMTP

原始:$mailcfg['server'] = 'smtp.21cn.com';
填写后:$mailcfg['server'] = 'smtp.163.com';

如果你不知道你邮箱的 SMTP,你可以在你的邮箱的“帮助”里找到答案。


QUOTE:
这里填写你用于中转的“邮箱名”。

原始:$mailcfg['from'] = 'Discuz <myaccount@21cn.com>';
填写后:$mailcfg['from'] = ' 测试邮箱<dz@163.COM>';

这里需要说明下:单纯的“邮箱名”是没有“<>”的,但如果你需要在接收到邮件的时候,在发件人那栏出现你或者是论坛名称的话,就需要加上“<>”并且,将你或者是你论坛的名称写在前面。


QUOTE:
这里填写你用于中转的邮箱的“邮箱用户名”。

原始:$mailcfg['auth_username'] = 'myaccount';
填写后:$mailcfg['auth_username'] = 'dz';


QUOTE:
这里填写你用于中转的邮箱的“邮箱密码”。

原始:$mailcfg['auth_password'] = 'password';
填写后:$mailcfg['auth_password'] = '123456';
OK!到这里你就可以将这些已经填写好的文件传到服务器上去了!

接下来我们需要进行的就是测试了!怕大家已经删除了 utilities 文件,所以特发个上来。

将附件解开后得到的 testmail.php 文件进行配置,然后放到你论坛的目录。这个文件是测试邮件发送的文件。你也可以在官方下载的 Discuz!_4.1.0_SC_GBK/utilities 内找到这个文件。

按上面的资料配置如下:

QUOTE:
这里填写你的中转“邮箱名”

$from = 'dz@163.com';


QUOTE:
这里填写任意一个你可以收到邮件的“邮箱名”作为测试,看是否可以收到论坛发来的邮件。

$to1 = '这里填写任意的“目的地邮箱名”';
填写好以后上传服务器。!

OK!浏览器输入 http://你的域名/论坛目录/testmail.php 回车,去“目的地邮箱”看看是否已经收到??

如果收到主题名为“我”的邮件,那就恭喜你啦!

我的测试是用 163.com 作中转,用雅虎中国作“目的地邮箱”,收信的速度简直快到…………这里发 YAHOO 马上就收到!


最后祝诸位快乐无比!

[ 本帖最后由 M55 于 2006-4-21 16:00 编辑 ]


附件: testmail.rar (2006-4-21 05:40, 811 bytes)
该附件被下载次数 13

TAG: 情感绿洲

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar