51Testing软件测试论坛

标题: mantis邮件服务器无法自动发送邮件,请各位老师帮忙! [打印本页]

作者: lc1119    时间: 2009-8-21 17:33
标题: mantis邮件服务器无法自动发送邮件,请各位老师帮忙!
mantis邮件服务器无法自动发送邮件,请各位老师帮忙!谢谢!

问题情况描述如下:
mantis系统的这个功能一直可以使用。近期,公司对邮件服务器的发送和接收端口进行了限制,SMTP的端口统一更改为465, POP3端口统一为995;
自从公司设置这个限制之后,我们的mantis系统就不能给人员自动发送邮件了。新建账号后,也不能收到邮件,无法进行激活操作。
-------------------------------------------------------------------
重置密码时错误提示如下:
SYSTEM WARNING: fputs(): supplied argument is not a valid stream resource
SYSTEM WARNING: fgets(): supplied argument is not a valid stream resource

PROBLEMS SENDING MAIL TO: yao.liu@XXXXXX.com
Mailer Error: The following From address failed: nms.softwaredept@XXXXXX.com

-------------------------------------------------------------------
config_inc.php文件如下:
###########################
# mail setting
###########################
         $g_smtp_host = 'smtp.XXXXXX.com';
        $g_smtp_username = 'nms.softwaredept';
        $g_smtp_password = 'XXXXXXXXXXXX';
        $g_administrator_email = 'nms.softwaredept@XXXXXX.com';
        $g_webmaster_email = 'nms.softwaredept@XXXXXX.com';
        $g_from_email = 'nms.softwaredept@XXXXXX.com';
        $g_to_email = 'nms.softwaredept@XXXXXX.com';
        $g_return_path_email = 'nms.softwaredept@XXXXXX.com';
        $g_enable_email_notification = ON;
        $g_use_phpMailer = ON;
        #实际指定的是下面的路径 D:\mantis\core\phpmailer
        $g_phpMailer_path = 'c:/php5/core/phpmailer/';
        #$g_phpMailer_path = 'd:/mantis/core/phpmailer/';
        $g_phpMailer_method = 2;

---------------------------------------------------------
当此项目设置为:  $g_smtp_host = 'smtp.XXXXXX.com:465';
弹出如下提示:Fatal error: Maximum execution time of 60 seconds exceeded in D:\mantis\core\phpmailer\class.smtp.php on line 1018
---------------------------------------------------------
备注:使用foxmail对mantis公共帐号'nms.softwaredept@XXXXXX.com'进行了测试。使用这两个加密端口可以成功收发邮件。

我觉得应该在mantis中对端口号进行一些设置,才能解决这个问题。请大家帮忙,我该如何操作和修改。谢谢!
作者: lc1119    时间: 2009-8-24 09:44
各位大侠,多多指教,谢谢!
作者: yahan618    时间: 2009-9-12 11:28
遇到同样问题,但是不知道怎么解决
   也没大侠相助
每思此处,倍感心酸
作者: zhang.tp    时间: 2010-1-21 14:16
标题: 和你一样
我也是和你一模一样的问题,徘徊了1周了,就是没有找到如何解决这个问题的办法,哎,真头疼!
楼主现在知道怎么解决了吗?更新一下啊!
作者: qdlover    时间: 2010-1-21 16:17
不知道你那个class.smtp.php1080行是什么,我下载的最新版本的phpmailer5.0那个文件才814行

直接在class.smtp.php里面设置断点调

看看导致的php超时错误的行是什么

再把传入的参数echo出来看看到底哪个参数有问题

理论上mail client可以做到的,php应该也可以
作者: qdlover    时间: 2010-1-21 16:43
在网上找到一个类似的解决方案

今天又重新装Mantis了,不过这回使用了新的邮件地址作为mail host,最后采用了Gmail

使用常规配置,结果发现在页面看不出来错误,但是无法收到邮件。经过检查之后,发现邮件根本就没有发出去,存在问题。查了mantisbt bug 库,终于发现了这个问题,原来Gmail使用SSL,所以邮件配置也需要做一些适当的调整。

