私はこの問題について全く理解していません。私がjavaアプリケーションとして実行しているときにmainメソッドから試しているのであれば、メールは適切な件名と内容で完全に書かれています。 私はローカルホストからしようとすると、それが壊れた形式にしていながらなどメールをHTMLで表示せず、フォーマットが壊れています
------ = _ Part_0_1765202668.1460463643056のContent-Type:text/htmlの。文字セット= UTF-8コンテンツ転送 - エンコード:7ビット
マイコンテンツ
------ = _ Part_0_1765202668.1460463643056--
私は、関連するすべてのjarファイル(のjavaxを追加しました。郵便物)。内容が何であっても、それはそのようにしか来ないでしょう。メインコードからはうまく動作しますが、ローカルホストでは動作しません。 アイデア?
いくつかの関連するコード
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(this.from));
if ((this.replyTo != null) && (!this.replyTo.equals("")))
msg.setReplyTo(InternetAddress.parse(this.replyTo));
msg.setSentDate(new Date());
InternetAddress[] address = InternetAddress.parse(this.to);
msg.setRecipients(Message.RecipientType.TO, address);
if (this.cc != null) {
InternetAddress[] address1 = InternetAddress.parse(this.cc);
msg.setRecipients(Message.RecipientType.CC, address1);
}
if (this.bcc != null) {
InternetAddress[] address2 = InternetAddress.parse(this.bcc);
msg.setRecipients(Message.RecipientType.BCC, address2);
}
msg.setSubject(this.subject);
Multipart mp = new MimeMultipart();
MimeBodyPart mbp = new MimeBodyPart();
mbp.setContent(this.body,"text/html;charset=utf-8");
mp.addBodyPart(mbp);
if (this.attachfiles != null) {
for (Enumeration e = this.attachfiles.keys(); e.hasMoreElements();) {
String filename = (String) e.nextElement();
mbp = new MimeBodyPart();
FileDataSource fds = new FileDataSource(
(String) this.attachfiles.get(filename));
mbp.setDataHandler(new DataHandler(fds));
mbp.setFileName(filename);
mp.addBodyPart(mbp);
}
}
msg.setContent(mp);
msg.setSentDate(new Date());
Transport.send(msg);
次のjarファイルを除外します。あなたは何をやっているのか良く説明できますか? – Henry
"localhost"とは、何らかのアプリケーションサーバーで動作しているということですか?サーバーが同じバージョンのJavaMailを使用していますか? [JavaMailデバッグ出力](http://www.oracle.com/technetwork/java/javamail/faq/index.html#debug)には何が表示されますか? –