我正在亚马逊的EC2上设置我的网络服务器。我的网站过去经常在本地运行,使用我的ISP的SMTP服务器发送电子邮件,这以前并不是一个问题--但是现在这些电子邮件来自外部,我的ISP不接受它们。
因此,我尝试使用这里的建议使用EmailRelay转发电子邮件,添加身份验证,通过我在谷歌上的帐户。
我遵循了说明,创建了emailrelay.auth文件,运行了配置、生成、make,但是当我尝试启动电子邮件中继服务时,我得到了以下错误:
$ 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,没有joy --我不知道下一步该尝试什么。
(我的服务器正在运行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未内置”)。
编辑:
看起来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发布于 2010-08-07 18:22:30
此错误意味着它无法获得对端口25的独占访问(SMTP的默认端口)。这要么是因为它已经在使用,要么是因为作为一个非特权用户,您无法访问编号小于1024的端口。
可能已经有一个程序运行在25端口上。可能是sendmail,但可能是postfix或qmail (我不知道Oracle对邮件使用了什么)。你需要关闭任何这样的程序。
如果您关闭计算机上的任何电子邮件软件,并以根用户身份运行电子邮件中继,您可能不会收到该错误消息。
发布于 2012-05-09 22:03:16
在运行Ubuntu的EC2实例上,我遇到了同样的问题。
用于Ubuntu
sudo apt-get install libssl-dev./configure && make && sudo make install现在,要么使用:25 (如果是清除的话),要么给另一个端口发送邮件中继--port 12345 --它按照预期工作。
https://stackoverflow.com/questions/3430820
复制相似问题