为什么在Linux上SendEmail中句子的开头会忽略句点

时间:2018-07-22 14:37:01

标签: linux shell command-line

我想在Linux上使用命令行发送电子邮件,所以我选择sendEmail(轻量级的命令行SMTP电子邮件客户端)。但是,我发现句子开头的句点(。)将被忽略,这确实使我感到困惑。

-m MESSAGE消息正文

我的命令:

ionic cordova build android --release-prod

我要显示的是:

sendEmail -f sender@example.com -t receiver@example.com -u "Test mail" -s smtp.example.com -xu sender@example.com -xp sender_password -m ".Hello\n..Hello\nHello.world" -o tls=no

但是结果是:

.Hello
..Hello
Hello.world

谢谢。

1 个答案:

答案 0 :(得分:0)

这是sendEmail客户端中的 bug 。在SMTP中,仅包含一个句点.的行用于指示邮件的结尾(SMTP中的DATA段)。如果消息中包含一个带有单个句点的行,则为避免意外的传输终止,在以句点开始的所有行上,必须在消息上线之前添加一个额外的句点。并在收到后删除。这是适当的SMTP客户端要执行的任务。显然这是客户的错误行为。
要解决该错误,请增加一个额外的时间段。

有关详细信息,请参见RFC5321,第4.1.1.4和4.5.4节。