我正在亚马逊的 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