$g_phpMailer_method = 2;
$g_smtp_host = 'ssl://smtp.gmail.com:465';
$g_smtp_username = 'youmail@gmail.com';
$g_smtp_password = 'youpassword';

按照以上的配置做好之后,还需要修改你的php.ini文件,将php_openssl的extension前面的分号去掉,然后还需要下载最新的class.phpmailer.php文件覆盖原来的文件.

Download link hereunder:

http://www.mantisbt.org/bugs/view.php?id=8369

After  finished those steps, you should restart the apache service .

Congratulation, You can use the email function via Gmail.
作者: zhang.tp    时间: 2010-2-5 13:57
标题: 真的好了!
谢谢qdlover这位抱孩子的哥们!你写的方法我调试了,真的成功了
但是我发现你提到的GMAIL,我并没有用到啊
只是在原来的smtp前加上了"'ssl://smtp.********.com:465';"
$g_smtp_username = 'youmail@*******.com';就这样就成功了!
也不太清楚哪个文件是mantisbt bug 库.
我新手,能阅读你的回帖后明白很多东西,谢谢
作者: baimuchan    时间: 2010-2-14 23:55
不会吧,兄弟们不是没接触过SOCKET吧,SMTP的端口缺省是25,POP3端口缺省是110,缺省的意思就是不写端口时的默认端口,现在端口改变了,当然要明确写明了。
就像WEB端口,缺省时80:http://www.163.com:80(大家试一下这个端口),可通过http://www.163.com直接访问。
如果端口改为666,则为:http://www.163.com:666
作者: baimuchan    时间: 2010-2-14 23:56
现在的同志们被引导了,只知道JAVA怎样写,都不写CS程序了,连简单的端口概念都不知道了。
作者: zhang.tp    时间: 2010-2-21 10:28
标题: 不是端口号的问题
不仅仅是端口号的问题
不是只在后面追加上端口号就能解决的问题
关键在于'ssl://'这个部分的添加
可能是后面写端口号前面也必须有'ssl://
作者: baimuchan    时间: 2010-3-7 14:59
在 SMF 中设置 Gmail 的 SMTP 服务器
如果你也在用 SMF 论坛,那么推荐在 SMF 中设置使用 Gmail 的 SMTP 来发送激活/通知邮件。SMF 的后台提供了填写 SMTP 服务器端口的栏目,但是也没有选择 SSL 的地方。我们可以用下面的办法来实现:

进入 SMF 后台,点击“服务器设置 -> 功能配置”,在这里填写上述设置信息。SMF 这里多了一项内容,就是“端口号”(连接埠),SSL 的端口号是 465。默认填写的 25 是针对 PHP Mail 和一般 SMTP 的。



Setting Gmail SMTP on SMF



如上图所示,SMF 后台是这样设置 Gmail SMTP 的:

电子邮件类型:SMTP

SMTP 服务器:ssl://smtp.gmail.com

SMTP 连接埠:465

SMTP 帐号: somebody@gmail.com此邮件地址受阻挡spam的自动程序保护,需要激活Javascript功能才能查阅。

SMTP 密码:**************

确认密码:   **************



这里的技巧在于:直接给 SMTP 主机名称前面加上 ssl:// 协议。

SMF 还有一个特殊地方是,在这里填写的 SMTP 帐号必须与“管理员信箱”一致。点击后台的“服务器设置 -> 核心配置”,就能找到一项“管理员电子邮件”,在这里也必须填写与邮件设置那里一样的 Gmail 帐号。

Gmail 的 SMTP 邮件限量
为了防止有人利用 Gmail 的免费 SMTP 服务发送大量垃圾邮件,Gmail 规定:每个帐号通过 SMTP 每天只能发给 100 个收件人(注意:不是 100 封邮件,这个限制更严格),超过这个数量就被封号24小时;如果你登录到 Gmail 的 web 界面,则每天可以发给 500 个收件人,超过这个数量也会被封号 24 小时。

