Итак, я хочу отправить письмо с моего сервера.
Я установил mailx
apt-get install mailx
Но такая команда, как
mail -s "Hello world" me@gmail.com
На самом деле выдает ошибку в / var / spool / mail / который говорит:
Mailing to remote domains not supported.
Почему так происходит?
Какой MTA вы используете локально? mail
просто дает вам возможность формировать почтовое сообщение, но вам все еще нужен и MTA для фактической доставки? По умолчанию в большинстве дистрибутивов есть sendmail. Скорее всего, вам потребуется установить другой MTA или настроить текущий для поддержки внешней доставки.
Поскольку mailx ожидает полной инфраструктуры SMTP, которая не настроена по умолчанию. Какой тип SMTP-сервера, если он есть, у вас установлен (например, postfix, exim, sendmail, qmail)?
# fgrep remote /var/log/exim4/mainlog.1 | sed -E 's#([ <])[^ <]+@[^ >]+([ >])#\1a@b\2#g' | head -1 2019-01-08 00:47:00 1ggebk-00055M-St ** a@b <a@b> R=nonlocal: Mailing to remote domains not supported #
Похоже, что Debian может поставляться с exim4
он настроен на некорректную работу на подключенном к Интернету компьютере, где исходящие порты smtp не заблокированы.
Как указано в различных комментариях, чтобы он работал правильно, нужно запустить dpkg-reconfigure exim4-config
, и в мастере выберите первый internet
вариант. Обратите внимание, что в последующих диалоговых окнах мастера по умолчанию по-прежнему установлено только прослушивание localhost
Адреса IPv4 / IPv6, поэтому, похоже, если вы оставите другие значения по умолчанию, вы все равно оставите входящий порт SMTP в покое.
Чтобы убедиться, что мастер работает правильно, вы можете проверить специфичную для Debian /etc/exim4/update-exim4.conf.conf
(да, это двойной .conf.conf
, это не опечатка), что сыграло свою роль в этом фиаско. Вот соответствующие части после запуска dpkg-reconfigure exim4-config
и изменяя только первый параметр в мастере, который разрешает отправку почты, но оставляет порт SMTP открытым только для самого устройства (вариант по умолчанию, если вы просто щелкаете мышью в реконфиге после первого варианта):
dc_eximconfig_configtype='internet'
…
dc_local_interfaces='127.0.0.1 ; ::1'
Другое решение - установить Почтовый агент DragonFly в Джесси и выше - https://packages.debian.org/jessie/dma - это простая реализация MTA, реализующая все полезные функции почты UNIX, кроме входящего SMTP, поэтому вам не нужно беспокоиться о неправильной настройке или внешних уязвимостях.
Если у вас не установлен внутренний SMTP-сервер, вы можете отправлять свою почту, например, через SMTP-сервер Gmail, вы можете установить sSMTP MTA и настроить его с помощью SMTP-сервера gMail или другого внешнего SMTP-сервера.