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

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

Xpages - java.lang.NoSuchMethodError: javax/mail/

Xpages - java.lang.NoSuchMethodError: javax/mail/

慕田峪7331174 2023-06-14 16:03:21
我想在向收件人發送電子郵件時包含附件。我已經能夠設置和獲取附件,但是當從 Javaxmail 調用 attachFile 方法時出現錯誤。此代碼是使用 javax 庫用 Java 編寫的。一切似乎都很好,但失敗了。我也嘗試過添加編碼,但結果相同。當調用 attachFile 方法時,此代碼失敗。attachPart.attachFile(f); // fails here...try {Message msg = new MimeMessage(propsSess);msg.setFrom(new InternetAddress(this.defaultSenderAddress));setRecipient(msg, this.sendTo, "to");msg.setSubject(this.subject);msg.setContent(this.bodyHtml, "text/html");msg.setHeader("X-Mailer", "Java Agent");msg.setSentDate(new Date());if (!this.bodyAttach.isEmpty()) {    BodyPart messageText = new MimeBodyPart();    messageText.setText(this.bodyHtml);    Multipart multipart = new MimeMultipart();    multipart.addBodyPart(messageText);    // adds attachments     for (int index = 0; index < this.bodyAttach.size(); index++) {        MimeBodyPart attachPart = new MimeBodyPart();        try {            System.out.println(this.bodyAttach.get(index)); // shows only 1st attachments            File f = new File(this.bodyAttach.get(index));            attachPart.attachFile(f); // fails here...        } catch (IOException ex) {            ex.printStackTrace();        }        multipart.addBodyPart(attachPart);    }    // sets the multi-part as e-mail's content    msg.setContent(multipart);}SMTPTransport transport = (SMTPTransport) propsSess.getTransport("smtp");transport.connect(this.smtpServerAddress, null, null);if (transport.isConnected()) {    transport.sendMessage(msg, msg.getAllRecipients());    transport.close();    this.processMessage.add("success");}} catch (Exception e) {this.processMessage.add(databaseTitle + ": SmtpMail bean: Message or SMTPTransport error");return false;}
查看完整描述

1 回答

?
HUH函數

TA貢獻1836條經驗 獲得超4個贊

javax.mail是多米諾骨牌上的地雷。它有點存在,通過“ndext”目錄中的“mail.jar”以及com.ibm.designer.lib.javamailOSGi 領域中的插件,但這是規范的 1.3 版。不幸的是,您嘗試使用的方法是在 1.4 中添加的。

您可以通過為較新版本的 javax.mail 及其實現添加一個 jar 來繞過它,但我還沒有嘗試過,所以我不能肯定地說。無論如何,這可能是您已經嘗試過的,以訪問這些課程。您還可以嘗試將此代碼放入 OSGi 插件中,并將 javax.mail jar 嵌入其中,或者將其作為版本范圍受限的外部 OSGi 插件。

您也可以使用 Notes API 發送電子郵件,盡管這樣您將使用 Domino 服務器而不是自定義 SMTP 服務器來路由電子郵件(除非 Domino 恰好被配置為通過該服務器路由)。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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