Отправка электронной почты с моего сервера


11

Итак, я хотел бы отправить письмо с моего сервера.

Я установил mailx

apt-get install mailx

Но команда как

mail -s "Hello world" me@gmail.com

На самом деле выдает ошибку в / var / spool / mail /, которая говорит:

Mailing to remote domains not supported.

Почему это происходит?

Ответы:


17

Какой MTA вы используете локально? mailпросто дает вам возможность сформировать почтовое сообщение, но вам все еще нужно и MTA, чтобы сделать фактическую доставку? По умолчанию большинство дистрибутивов поставляются с sendmail. Скорее всего, вам потребуется установить другой MTA или настроить текущий для поддержки доставки извне.


1
Из лога здесь это выглядит как exim 4.69
bobobobo

6
Если вы используете Debian / Ubuntu, вам нужно отредактировать /etc/exim4/update-exim4.conf.confи изменить строку, чтобы прочитать dc_eximconfig_configtype='internet'и перезапустить exim. Если вы используете другой дистрибутив, убедитесь, что эта строка выглядит следующим образомhostlist relay_from_hosts = 127.0.0.1
vmfarms

10
На самом деле я использовал команду dpkg-reconfigure exim4-config"wizard", и теперь она работает! Благодарность!
бобобо

2

Потому что mailx ожидает полную инфраструктуру SMTP, которая не настроена по умолчанию. Какой тип SMTP-сервера (если есть) установлен (например, postfix, exim, sendmail, qmail)?


Я считаю, что у меня есть exim
bobobobo

1
# 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 Mail Agent в jessie и выше - https://packages.debian.org/jessie/dma, который представляет собой простую реализацию MTA, реализующую все хорошие почтовые функции UNIX, за исключением входящего SMTP, поэтому Вам не нужно беспокоиться о неправильной конфигурации или внешних уязвимостях.


0

Если у вас не установлен внутренний SMTP-сервер, вы можете отправлять почту, например, через SMTP-сервер Gmail, вы можете установить sSMTP MTA и настроить его с помощью gMail SMTP-сервера или другого внешнего SMTP-сервера.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.