sendmail - с одинаковыми именами от и до хоста - PullRequest
0 голосов
/ 21 ноября 2018

Я использую sendmail в Perl-скрипте и хотел бы получить адрес «Кому» от пользователя, который вызвал скрипт.

Другими словами, я бы хотел, чтобы адреса от и до были одинаковыми.Как мне это сделать?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 16 января 2019

Учитывая ваш код

open(Mail, "|/usr/sbin/sendmail -t");
print MAIL "To: $to\n"
print MAIL $msg
close(MAIL)

Я предложу добавить перед этим

$to ||= $ENV{SUDO_USER} || $ENV{USERNAME} || $ENV{LOGNAME} || $ENV{USER} || getpwuid $<;

Пока я в этом, я рекомендую вам добавить дополнительную новую строкупосле вашего последнего заголовка, так что если $ msg просто начинается с чего-то, что может выглядеть как заголовок, он не будет использоваться в качестве заголовка.Если это не то поведение, от которого вы зависите ... (Но я бы рекомендовал не зависеть от этого поведения ...)

0 голосов
/ 21 ноября 2018

На самом деле не существует свойства "адрес электронной почты" пользователя.Если вы просто просматриваете локальный MTA, адресом пользователя обычно является его имя пользователя, которое вы можете получить с помощью scalar getpwuid $> в Unix-подобных системах.

...