Я выполняю logwatch вручную (никакое задание крона). Я использую nullmailer для отправки электронных писем с сервера с помощью сервера SMTP моего ISP. Я могу послать тестовые электронные письма из командной строки без проблем. Но logwatch использует плохое "От" адреса, который заставляет мой ISP отклонять электронную почту, и я не могу найти, что установка изменяется.
В моем logwatch файле конфигурации я имею MailFrom = me@gmail.com
. Первые строки электронной почты, сгенерированной logwatch, похожи на это:
root@myserverhostname.gmail.com
me@timewarnercable.com
Received: (nullmailer pid 5939 invoked by uid 0);
Sun, 25 Sep 2016 15:25:02 -0000
To: me@timewarnercable.com
From: root@gmail.com
Subject: Logwatch for myserverhostname (Linux)
Заметьте, что адрес в первой строке файла имеет myserverhostname
вставленный в него. К сожалению, это, кажется, адрес, который действительно используется. Домен на От: строка корректна, и работала бы, за исключением того, что она изменила мое имя пользователя для укоренения. К: строка и 2-я строка соответствия файла.
Примечание: От: адрес не точно, что показывают в logwatch файле конфигурации. Я указал MailFrom = me@gmail.com
и это обнаруживается в От как root@gmail.com
. Кажется, что настройки файла конфигурации для logwatch переопределяются где-нибудь.
Как я могу мешать logwatch вставить myserverhostname
в От адреса и менять мое имя на root
?
Править: соответствующая часть logwatch.conf
# Default person to mail reports to. Can be a local account or a
# complete email address. Variable Output should be set to mail, or
# --output mail should be passed on command line to enable mail feature.
MailTo = me@timewarnercable.com
# WHen using option --multiemail, it is possible to specify a different
# email recipient per host processed. For example, to send the report
# for hostname host1 to user@example.com, use:
#Mailto_host1 = user@example.com
# Multiple recipients can be specified by separating them with a space.
# Default person to mail reports from. Can be a local account or a
# complete email address.
MailFrom = me@gmail.com
Ошибка из mail.log
Sep 25 11:15:52 myserverhostname nullmailer[10724]: smtp: Failed: 550 5.1.0 <root@myserverhostname.gmail.com> sender rejected : invalid sender domain
Нижняя строка, Когда logwatch генерирует электронную почту, он не использует значение, которое я предоставил в строке MailFrom файла конфигурации.
На MailFrom я предоставил me@gmail.com
но это использовало root@myserverhostname.gmail.com
в первой строке электронной почты, и root@gmail.com
в От: строка электронной почты. Мне нужен он для высказывания me@gmail.com
в первой строке, по крайней мере. Если я вручную редактирую электронную почту и заменяю ту строку, она отправляет очень хорошо.
Большое спасибо heynnema для его полезных предложений. Он указал на меня на 2-й конфигурационный файл, который мог быть изменен для решения проблемы.
Это, оказалось, не было проблемой с logwatch или nullmailer, но с самим sendmail. Это был sendmail, который игнорировал исходные данные из logwatch файла конфигурации и вставлял его собственное значение От адреса.
, К счастью, /user/share/logwatch/dist.conf/logwatch.conf
файл имеет строку
mailer = "/usr/sbin/sendmail -t"
, я смог вынудить корректное покинуть адрес путем изменения этого для чтения
mailer = "/usr/sbin/sendmail -t -f me@gmail.com"