亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaMail API 將附件作為轉發郵件發送給發件人

JavaMail API 將附件作為轉發郵件發送給發件人

慕萊塢森 2022-06-23 17:26:19
我正在嘗試在 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 = "[email protected]"  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("[email protected]"))    message.setRecipients(Message.RecipientType.TO, "[email protected]")    message.setSubject("test message")    message.setText("bodyText","text/html;charset=utf-8")    message.setContent(multipart,"text/html;charset=utf-8")    Transport.send(message)我只希望發件人應該在一個窗口中接收附件。
查看完整描述

1 回答

?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

錯了那么多...

在調用 setText 之后調用 setContent 只會覆蓋使用 setText 完成的操作。setText 方法只是一種在內部調用 setContent 的便捷方法。

使用 Multipart 對象調用 setContent 并告訴它使用 MIME 類型“text/html”意味著它畢竟不會是 multipart 對象。

您需要創建 MimeMultipart 對象并向其添加兩個 MimeBodyPart 對象,第一個包含主體文本,第二個包含附件。然后將 MimeMultipart 對象設置為消息的內容。

有關示例,請參閱JavaMail FAQJavaMail 示例程序


查看完整回答
反對 回復 2022-06-23
  • 1 回答
  • 0 關注
  • 107 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號