如何设置 sendmail(用于 Bugzilla)

如何设置 sendmail(用于 Bugzilla)

我已经安装了 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 教程,但是它们中的大多数都非常复杂,所以我无法完全理解它们。

再次感谢大家的帮助。

相关内容