0

AmazonのEC2にWebサーバーをセットアップしています。私のサイトは以前はローカルで実行され、ISPのSMTPサーバーを使用して電子メールを送信していましたが、これまで問題はありませんでしたが、現在、電子メールはISPの外部から発信されているため受け入れられません。

したがって、私はここで、EmailRelayを使用して、Googleのアカウントを介してメールを転送し、認証を追加するというアドバイスを試みています。

指示に従い、emailrelay.authファイルを作成し、configure、make、make installを実行しましたが、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が組み込まれていません」)。

編集:

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

if clearを使用:25するか、別のポートを emailrelay にフィード--port 12345すると、期待どおりに動作するようになりました。

于 2012-05-09T22:03:16.530 に答える