Java “sendmail”命令错误。获取扭曲的邮件也会添加“!”字符
我正在用Java创建用于发送电子邮件的HTML格式,并使用以下UNIX脚本发送:Java “sendmail”命令错误。获取扭曲的邮件也会添加“!”字符,java,email,unix,sendmail,aix,Java,Email,Unix,Sendmail,Aix,我正在用Java创建用于发送电子邮件的HTML格式,并使用以下UNIX脚本发送: ( echo "Subject: Test"; echo "To: test@mail.com"; echo "MIME-Version: 1.0"; echo "Content-Type: text/html"; echo "Content-Disposition: inline"; echo ""; ca
( echo "Subject: Test";
echo "To: test@mail.com";
echo "MIME-Version: 1.0";
echo "Content-Type: text/html";
echo "Content-Disposition: inline";
echo "";
cat HTML_Body
) | sendmail test@mail.com
但是当我从这个UNIX命令接收邮件时,HTML_Body被扭曲了,还有一些特殊字符,比如!随着身体的增加,一些细胞的排列也变得扭曲
当我从Java控制台复制HTML_主体时,主体被正确地创建,但是在sendmail命令之后,它被扭曲了
我使用的是outlook,Unix版本是:AIXServerName 1 6
另外,请建议通过UNIX或使用Java发送邮件的一些其他选项。我尝试从Java创建文件并将其作为附件发送,但在该文件中,内容也被扭曲了
[编辑]添加更多详细信息后,此错误与sendmail命令的解释完全相同。sendmail行长度限制
Sendmail.org提供的Sendmail对行长度限制为990或2048字节,并打断较长的行
你可以
*使用诸如mimencode之类的工具以引用的可打印格式对正文进行编码
需要更改mime头
或
*使用像tidy这样的工具重新格式化html文件,并设置行长度限制
顺便说一句,电子邮件标题和电子邮件正文回音之间应该有一条空行。我也遇到了长html的问题,添加了一些特殊字符。每当我在后面插入新行后,问题就消失了我看不出这个问题是如何与Java相关的…@icza,因为正如我所说的,我正在将Java中创建的HTML_Body发送到Unix。很可能是字符编码问题。你能给我们看一下创建HTML_Body的Java代码吗?@icza我正在使用simple for循环创建并附加到StringBuffer对象,然后使用toString方法将该字符串作为HTML_Body传递,这在前面的问题中没有显示。那是原密码吗?如果没有,添加它是否会产生影响?