Perl unix的mail命令
我在perl脚本中使用unix的mail命令。我指定邮件的“收件人”、“抄送”、“主题”和“正文”。我没有指定发件人地址。从哪里选择发件人地址?请帮助正如daxim和David W所提到的,有一些用于处理电子邮件的可移植库,但是如果您想快速修复,如果您的Perl unix的mail命令,perl,email,unix,Perl,Email,Unix,我在perl脚本中使用unix的mail命令。我指定邮件的“收件人”、“抄送”、“主题”和“正文”。我没有指定发件人地址。从哪里选择发件人地址?请帮助正如daxim和David W所提到的,有一些用于处理电子邮件的可移植库,但是如果您想快速修复,如果您的mail命令使用bsd mailx(就像在我的机器上一样),这在linux下是有效的 如果您对unixmail命令有更多问题,请尝试从shell提示符下使用man mail。有一些可移植的库,用于处理daxim和David W提到的电子邮件,但是
mail
命令使用bsd mailx
(就像在我的机器上一样),这在linux下是有效的
如果您对unix
mail
命令有更多问题,请尝试从shell提示符下使用man mail
。有一些可移植的库,用于处理daxim和David W提到的电子邮件,但是如果您想快速解决问题,如果您的mail
命令使用bsd mailx
(就像在我的机器上一样),这在linux下是有效的
如果您对unix
mail
命令有更多问题,请在shell提示符下尝试man-mail
。现在大多数系统上的mail
命令都是。它声称与POSIX兼容,因此我在这里提供的信息对于任何行为良好的mail
命令都是有用的
来自的地址由以下各项设置:
user@domain
由相应的POSIX系统调用返回(请参阅shell命令whoami
和domainname-f
,了解访问它们的不同方式)
- 或由来自环境变量的
设置
- 或者由
-r
命令行选项设置(是否要弃用?)
克利比:嗨!我看到您正试图从Perl发送邮件。你是不是打算改用/呢?现在大多数系统上的邮件
命令都是无效的。它声称与POSIX兼容,因此我在这里提供的信息对于任何行为良好的mail
命令都是有用的
来自
的地址由以下各项设置:
user@domain
由相应的POSIX系统调用返回(请参阅shell命令whoami
和domainname-f
,了解访问它们的不同方式)
- 或由来自环境变量的
设置
- 或者由
-r
命令行选项设置(是否要弃用?)
克利比:嗨!我看到您正试图从Perl发送邮件。你是想改用/吗?不要使用邮件命令行命令!使用
mail
命令甚至可能无法在特定系统上配置,并且在Windows上也无法工作。同时,Net::SMTP
是一个标准的Perl模块,应该可以在所有系统上使用
以前没用过吗?阅读并尝试一下。这就是你学习的方法。不要使用邮件命令行命令!使用
mail
命令甚至可能无法在特定系统上配置,并且在Windows上也无法工作。同时,Net::SMTP
是一个标准的Perl模块,应该可以在所有系统上使用
以前没用过吗?阅读并尝试一下。这就是您学习的方式。您的邮件实用程序是什么?您可以编辑邮件头以修改发件人地址。您的邮件实用程序是什么?您可以编辑标题以修改发件人地址。我看不到upvote按钮,因为我的眼睛开始从所有uc变量名中流血。。我只是随便点击了一下;)@穆根,道歉;我的许多同龄人都使用all caps变量名。我使用了很多常量,所以代码可以自我记录。啊,我以前不知道。有道理。感谢您的澄清。答案与问题不符,您可以做得更好,而不仅仅是指向文档的一般指针。@daxim,您的评论毫无意义。我所做的远远不止是指向文档。如果您对我的答案有改进,那么请具体说明。我看不到upvote按钮,因为我的眼睛开始从所有uc变量名中流血。。我只是随便点击了一下;)@穆根,道歉;我的许多同龄人都使用all caps变量名。我使用了很多常量,所以代码可以自我记录。啊,我以前不知道。有道理。感谢您的澄清。答案与问题不符,您可以做得更好,而不仅仅是指向文档的一般指针。@daxim,您的评论毫无意义。我所做的远远不止是指向文档。如果您对我的答案有改进,那么请具体说明。迈克,我取消了您的更改,因为-a
是用于附件的。好吧,这种说法是错误的,请参阅,我刚才(在Linux上)验证了-a From:…
给出了错误消息没有这样的文件或目录
。我认为你的否决票是不合理的。POSIX规定的发送模式下的唯一选项是“-s”subject“
”。关于From地址的来源,您可能仍然是正确的-尽管POSIX没有强制使用$From
环境变量或-r
选项。我也同意使用Perl电子邮件模块而不是mailx
@daxim,对于那些对我的答案如此迂腐的人来说,也许你应该知道不要抱怨这一点。。。尝试引用-a
的参数,就像我在回答中所做的那样。顺便说一句,我用的是mail
,而不是mailx
,我的评论中的错误值得指出,如果它确实起到了作用的话。精确粘贴您的学究身份:LANG=C邮件-a'发件人:daxim@localhost“达克辛发件人:daxim@localhost:没有这样的文件或目录
Mike,我取消了你的更改,因为-a
是用于附件的。好吧,这种说法是错误的,请参阅,我刚才(在Linux上)验证了-a From:…
给出了错误消息没有这样的文件或目录
。我认为你的否决票是不合理的。POSIX规定的发送模式下的唯一选项是“-s”subject“
”。关于发件人地址的来源,您可能仍然是正确的-tho
#!/usr/bin/env perl
$BODY = "Hello self";
$RECIPIENT = "destination\@email.local";
$FROM = "mike\@localhost";
$SUBJECT = "some subject here";
$CMD = qq(echo "$BODY" | mail -a "From: $FROM" -s $SUBJECT $RECIPIENT);
exec($CMD);