我在perl脚本中使用sendmail,并希望从调用脚本的用户那里获取“To”地址。
换句话说,我希望from和to地址相同。我怎么做 ?
谢谢。
鉴于你的代码
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恰好以一个看起来像标题的东西开头,它将不会被用作标题。除非那是你依赖的实际行为......(但我建议不要依赖于这种行为......)
用户并不真正拥有“电子邮件地址”属性。如果您只是通过本地MTA,用户的地址通常是他们的用户名,您可以在Unixlike系统上使用scalar getpwuid $>
检索。