我无法发送带有attacment的HTML格式的电子邮件:我可以发送带有附件的HTML格式的电子邮件或电子邮件。 如果我发送附带附件的HTML电子邮件,我只会获得附件,而不是正文。
这是我正在使用的片段:
...
message.setSender(emailFrom);
message.addRecipient(MailRecipient(MailRecipient::PRIMARY_RECIPIENT, emailToAddr, emailToRealName));
message.setSubject(subject);
message.setContentType("text/html; charset=utf-8"); // also tried multipart/mixed
std::string content("");
content += "<html>";
content += "<head>";
content += "</head>";
content += "<body>";
content += "Test HTML";
content += "</body>";
content += "</html>";
message.setContent(content, MailMessage::ENCODING_8BIT); // also tried message.addContent(new StringPartSource(content));
message.addAttachment("myFile", new FilePartSource("/home/max/attach.txt"));
...
如果我使用setContent,我只得到附件,没有电子邮件正文。我想这是因为setContent制作单件邮件,没有多件。 如果我使用addContent,bisedis是附件,我也会得到邮件正文,但所有HTML标签都是纯文本。但为什么不用HTML格式呢?我想我应该使用子类型,但我不知道...这次Google没有帮助我。
任何帮助将不胜感激!
感谢。
编辑: 好吧,经过几次尝试后,我得到了它。 我必须使用:
message.addPart("myPart", new StringPartSource(content, "text/html; charset=utf-8"), MailMessage::CONTENT_INLINE, MailMessage::ENCODING_8BIT);
而不是setContent。 好的,现在我对addPart和addContent ....有一些困惑。
如果有人对如何处理带附件的HTML电子邮件有一些建议,欢迎使用POCO库。
我希望这可以帮助某人。