emailrelay "не может привязать порт прослушивания" - PullRequest
0 голосов
/ 07 августа 2010

Я настраиваю свой веб-сервер на Amazon EC2.Мой сайт раньше работал локально и использовал SMTP-сервер моего провайдера для отправки электронной почты, что раньше не было проблемой, но теперь, когда письма приходят извне, мой провайдер их не принимает.

ПоэтомуЯ пытаюсь совет здесь использовать EmailRelay для пересылки электронной почты, добавив аутентификацию через мою учетную запись в Google.

Я следовал инструкциям, создал файл emailrelay.auth, запуститенастроить, сделать, сделать установку, но когда я пытаюсь запустить службу ретрансляции электронной почты, я получаю эту ошибку:

$ 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

Ответы [ 2 ]

1 голос
/ 07 августа 2010

Ошибка означает, что он не может получить эксклюзивный доступ к порту 25 (порт по умолчанию для SMTP). Это либо потому, что он уже используется, либо потому, что как непривилегированный пользователь у вас нет доступа к портам с номерами меньше 1024.

Возможно, на порту 25 уже запущена программа, возможно, sendmail, но, возможно, postfix или qmail (я не знаю, что Oracle использует для почты). Вам нужно будет закрыть любую такую ​​программу.

Если вы выключите какое-либо программное обеспечение для работы с электронной почтой на компьютере и запустите emailrelay от имени пользователя root, вы, вероятно, не получите это сообщение об ошибке.

0 голосов
/ 10 мая 2012

Я получил этот вопрос с той же проблемой на экземпляре EC2, работающем под управлением Ubuntu.

Для Ubuntu :

  1. первый sudo apt-get install libssl-dev
  2. затем (пере) запустить ./configure && make && sudo make install

Теперь либо с помощью :25, если очистить, либо с подачей другого порта на ретранслятор электронной почты --port 12345, он работает как положено.

...