Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用bash脚本发送邮件时,邮件正文为空_Bash_Email - Fatal编程技术网

使用bash脚本发送邮件时,邮件正文为空

使用bash脚本发送邮件时,邮件正文为空,bash,email,Bash,Email,我有一个奇怪的问题,我无法控制自己 每当我在用作电子邮件正文的文件中附加变量时,电子邮件就会以空附件发出。 如果我通过在用作电子邮件正文的文件中添加静态文本来执行相同的操作,那么电子邮件将按照预期与作为电子邮件正文的文件内容一起发出 详情如下: 下面显示的代码片段工作正常 #!/bin/bash to_email="Actual Email Address" from_email="Actual Email Address" title="Sample email" echo "Hello" &

我有一个奇怪的问题,我无法控制自己

每当我在用作电子邮件正文的文件中附加变量时,电子邮件就会以空附件发出。 如果我通过在用作电子邮件正文的文件中添加静态文本来执行相同的操作,那么电子邮件将按照预期与作为电子邮件正文的文件内容一起发出

详情如下:

下面显示的代码片段工作正常

#!/bin/bash
to_email="Actual Email Address"
from_email="Actual Email Address"
title="Sample email"
echo "Hello" >> body.txt
mail -s "$title" $to_email < body.txt
#/bin/bash
to_email=“实际电子邮件地址”
from_email=“实际电子邮件地址”
title=“示例电子邮件”
echo“Hello”>>body.txt
邮件-s“$title”$发送至电子邮件
但是,如果我附加了一个从另一个命令获得的变量,如下图所示,电子邮件将以空附件发出

echo "Hello" >> body.txt
echo "$variable" >> body.txt # $variable is being returned by another function
mail -s "$title" $to_email < body.txt
echo“Hello”>>body.txt
echo“$variable”>>body.txt#$variable正在由另一个函数返回
邮件-s“$title”$发送至电子邮件
变量是一个字符串。 当我看到body.txt的内容时,它正确地附加了$variable


有人能告诉你为什么邮件的正文是空的吗?

你必须给你的
mail
命令
body.txt
,不要把
mail
的输出放到
body.txt
,因此在这两种情况下都要使用:
mail-s“$title”$to_email
,谢谢你的评论。你突出显示的部分是打字错误。道歉!我仍然面临同样的问题。这是body.txt内容的问题吗?您能给我们看一下您的body.txt文件吗?该文件没有附加到邮件中?