2006年8月11日测试,163.com 的邮箱已经不能中转了!
126.com 的可以中转,请大家申请126的邮箱。
申请地址:http://www.126.com/
一直以来,论坛发送邮件都有问题,今天,在测试生日发送邮件的时候出现发不出的问题,经过借鉴高手的心得和自己的几次测试终于解决了!
注意:下面这样的配置发送方法只适用于(单发)邮件,如果群发有可能会被邮件服务器认为是“垃圾邮件”而阻止、拒绝。
关于这个问题目前“hydeist”兄弟正在进行测试,梢后报结果给大家
下面的设置主要是针对“虚拟主机”的用户。
一般的虚拟主机都没有邮箱配置,即使是配置了所谓的企业邮箱也多数用不了!所以,比较简单的办法就是利用免费邮箱的“转发”功能作为中转,将论坛发送的邮件经过中转邮箱发送到目的地邮箱!
以前童虎有个关于这方面的说明,但可能还是有些人看不懂,所以,我才在童虎文章的基础上进一步详细说明!
现在,我用个实例来说明整个设置的详细经过!
第一步:申请一个免费邮箱作为“中转”邮箱
免费邮箱有好多,不过我个人认为网易的免费邮箱 126.com 是比较适合做中转的!
这里我申请的邮箱资料如下:
邮箱名: [email=dz@126.COM]dz@126.COM[/email]
邮箱用户名: dz
邮箱密码: 123456
SMTP: SMTP.126.COM
第二步:配置 config.inc.php
这个步骤是个关键步骤,是设置你论坛发送的邮件是否可以发送到中转邮箱!所以,应该将:
$adminemail = 'admin@your.com';
红色部分的内容填上你的中转“邮箱名”。那按上面我的邮箱的资料我应该填成这样:
- $adminemail = 'dz@126.com';
复制代码
很多人都是在配置这里的时候模糊了,所以不成功!
第三步:配置 mail_config.inc.php
这里分二步;
1、配置邮件发送方式!
2、配置已经选择好的邮件发送方式的属性资料!
1、配置邮件发送方式!
mail_config.inc.php 内的邮件发送方式有三个可以选择的项目,分别是:
a、不发送。
b、通过 SOCKET 连接 SMTP 服务器发送(支持 ESMTP 验证)
c、通过 PHP 函数 SMTP 发送 Email(仅 win32 下有效, 不支持 ESMTP)
在这里,我们选择“b”。那么填写就应该是下面这个样子:
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
- // 验证密码
复制代码
这么多的选项里我们一般只需配置四个选项中的红色字部分即可,按上面的资料应该这样填写:
这里填写你用于中转的邮箱的 SMTP
原始:$mailcfg['server'] = 'smtp.21cn.com';
填写后:$mailcfg['server'] = 'smtp.126.com';
如果你不知道你邮箱的 SMTP,你可以在你的邮箱的“帮助”里找到答案。 这里填写你用于中转的“邮箱名”。
原始:$mailcfg['from'] = 'Discuz <myaccount@21cn.com>';
填写后:$mailcfg['from'] = ' 测试邮箱<dz@126.COM>';
这里需要说明下:单纯的“邮箱名”是没有“<>”的,但如果你需要在接收到邮件的时候,在发件人那栏出现你或者是论坛名称的话,就需要加上“<>”并且,将你或者是你论坛的名称写在前面。 这里填写你用于中转的邮箱的“邮箱用户名”。
原始:$mailcfg['auth_username'] = 'myaccount';
填写后:$mailcfg['auth_username'] = 'dz'; 这里填写你用于中转的邮箱的“邮箱密码”。
原始:$mailcfg['auth_password'] = 'password';
填写后:$mailcfg['auth_password'] = '123456';
OK!到这里你就可以将这些已经填写好的文件传到服务器上去了!
接下来我们需要进行的就是测试了!怕大家已经删除了 utilities 文件,所以特发个上来。
将附件解开后得到的 testmail.php 文件进行配置,然后放到你论坛的目录。这个文件是测试邮件发送的文件。你也可以在官方下载的 Discuz!_4.1.0_SC_GBK/utilities 内找到这个文件。
按上面的资料配置如下:
这里填写你的中转“邮箱名”
$from = 'dz@126.com';
这里填写任意一个你可以收到邮件的“邮箱名”作为测试,看是否可以收到论坛发来的邮件。
$to1 = '这里填写任意的“目的地邮箱名”';
填写好以后上传服务器。!
OK!浏览器输入 http://你的域名/论坛目录/testmail.php 回车,去“目的地邮箱”看看是否已经收到??
如果收到主题名为“我”的邮件,那就恭喜你啦!
OK!最后一步:删除 utilities 文件,切记!
我的测试是用 126.com 作中转,用雅虎中国作“目的地邮箱”,收信的速度简直快到…………这里发 YAHOO 马上就收到!
最后祝诸位快乐!
[ 本帖最后由 M55 于 2006-9-16 05:12 编辑 ] |