娇娇龙 发表于 2010-11-21 14:06:59

bugzilla 3.6.3 windows集成安装包安装后使用sendmail发邮件失败

bugzilla 3.6.3 windows集成安装包安装后使用sendmail发邮件失败,问题出在哪里呢?

详细说明:

系统环境:windowsxp service pack3
bugzilla版本:bugzilla 3.6.3 英文版
前提是bugzilla已经安装成功。

web页面报告错误:
Bugzilla has suffered an internal error. Please save this page and send it to

yuan9502047@sina.com with details of what you were doing at the time this message appeared.

URL: http://localhost:81/process_bug.cgi


There was an error sending mail from 'bugzilla-daemon' to 'yuan9502047@sina.com':Found

/usr/lib/sendmail.exe but cannot execute it。

测试发邮件功能 操作步骤:

1.在bugzilla官网上下载了windows fake sendmailzip包。
解压后,把sendmail.exe和sendmail.ini拷到 c:/program files/usr/lib/下面。
(bugzilla安装路径 c:/program files/bugzilla)

2. bugzilla首页正常显示。
登陆地址:http://localhost:81
因为其他应用软件使用了80端口,故改变bugzilla安装时的apache的端口号为:81。

3.设置发送所有邮件
用管理员账号 yuan9502047@sina.com登陆bugzilla后,修改email发送设置
preferences->email preferences选项卡,选择“enable all mail”按钮,保存设置。
这样保证测试者自己修改bug状态,bugzilla也会发送通知邮件。默认自己修改bug状态
是不发送通知邮件的。

4. 设置bugzilla系统关于email的参数
管理员账号登陆,进入设置参数的web页面
方法:
进入 Administration-> parameters (链接)进入参数设置页面。
左边列表是参数的分类,选择email。

参数“mail_delivery_method ”: 设为sendmail.
参数“mailfrom”:保持默认,bugzilla-daemon。
参数“smtpserver ”:smtp.sina.com
smtp_username:smtp_username(这个参数是设置我自己新浪邮箱的authentification认证用户)
smtp_password: .......(是新浪邮箱的认证用户的密码)
smtp_debug :设为 "on".(打开smtp调试功能)


5.测试发邮件功能。
以管理员账号登陆,创建一个新的bug记录。修改bug状态new -> assigned。

期望结果:bug状态改变为assinged。页面显示发送邮件成功,并发送邮件给报告人yuan9502047@sina。

实际结果:
bug状态改变为assinged。web页面报错:
Bugzilla has suffered an internal error. Please save this page and send it to

yuan9502047@sina.com with details of what you were doing at the time this message appeared.

URL: http://localhost:81/process_bug.cgi


There was an error sending mail from 'bugzilla-daemon' to 'yuan9502047@sina.com':Found

/usr/lib/sendmail.exe but cannot execute it。

谢谢回复。

娇娇龙 发表于 2010-11-21 14:22:31

补充一下 sendmail.ini 配置文件设置:

; configuration for fake sendmail

; if this file doesn't exist, sendmail.exe will look for the settings in
; the registry, under HKLM\Software\Sendmail



; you must change mail.mydomain.com to your smtp server,
; or to IIS's "pickup" directory.(generally C:\Inetpub\mailroot\Pickup)
; emails delivered via IIS's pickup directory cause sendmail to
; run quicker, but you won't get error messages back to the calling
; application.

smtp_server=smtp.sina.com

; smtp port (normally 25)

smtp_port=25

; SMTPS (SSL) support
;   auto = use SSL for port 465, otherwise try to use TLS
;   ssl= alway use SSL
;   tls= always use TLS
;   none = never try to use SSL

smtp_ssl=auto

; the default domain for this server will be read from the registry
; this will be appended to email addresses when one isn't provided
; if you want to override the value in the registry, uncomment and modify

;default_domain=sina.com

; log smtp errors to error.log (defaults to same directory as sendmail.exe)
; uncomment to enable logging

error_logfile=error.log

; create debug log as debug.log (defaults to same directory as sendmail.exe)
; uncomment to enable debugging

debug_logfile=debug.log

; if your smtp server requires authentication, modify the following two lines

auth_username=yuan9502047
auth_password=XXXXX

; if your smtp server uses pop3 before smtp authentication, modify the
; following three lines.do not enable unless it is required.

pop3_server=
pop3_username=
pop3_password=

; force the sender to always be the following email address
; this will only affect the "MAIL FROM" command, it won't modify
; the "From: " header of the message content

force_sender=bugzilla-daemon

; force the sender to always be the following email address
; this will only affect the "RCTP TO" command, it won't modify
; the "To: " header of the message content

force_recipient=

; sendmail will use your hostname and your default_domain in the ehlo/helo
; smtp greeting.you can manually set the ehlo/helo name if required

hostname=yyy

文件结束。
希望有想法的都说一说。
windows配置bugzilla的发邮件功能,尝试失败后,我怀疑是apach 用户没有权限 执行sendmail.exe.(linux 下面配置bugzilla曾经遇到类似的问题)
曾经尝试了一种方法:
打开 c:/program files/usr/ 目录上,所有用户的“安全”权限我都打开,设为完全控制。
此设置没有起作用。

娇娇龙 发表于 2010-11-21 15:24:22

我在DOS下用命令行测试sendmail.exe 发送邮件是成功的!
(按照http://www.glob.com.au/sendmail/上说明进行测试)

另外:bugzilla windows的集成安装包下载地址:

http://landfill.bugzilla.org/win32installer/

moonshadow 发表于 2010-11-21 23:47:30

这个问题我也遇到了,不过是在3.6.2上。这个错误消息有误导性,其实是没有找到sendmail,因为usr不是在driver的根目录下,试试把usr目录从c:\Program Files 移到C:\根目录下。

娇娇龙 发表于 2010-11-22 13:38:36

大家好,谢谢moonshadow的回答。
先纠正一个错误,题目的问题是出在bugzilla版本 3.4.8 上面。我试过了把 c:/program files/usr/lib /sendmail.exe和sendmail.ini 放在c:/usr/lib下面,web页面返回错误信息:

Bugzilla has suffered an internal error. Please save this page and send it to yuan9502047@sina.com with details of what you were doing at the time this message appeared.

URL: http://192.168.11.156:81/process_bug.cgi

There was an error sending mail from 'bugzilla-daemon' to 'yuan9502047@sina.com':error when closing pipe to /usr/lib/sendmail.exe:




因为我把bugzilla安装在:c:/program files/ 下面,所以按照windows fake sendmail的安装配置说明,/usr/lib应该也放到相同的目录下面。

candy_03_06 发表于 2010-12-2 17:02:59

顶!我还是遇到了此类问题!还在解决中

mfwildfire 发表于 2010-12-16 09:24:44

如果提示 Found /usr/lib/sendmail.exe but cannot execute it。
就是没找到sendmail,经过亲身试验,bugzilla3.6.3把sendmail.exe和sendmail.ini拷贝到c:\usr\lib下即可解决该问题,我这边是公司exchange服务器,当然前提是你的bugzilla安装在c盘,也就是说sendmail要和bugzilla同一个驱动器盘符。

gooberlsj 发表于 2012-8-30 21:54:23

这个一键安装太方便了,非常感谢
页: [1]
查看完整版本: bugzilla 3.6.3 windows集成安装包安装后使用sendmail发邮件失败