Назад | Перейти на главную страницу

localhost [127.0.0.1] в заголовках писем

Я использую sendmail для отправки очень простого электронного письма из текстового файла. Вот текстовый файл:

to:test@someaddress.com
from:admin@hostname.tld
subject:Testing

test test test

Который я отправляю с:

sendmail -t < mail.txt

Сервер, с которого я запускаю sendmail, называется hostname.tld. Вот / etc / hosts:

12.34.56.78     hostname hostname.tld
127.0.0.1       localhost

Где hostname.tld - это fqdn сервера, а 12.34.56.78 - публичный IP-адрес сервера. / etc / hostname просто содержит hostname.tld

Когда я получаю письмо, я получаю такой заголовок:

Received: from hostname.tld (hostname.tld [127.0.0.1])

Я не хочу 127.0.0.1, я хочу, чтобы там был публичный IP, но я не могу заставить sendmail его использовать, что бы я ни делал. Я также отредактировал /etc/mail/sendmail.mc, добавив в него строку:

define(`confDOMAIN_NAME', `hostname.tld')dnl

Но ничего не делает.

Я прочитал так много тем, в которых у людей есть похожая проблема, но, похоже, ничего не решает ее. Что я могу сделать?

Это было моим решением:

/ etc / hosts:

12.34.56.78     hostname.tld
127.0.0.1       localhost

/etc/mail/submit.mc:

FEATURE(`msp', `[12.34.56.78]', `25')dnl

(изначально у него было 127.0.0.1 вместо моего публичного IP)

/etc/mail/sendmail.mc:

DAEMON_OPTIONS(`Family=inet,  Name=MTA-v4, Port=smtp, Addr=12.34.56.78')dnl
DAEMON_OPTIONS(`Family=inet,  Name=MSP-v4, Port=submission, M=Ea, Addr=12.34.56.78')dnl

(обе эти строки изначально имели 127.0.0.1, при его изменении sendmail будет прослушивать ваш публичный IP-адрес вместо localhost).

Выполните команду:

make -C /etc/mail

Перезагрузить sendmail:

service sendmail reload

После отправки моего тестового письма с:

sendmail -t < mail.txt

Заголовок, который мне сейчас не понравился, говорит:

Received: from hostname.tld (hostname.tld [12.34.56.78])

И нигде в заголовках нет упоминания о localhost или 127.0.0.1

Когда вы отправляете электронное письмо с помощью сценария на локальном компьютере, оно является получено от localhost. Публичный IP будет показан в следующем Received:-линия.