В Ubuntu os, с установленным sendmail
(возможно, по умолчанию установленным пакетом), но не настроенным, я попытался ввести оба
echo "Text message" | mail <dest_ip_address>\!dest_user
а также
echo "Text message" | mail dest_user@<dest_ip_address>
где <dest_ip_address>
находился в той же локальной сети, что и локальная машина. Но почта не была отправлена. Отправитель получает сообщение об ошибке, в котором говорится:
<user@<dest_ip_address>> (expanded from <<dest_ip_address>!dest_user@localhost>): bad address syntax
в первом случае и аналогичная ошибка во втором.
Поэтому отправитель почты всегда рассматривает синтаксис, <dest_ip_address>
на локальный компьютер, и, похоже, игнорирует указанный <dest_ip_address>
.
Однако в /etc/hosts
есть строка для <dest_ip_address>
, с
<dest_ip_address> hostname
Можно ли настроить какую-либо конфигурацию в sendmail
или в целевом узле? Или что еще?
Если вы хотите отправить электронное письмо пользователю по IP-адресу, вам нужно заключить его в скобки, например dest_user@[ip.ad.dr.ess]
.
Будет ли эта адресация принята принимающим сервером, является другой проблемой. Мои почтовые серверы не принимают адрес электронной почты, адресованный ему IP-адресу.
Часто вы можете посмотреть заголовки отскок почты о том, что пошло (не так), как далеко почта получила и какая машина отклонила его (или была отключена).
Если у вас есть доступ к /var/log/mail.log
отправляющего и / или принимающего устройства, проверьте их на наличие сообщений, чтобы вы начали искать возможные проблемы с конфигурацией на правильной машине.
Глядя на файлы журнала, это самый простой подход, но вы, конечно же, можете также telnet в порт 25 принимающего устройства, чтобы проверить, будет ли он принимать электронные письма (используя правильные комманды).