linux - sendmail - 具有相同的发件人和收件人主机名

标签 linux perl unix sendmail

我在 perl 脚本中使用 sendmail,并且希望从调用该脚本的用户处获取“收件人”地址。

换句话说,我希望发件人和收件人地址相同。我该怎么做?

谢谢。

最佳答案

鉴于您的代码

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 $<;

当我这样做时,我建议您在最后一个 header 之后添加一个额外的换行符,这样如果 $msg 恰好以可能看起来像 header 的内容开头,它就不会被用作 header 。除非这实际上是您所依赖的行为...(但我建议不要依赖该行为...)

关于linux - sendmail - 具有相同的发件人和收件人主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53401600/

相关文章:

Perl glob、qq() 和方括号 []

c - 如何将客户端重新连接到服务器?

shell - 用于处理管道的 xargs 替代方案

linux - 向所有使用 Wall 的人广播用户消息

linux - 是否有微软的 signtool 的开源替代品来使用 sha2 对 exe 进行签名?

javascript - 根据菜单选择将文本文件内容加载到文本字段中

linux - 如何在 Linux 上取消关机?

linux - 尽管系统上有足够的空间,但 Hudson 失败并显示错误 "No space left on device"

linux - 查找为 FD 设置的套接字选项

multithreading - Perl 多线程和 foreach