我正在尝试使用 发送电子邮件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]