【发布时间】:2019-02-19 03:01:08
【问题描述】:
我试图在 javamail API 的帮助下发送两个附件,但发件人正在接收附件作为转发消息传递给发件人的邮件。此外,我无法在邮件中看到正文。我正在发送到 Outlook 电子邮件客户端。 其类似的附件将作为同一邮件中的单独邮件发送,当我单击邮件中的单独邮件时,它会显示附件。就像我在同一邮件中打开了另一封邮件一样。 任何人都可以请检查我做错了什么
下面是代码
deltaDf.coalesce(1)
.write.mode("overwrite")
.format("com.databricks.spark.csv")
.option("header", "true")
.save("/user/test/test1/Deltafile/")
val deltahdfsname = fs.globStatus(new Path("/user/test/test1/Deltafile/part*"))(0).getPath().getName()
val deltapath = new Path(fs.getName() + "/user/test/test1/Deltafile/" + deltahdfsname)
val deltastream = fs.open(deltapath)
val deltafileName = "delta.csv"
val bodyText = "Hi All, <br> </br> Attached are the Concur Delta File and Exception Report <br> </br> please take the neccassory Action."
val from = "tests@test.com"
val smtpHost = "xmail.xxxxx.com"
val properties = System.getProperties
properties.put("mail.smtp.host",smtpHost)
properties.put("mail.from", from)
properties.put("mail.smtp.auth", "false")
properties.put("mail.smtp.port", "25")
properties.put("mail.smtp.starttls.enable", "true")
val deltaBodyPart = new MimeBodyPart()
deltaBodyPart.setDataHandler(new DataHandler(new ByteArrayDataSource(deltastream, "text/csv")))
deltaBodyPart.setFileName(deltafileName)
val multipart = new MimeMultipart()
multipart.addBodyPart(deltaBodyPart)
//multipart.addBodyPart(ExceptionBodyPart)
val session = Session.getInstance(properties)
var message = new MimeMessage(session)
message.setFrom(new InternetAddress("tests@test.com"))
message.setRecipients(Message.RecipientType.TO, "suraj@xxxx.com")
message.setSubject("test message")
message.setText("bodyText","text/html;charset=utf-8")
message.setContent(multipart,"text/html;charset=utf-8")
Transport.send(message)
我只想让发件人在一个窗口中接收附件。
【问题讨论】:
标签: java scala jakarta-mail