使用 sendmail 发送带标题的电子邮件

使用 sendmail 发送带标题的电子邮件

我正在尝试使用 发送电子邮件sendmail,但我需要指定一些标题(发件人、内容类型、主题)。这是我当前正在运行的命令:

echo "Content-Type: text/plain\r\nFrom: [email protected]\r\nSubject: Test\r\n\r\nThe body goes here" | sendmail -f [email protected] [email protected]

问题是未设置标题。我的格式正确吗?

答案1

您需要echo与‘e’参数一起使用。

-e  
    在每个字符串中启用以下反斜杠转义字符的解释:  
      \n 新行  
      \r 回车

如果您查看使用命令发送邮件的结果,您会看到以下内容:

Content-Type: text/plain\r\nFrom: [email protected]\r\nSubject: Test\r\n\r\nThe body goes here

(它实际上显示为一行,包括“特殊字符”)

应用上述稍加修改即可使您的代码正常运行:

echo -e "Content-Type: text/plain\r\nFrom: [email protected]\r\nSubject: Test\r\n\r\nThe body goes here" | sendmail -f [email protected] [email protected]

答案2

使用 printf

printf "Content-Type: text/plain\r\nFrom: [email protected]\r\nSubject: Test\r\n\r\nThe body goes here" | sendmail -f [email protected] [email protected]

相关内容