1

ImageHtmlEmail指定されたHTMLからすべての画像をダウンロードしてマルチパートメールに埋め込むために、を作成しています。後で送信するためにそのメールを保存する必要があります。

ImageHtmlEmail問題は、結果の電子メールテキストとコンテンツタイプを取得できることですが、テキストとコンテンツタイプからバックを構築する手段がわかりません。それは可能ですか?javax.mailそれとも、実際に送信するためにrawを使用する必要がありますか?

4

2 に答える 2

1

メールの文字列表現から作成javax.mail.internet.MimeMessageすることができました(Gmailから元のメールをダウンロードする際のASCIIダンプ)。Emailしかし、それからのようなサブクラスの構築にはまだあまり成功しHtmlEmailていません。

MimeMessage mimeMessage  =  MimeMessageUtils.createMimeMessage(Session.getDefaultInstance(new Properties()), new ByteArrayInputStream(oneEmail.toString().getBytes()));

それは私がそのゲッターメソッドを使用して有用であると考えることができるほとんどのものを私に与えます。

于 2019-05-30T22:06:30.723 に答える
0

「文字列からHtmlEmailを構築する」の意味はわかりませんが、ImageHtmlMailの構築はかなり簡単なはずです。http://commons.apache.org/email/userguide.htmlのサンプルを参照してください。提供する必要があるのはhtmlだけです。 -setHtmlMsg()によるテキスト

import org.apache.commons.mail.HtmlEmail;
...

// load your HTML email template
String htmlEmailTemplate = ....

// define you base URL to resolve relative resource locations
URL url = new URL("http://www.apache.org");

// create the email message
HtmlEmail email = new ImageHtmlEmail();
email.setDataSourceResolver(new DataSourceResolverImpl(url));
email.setHostName("mail.myserver.com");
email.addTo("jdoe@somewhere.org", "John Doe");
email.setFrom("me@apache.org", "Me");
email.setSubject("Test email with inline image");

// set the html message
email.setHtmlMsg(htmlEmailTemplate); 

// set the alternative message
email.setTextMsg("Your email client does not support HTML messages");

// send the email
email.send();
于 2012-05-26T17:05:41.587 に答える