0

我正在亚马逊的 EC2 上设置我的网络服务器。我的网站曾经在本地运行,并使用我的 ISP 的 SMTP 服务器发送电子邮件,这在以前不是问题 - 但现在电子邮件来自我的 ISP 外部,不会接受它们。

因此,我在这里尝试通过我在 Google 上的帐户使用 EmailRelay 转发电子邮件、添加身份验证的建议。

我已经按照说明创建了 emailrelay.auth 文件,运行了 configure、make、make 安装,但是当我尝试启动 emailrelay 服务时,我收到了这个错误:

$ emailrelay --as-proxy smtp.gmail.com:587 --client-tls --client-auth /etc/emailrelay.auth
emailrelay: error: cannot bind the listening port: 0.0.0.0:25
emailrelay: exception: cannot bind the listening port: 0.0.0.0:25

我查看了用户指南,尝试使用--interface认为这可能是问题的选项 - 提供各种 IP,但没有任何乐趣 - 我不知道下一步该尝试什么。

(我的服务器运行的是 Oracle Enterprise Linux 5.1)

编辑:

由于 sendmail 在端口 25 上运行,我尝试了另一个端口。现在我收到一个新错误:

$ emailrelay --as-proxy smtp.gmail.com:587 --client-tls --client-auth /etc/emailrelay.auth --port 8025
emailrelay: error: cannot do tls/ssl: openssl not built in
emailrelay: exception: cannot do tls/ssl: openssl not built in

杀死 sendmail 后,我用端口 25 重试了,我得到了同样的错误(“不能做 tls/ssl:openssl not built in”)。

编辑:

看起来openssl没有安装:

$ grep ssl config.log
  $ ./configure --with-openssl
configure:7373: checking for openssl
conftest.cpp:31:25: error: openssl/ssl.h: No such file or directory
| #include <openssl/ssl.h>
configure:7431: WARNING: ignoring --with-openssl, check config.log and try setting CFLAGS
config.status:719: creating src/gssl/Makefile
4

2 回答 2

1

该错误意味着它无法获得对端口 25(SMTP 的默认端口)的独占访问权限。这是因为它已经在使用中,或者因为作为非特权用户,您无权访问编号小于 1024 的端口。

可能已经有一个程序在端口 25 上运行。可能是 sendmail,但也可能是 postfix 或 qmail(我不知道 Oracle 使用什么来发送邮件)。您将需要关闭任何此类程序。

如果您关闭计算机上的任何电子邮件软件并以 root 身份运行 emailrelay,您可能不会收到该错误消息。

于 2010-08-07T18:22:30.213 回答
0

我在运行 Ubuntu 的 EC2 实例上遇到了同样的问题。

对于Ubuntu

  1. 第一的sudo apt-get install libssl-dev
  2. 然后(重新)运行./configure && make && sudo make install

现在要么使用:25if clear,要么向 emailrelay 提供另一个端口,--port 12345它按预期工作。

于 2012-05-09T22:03:16.530 回答