我已经安装了 Bugzilla,正在尝试使用邮件功能。显然它可以使用 Linux Sendmail 来实现。我根本不了解电子邮件的工作原理。我在网上搜索了很多教程来解释整个过程的工作原理(Sendmail、SMTP、域等)。
有人可以为我提供一份讲解基础知识的教程,然后帮助安装 sendmail,以便 Bugzilla 可以发送出站电子邮件吗?
附言:我没有域名。这将在我们的开发服务器上运行。您是否需要单独的邮件服务器或域名来使 sendmail 正常工作?我不需要接收任何电子邮件,只需发送它们即可!
答案1
找到了使用 gmail SMTP 设置 Bugzilla 的完美解决方案。虽然有点不方便,但还没有找到更好的方法。
问题在于 Gmail 的 SMTP 是通过 SSL 运行的,而 Bugzilla 不支持该协议。因此,您需要安装 perl Email::Send::SMTP::TLS 模块并修改 Bugzilla 的代码。所有内容均在此处解释:--www.dawood.in/bugzilla_alerts_using_gmail.html
警告:您需要在 Mailer.pm 第 57 行添加以下两行代码(教程中省略):my $smtp_server;my $emtp_port;
祝你好运!
答案2
Bugzilla -> 配置 -> 电子邮件
是的,你需要一个 SMTP 服务器
如果在已安装 sendmail 并正常运行的 Linux 服务器中运行,请选择 sendmail(尝试在 shell 中启动服务 sendmail)
或者选择 SMTP 并在 smtpserver 中添加 smtp 服务器,如果您在某处有一个“免费”帐户,也许他们有一个您可以使用的 SMTP 服务器(需要用户/密码)。
答案3
回到这里是因为最近 debian 上的 bugzilla 有一个安全更新。deb 默认会覆盖 /usr/share/perl5/Bugzilla/Mailer.pm。这意味着我们必须重复前面描述的修改代码的过程(www.dawood.in/bugzilla_alerts_using_gmail.html)
总而言之,这是你必须做的事情:
1) modify /usr/share/perl5/Bugzilla/Mailer.pm and add "use Email::Send::SMTP::TLS;"
2) modify /usr/share/perl5/Bugzilla/Mailer.pm and add "my ($smtp_server,$smtp_port);" under "sub MessageToMTA {"
3) search in /usr/share/perl5/Bugzilla/Mailer.pm for "SMTP" and change the if-clause to following:
if ($method eq "SMTP" || $method eq "SMTP::TLS") {
($smtp_server,$smtp_port) = split /:/,Bugzilla->params->{"smtpserver"};
push @args, Host => $smtp_server,
User => Bugzilla->params->{"smtp_username"},
Password => Bugzilla->params->{"smtp_password"},
Hello => $hostname,
Debug => Bugzilla->params->{'smtp_debug'};
push @args, Port => $smtp_port if($smtp_port);
}
答案4
我会尝试在这里回答您的所有问题:(抱歉,我在这里有临时帐户,在我删除了我的 cookies 之后,我就无法再访问它了:S)@Kyle - 我正在尝试向普通域名发送电子邮件,例如 yahoo、gmail 等。这里没有什么特别的 - 我认为我不能使用 postfix,因为 Bugzilla 只有以下选项:SMTP、Sendmail、无。
@Javier - 我确实安装了 sendmail,并且守护程序正在运行 (ps aux | grep sendmail) - 我尝试使用以下方式输入 gmail 帐户:* SMTP 服务器:smtp.google.com * smpt_user 和 stmp_pass 也已设置(已检查)现在,它说它已发送电子邮件(不再抱怨它无法发送电子邮件)但收件箱中没有任何邮件!我真的很想使用此选项,因为它似乎是最简单的方法。
@standalone-sysadmin - 我正在运行 Ubuntu 8.10 - 测试了 echo test | mail -s“Test 1”[电子邮件保护]这是我得到的结果:可以在以下软件包中找到程序“mail”:* heirloom-mailx * mailutils 尝试:apt-get install -bash:mail:未找到命令
我执行了“apt-get install mailutils”,现在当我运行命令时,它不会抱怨或说任何话,但没有邮件到达我的收件箱。 - 我已经找了很多 sendmail 教程,但是它们中的大多数都非常复杂,所以我无法完全理解它们。
再次感谢大家的帮助。