Bugzilla mail_delivery_method 使用 TLS 进行 Gmail

Bugzilla mail_delivery_method 使用 TLS 进行 Gmail

我按照以下说明安装了 TLS这一页并验证该包是否已安装。

我重新启动了 Apache 服务器,以管理员身份登录 BugZilla 并转到Administration -> Parameters -> Email

SMTP::TLS我看不到上面链接的文章中描述的under选项mail_delivery_method。如何启用此选项?

答案1

对于任何试图在 Windows 机器上设置 Bugzilla 的电子邮件功能以使用 Gmail 的人,我刚刚花了两天半的时间使用 dawood 的解决方案http://www.dawood.in/bugzilla_alerts_using_gmail.html,无济于事。我的机器运行的是 64 位 Windows 7,我最终找到了解决方案,请跳到第三段。以下是 Dawood 的解决方案对大多数 Windows 用户不起作用的原因:

很有可能,如果您按照(很棒的)教程安装了 Bugzilla,那么您就安装了 ActivePerl。Dawood 的解决方案所依赖的 Email::Send::SMTP::TLS perl 包依赖于 Email::SMTP::TLS::ButMaintained 包,而后者又依赖于 Net::SSLeay 包。(这就是为什么即使按照 Dawood 的说明并修改了 Mailer.pm,下拉列表中也不会出现“SMTP::TLS”选项。依赖关系未解决。)问题是,Net::SSLeay 只有在使用与编译 Perl 时相同的编译器进行编译时才会安装。此外,文档中说:“千万不要想着复制 perl 二进制文件或从包中安装 perl 二进制文件。”哦……哎呀……ActivePerl 是从包中以二进制方式安装的。既然那样不行,那就试试吧。

要配置 Bugzilla 通过 Gmail 的 smtp 服务器发送邮件:

  1. 下载适用于 Windows 的 Glob sendmail 包装器http://glob.com.au/sendmail/并解压缩
  2. 将 sendmail.exe 和 sendmail.ini 复制到安装 unix 应用程序的驱动器上的 \usr\lib。因此,如果 Bugzilla 安装在 C:\Bugzilla,请在 C: 驱动器的根级别创建一个“usr”文件夹,其中包含一个“lib”文件夹。
  3. 打开 sendmail.ini。
  4. 在 sendmail.ini 中复制并粘贴这些值到相应的行:
    • smtp_服务器=smtp.gmail.com:587
    • smtp_ssl=tls
    • auth_用户名=<INSERT YOUR USERNAME HERE>
    • 验证密码=<INSERT YOUR PASSWORD HERE>
    • 如果您的 Gmail 服务器在特定域上运行,请确保取消注释并填写 default_domain 参数。
  5. 现在转到 Bugzilla 中的“管理”选项卡,然后选择“参数”
  6. 从左侧边栏中选择电子邮件。
  7. 在 mail_delivery_method 下的下拉菜单中,选择 Sendmail。
  8. 大功告成!Bugzilla 将通过 gmail 的 smtp 服务器发送电子邮件。

答案2

实际上我可以使用 dawood 的方法从 Windows 发送电子邮件。

http://www.dawood.in/bugzilla_alerts_using_gmail.html

我在 Windows 7 64 位上安装了 ActivePerl 5.16.1 32 位,并使用 CPAN 安装Email::Send::SMTP::TLS模块。从命令行打开 cpan:

C:\>cpan

然后从 cpan 内部安装模块:

cpan> install Email::Send::SMTP::TLS

它应该自动安装依赖项Net::SMTP::TLS::ButMaintained。虽然Net::SSLeay没有安装,但电子邮件仍然正常工作,所以我认为它不再是依赖项。

然后我按照 dawood 的指示修改了 Mailer.pm 文件。它工作正常。

答案3

在 Mailer.pm 中添加以下行,您应该能够SMTP::TLS在下拉列表中看到。

use Email::Send::SMTP::TLS;

答案4

这对我来说很有效:

./install-module.pl Email::Send::SMTP::TLS

相关内容