我正在尝试使用MimeMessageParser解析HtmlEmail以获取HTML和纯文本正文部分:

def emailForAutomation(email: HtmlEmail): String = {

  email.buildMimeMessage()
  val mimeMessage = email.getMimeMessage()

  val parser = new MimeMessageParser(mimeMessage)
  parser.parse()

  val subject = parser.getSubject()
  val body = parser.getHtmlContent()
  val txt  = parser.getPlainContent()

但是,parser.parse()引发

java.lang.ClassCastException: javax.mail.internet.MimeMultipart cannot be cast to java.lang.String
    at org.apache.commons.mail.util.MimeMessageParser.parse(MimeMessageParser.java:176) ~[commons-email-1.3.2.jar:1.3.2]
    at org.apache.commons.mail.util.MimeMessageParser.parse(MimeMessageParser.java:85) ~[commons-email-1.3.2.jar:1.3.2]
    at utils.EmailSender$.emailForAutomation(EmailSender.scala:382) ~[classes/:na]

我在那里做错了什么? 该电子邮件是使用apache-common-email API构建的:

val email = new HtmlEmail() // apache-commons-email

email.setHostName(smtpHost)
email.setSmtpPort(smtpPort)

email.setHtmlMsg(html)
email.setTextMsg(plainTextBody)

emailForAutomation(email)  // dump email to file for automation testing

===============>>#1 票数:0

它是apache-commons-email 1.3.2中的错误。

  ask by alboko translate from so

未解决问题?本站智能推荐:

2回复

MimeMessageParser无法从地址获取

我们已经在这个问题上停留了很长时间了。在我们的项目中,我们试图解析写入文件的电子邮件并将数据放入pojo。 它适用于大多数情况,但是当电子邮件ID太长时,电子邮件ID会转到下一行,由于未提取发件人地址,而是提取了名称。我们使用commons-email-1.4 。 包含emailmess
2回复

确实存在索引时,javax.mail抛出IndexOutOfBoundsException

包使用: 来自Maven的com.sun.mail:javax.mail:1.5.6 我编写了一个scala程序,其中使用javax.mail处理电子邮件。 在第一部分中,我通过message.getMessageNumber获得了一些邮件ID,后来,当我尝试通过这些ID检索邮件时
1回复

HTMLEmail无法正确呈现HTML(Apache Commons)

希望有人能找到我所缺少的东西。 我正在尝试在Java应用程序中发送简单的HTML电子邮件。 我正在使用commons-mail 1.1(通过maven)作为我的邮件库。 我使用的代码是: 我正在接收电子邮件,但它的格式是这样。 还应该指出的是,没有主题,但是我显然在代码中指定
1回复

带有附件的Apache commons-mail HtmlEmail:在Gmail中html作为noname.html附加html

我使用apache commons-mail(v1.3.2)发送带有PDF附件的订单确认电子邮件。 电子邮件显示在Outlook(Web和桌面)中都没有问题,但是当我发送到我的gmail帐户时,邮件的内容为空,HTML内容附加在单独的文件“ noname.html”中。 我的代码:
1回复

HtmlEmail中用于将邮件设置为多个收件人的setTo方法的问题

我们有一个模块,可以发送提醒邮件。 我们正在使用apache commons email库发送邮件。 我们没有任何问题,如果我们发送邮件只使用一个电子邮件地址addTo方法HtmlEmail ,但我们遇到了异常,当我们试图相同的邮件发送给多个用户使用setTo它接受Collection 。
1回复

Apache commons-email 1.4发送HtmlEmail而不翻译html标签,也看不到附件

我正在使用Apache Commons Email 1.4发送带有附件pdf的html电子邮件。 但是,我收到的电子邮件是 以上电子邮件中有三个问题。 1) <p>B600003292</p>应该是主题的一部分,应该是“ title is <p>
2回复

是否可以从字符串表示形式构建Apache HtmlEmail?

我正在构建ImageHtmlEmail ,以便将给定HTML中的所有图像下载并嵌入到多部分电子邮件中。 我需要存储该电子邮件以便以后发送。 问题是,我可以获得得到的电子邮件文本和内容类型,但是我看不到从文本和内容类型构造回ImageHtmlEmail 。 有可能吗? 还是应该使用原始
1回复

为什么asInstanceOf不会抛出ClassCastException?

为什么asInstanceOf不会抛出ClassCastException?
2回复

getcontent期间的java邮件classcastexception

当我尝试通过getcontent()方法检索Gmail内容时,出现以下异常 java.lang.ClassCastException:com.sun.mail.imap.IMAPInpustream无法转换为javax.mail.Multipart 因此,我将inputsream转换
1回复

发送多部分消息时出现Javamail ClassCastException

尝试发送多部分消息时出现以下异常: MailSender.send方法的代码: 通常,在启动服务器后,它会正常工作并在一段时间内发送电子邮件。 使用Jax-WS调用不相关的Web服务似乎加剧了问题。 我的理解是,此异常是类加载器问题的典型现象,尽管我的项目中没有包含该异常