3

我正在尝试执行以下 perl 脚本。

  ##some code
  $command = "nail -s this is a test  $email";
  system($command);
  ##some code 

当我运行这个脚本时,它会挂起,直到我按下CtrlD. 按下后CtrlD我得到了想要的结果。我的问题是如何CtrlD在我的脚本中硬编码?

4

3 回答 3

1

我想你打电话给mailx. nail很可能是别名。它期望来自 STDIN 的输入,该输入以CtrlD. 您可以像这样解决方法来发送空邮件:

$command = 'echo "" | nail -s SUBJECT ' . $email;
于 2013-08-21T12:01:29.080 回答
0

邮件程序希望.单独一行显示它是消息的结尾只要确保您的 $email 包含 a\n.并且它不应再挂起。

于 2013-08-21T11:59:48.223 回答
0

通常的解决方案是将其重定向到从 /dev/null 读取

尝试使用这个:

mail -s "Hello Test" -a Attachment email-address  </dev/null

或者,如果您有任何电子邮件正文

mail -s "Hello Test" -a Attachment email-address  <emailbodyfile.txt
于 2022-01-30T19:15:47.037 回答