emailrelay "не может привязать порт прослушивания"

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

Поэтому я пытаюсь посоветовать вам использовать 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

2 ответа

Решение

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

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

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

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

Для Ubuntu:

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

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

Другие вопросы по тегам