我想在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
谢谢。
答案 0 :(得分:0)
这是sendEmail
客户端中的 bug 。在SMTP中,仅包含一个句点.
的行用于指示邮件的结尾(SMTP中的DATA段)。如果消息中包含一个带有单个句点的行,则为避免意外的传输终止,在以句点开始的所有行上,必须在消息上线之前添加一个额外的句点。并在收到后删除。这是适当的SMTP客户端要执行的任务。显然这是客户的错误行为。
要解决该错误,请增加一个额外的时间段。
有关详细信息,请参见RFC5321,第4.1.1.4和4.5.4节。