sendmail - 与主机名相同

问题描述 投票:0回答:2

我在perl脚本中使用sendmail,并希望从调用脚本的用户那里获取“To”地址。

换句话说,我希望from和to地址相同。我怎么做 ?

谢谢。

linux perl unix sendmail
2个回答
0
投票

鉴于你的代码

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恰好以一个看起来像标题的东西开头,它将不会被用作标题。除非那是你依赖的实际行为......(但我建议不要依赖于这种行为......)


-1
投票

用户并不真正拥有“电子邮件地址”属性。如果您只是通过本地MTA,用户的地址通常是他们的用户名,您可以在Unixlike系统上使用scalar getpwuid $>检索。

© www.soinside.com 2019 - 2024. All rights reserved.