Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

Discuz论坛邮件不能发送的原因和解决办法

[复制链接]
版本错误 发表于 2006-9-5 17:02:30 | 显示全部楼层 |阅读模式
件不能发送的原因和解决办法
文件:include/sendmail.php
查找

fputs($fp, "DATA\r\n");

在其后添加
sleep(1);

作用是暂停一秒后继续运行,如果1还是不行,就改成2,或者是3。
关于论坛邮件系统的说明
邮件系统能不能正常使用,是由两个方面决定的
1)本身服务器是否支持发送邮件,不同的服务器对邮件发送的支持也是不同的,你可以根据自己的主机来配置论坛根目录下的mail_config.php文件中的$mailsend变量来决定,具体配置见下面的代码

$mailsend = 1;                // 邮件发送方式        0=不发送任何邮件
                        //                1=通过 PHP 函数及 UNIX sendmail 发送(推荐此方式)
                        //                2=通过 SOCKET 连接 SMTP 服务器发送(支持 ESMTP 验证)
                        //                3=通过 PHP 函数 SMTP 发送 Email(仅 win32 下有效, 不支持 ESMTP)

如果你不清楚你的服务器是那种类型,可通过 utilities/testmail.php 进行测试,测试方法如下,把论坛压缩包里面的utilities/testmail.php文件打开,把里面的

$from = 'my@mydomain.com';                        // 发件人邮件地址
$to1 = 'test@test.com';                                // 测试单一邮件发送地址
$to2 = 'test1@test1.com, test2@test2.net';        // 测试邮件群体发送地址

这个部分进行配置,然后传到服务器执行,这样如果服务器支持邮件发送,那么你填写的地址将收到邮件,如果没有收到邮件则说明你的服务器不支持邮件发送。
如果你的服务器不支持邮件发送,还有一个办法可以实现就是申请一个支持邮件发送的免费邮箱,然后在上面所说的配置论坛根目录下的mail_config.php文件中的$mailsend变量中选择2,然后把再在那个文件中找到

$mailcfg['server'] = 'smtp.21cn.com';                // SMTP 服务器
$mailcfg['port'] = '25';                                // SMTP 端口, 默认不需修改
$mailcfg['auth'] = 1;                                // 是否需要 AUTH LOGIN 验证, 1=是, 0=否
$mailcfg['from'] = 'Discuz <myaccount@21cn.com>';        // 发信人地址 (如果需要验证,必须为本服务器地址)
$mailcfg['auth_username'] = 'myaccount';                // 验证用户名
$mailcfg['auth_password'] = 'password';                // 验证密码

根据上面的信息解释,填写好信息,这样就可以发送邮件了。
做好上面的几步,基本上就可以正常发送邮件了,如果你还是不能发送邮件请往下看
2)决定邮件发送系统是否正常的第二个因素,这个就是邮件接收方的问题了,现在市面上大部分免费邮箱都有防止*信的功能,是否能收到信要看接收方是否能够通过认证,有时候没有收到信很可能是接收方的邮件系统把你的信件过滤了,如果出现这种情况你可以统计一下那些信箱不能收到信,然后联系这些提供免费邮箱网站的相关部门,说明情况一般就可以解决了

评分

2

查看全部评分

DJT 发表于 2006-9-5 17:10:33 | 显示全部楼层
技术帖
回复

使用道具 举报

xyao 发表于 2006-9-5 17:41:12 | 显示全部楼层
留名
回复

使用道具 举报

vaman 发表于 2006-9-7 16:56:55 | 显示全部楼层
8错~
回复

使用道具 举报

freddy 发表于 2006-9-7 17:14:20 | 显示全部楼层
妈的!我不能加分了!!!
回复

使用道具 举报

羽扇纶巾 发表于 2006-9-7 18:19:19 | 显示全部楼层
lz的沙发又没坐成。。。
回复

使用道具 举报

maxgo 发表于 2006-9-9 01:31:33 | 显示全部楼层
我用testmail都发送成功了,就是注册的时候收不到邮件
郁闷 加了sleep也不行
回复

使用道具 举报

 楼主| 版本错误 发表于 2006-9-21 14:00:28 | 显示全部楼层
回复

使用道具 举报

kamanru 发表于 2006-11-23 14:09:41 | 显示全部楼层
我本来可以发送“论坛通知”的邮件的,但自从升级成5.0就不行。

依照上面的方法用 testmail.php 测试,执行后是一片空白,也没有收到信件;但若是论坛 mysql 有问题,则会收到信件;后台添加新用户,该新用户也会收到信件。为何只有“论坛通知”不行?这是什么原因,有没有解决的方法?
回复

使用道具 举报

gcafrk 发表于 2006-11-26 23:49:54 | 显示全部楼层
目前的问题是,只要发邮件有需要验证的,就不能用了,比如163邮箱、21CN邮箱等。

望DISCUZ能够解决这个问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-15 23:42 , Processed in 0.028852 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表