如果你的网站注册人数很多,或者论坛发帖量很大,则每天发送的激活/通知邮件很容易超过 100 封,这就违反了 Gmail 的规定,会被停用帐号 24 小说 —— 本站昨天已经经历了一次这样的处罚。

这样来说,Gmail 的 SMTP 不能用在大型网站。如果你的网站每天发送的激活/通知邮件不超过 100,我推荐使用 Gmail SMTP;如果超过这个数量,就需要寻找其它不限量的 SMTP,或者自己搭建一个 SMTP 了 —— 大型网站都会这么做。

自己搭建 SMTP 服务器
本站论坛最近人气逐渐增加,每天的激活、通知邮件也很多,Gmail 的 SMTP 已经不够用了。因此 Tiger 就搭建了一个 SMTP 服务器,用的是 Postfix for FreeBSD 程序。在测试时发现两个问题,就是下面提醒里面的,目前都已经解决。

自己搭建 SMTP 服务器的好处是:没有信件限量,或者说作为 Postmaster 你有完全的权限控制限量多少。另外,速度也很快,如果你没有开设大量帐号的话。

借助开源的 ExtMail 软件,你还可以给你的邮件服务器创建 Web 界面,这样你就得到一个名副其实的电子邮局了。如果你想给会员权限来注册免费电邮都可以。

最后提醒一下:

1、如果你自己搭建的 SMTP 发送邮件时发现被拒收,很可能是因为被 spamhaus.org 列入黑名单,你可以到他们网站进行搜索。如果证实被误判为垃圾邮件发送源,就可以申诉,请求解除封锁。已经有热心网友撰写了《spamhaus的PBL申诉图解》,你可以参考一下。

2、发往 Hotmail 的邮件会被微软服务器进行反向解析,如果解析失败就拒收。因此自己搭建 SMTP 服务器时注意必须同时做好反向解析。

3、如果你用 Gmail 或其他要求 SSL 连接的 SMTP 服务器时,发现设置正确但是无法发出邮件,请检查一下你的网站服务器是否支持以 SSL 协议访问外部 URL —— 问问你的空间商吧。



如果您在邮件设置或者搭建SMTP服务器的过程中遇到困难,欢迎到本站的 Joomla! 中文论坛 适当的版块发帖讨论。
作者: baimuchan    时间: 2010-3-7 15:01
GOOGLE搜索所用关键字:ssl协议 端口 SMTP
大家多用GOOGLE吧,你们的问题网上一般都有现成的答案。

回复楼上:SSL只是一种加密协议,而在网上进行的任何操作,都经过端口的。
作者: 竹紫    时间: 2010-3-24 11:11
我用的是foxmail收发邮件,设置如下
       $g_phpMailer_method = 2; #使用SMTP服务
       $g_smtp_host = 'XXX.XXX.XXX.XXX';
      $g_smtp_username = 'xxxx@xx.cn';
      $g_smtp_password = 'password';
      $g_return_path_email ='xxxx@xx.cn';

按上面的设置之后,在mantis当中,对某一个用户进行密码重置的时候,用该用户的邮箱来收邮件,可以正常接收。
但是对另外一个用户进行密码重置时,还是用的上面用户的邮箱来接收,这时就无法收到邮件了。对其他用户操作,同样都收不到邮件。

按理来说如果是设置有问题,那应该是所有用户都收不到邮件才对,可奇怪就奇怪在居然还有一个用户能收到邮件。哪位大侠遇到过这种怪事没?
作者: leozhang    时间: 2010-10-28 19:36
这个帖子好! 解决了我对sendmail 配置的疑问
作者: sophie.jing    时间: 2016-1-19 14:57
yahan618 发表于 2009-9-12 11:28
遇到同样问题,但是不知道怎么解决
   也没大侠相助
每思此处,倍感心酸

7年过去了,同样的问题,还是找不到合适的解决方法。心酸。
作者: 13932231191    时间: 2019-5-29 16:30
sophie.jing 发表于 2016-1-19 14:57
7年过去了,同样的问题,还是找不到合适的解决方法。心酸。

10年过去了,同样的问题,还是找不到合适的解决方法。心酸。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2