public class MimeMessageHelper extends ObjectSE
MimeMessage
EE を生成するためのヘルパークラス。SimpleMailMessage
の単純な setter をミラーリングし、値を基礎となる MimeMessage に直接適用します。このヘルパークラスのすべてのメソッドによって自動的に適用される、メッセージ全体の文字エンコードを定義できます。
HTML テキストコンテンツ、イメージなどのインライン要素、一般的なメール添付ファイルのサポートを提供します。メールアドレスに付随する個人名もサポートします。基になる MimeMessage オブジェクトに詳細設定を直接適用できることに注意してください!
通常、MimeMessagePreparator
実装または JavaMailSender
クライアントコードで使用されます。MimeMessage ラッパーとしてインスタンス化するだけで、ラッパーで setter を呼び出し、基礎となる MimeMessage をメール送信に使用します。JavaMailSenderImpl
によって内部的にも使用されます。
インラインイメージと PDF 添付ファイル付きの HTML メールのサンプルコード:
mailSender.send(new MimeMessagePreparator() { public void prepare(MimeMessage mimeMessage) throws MessagingException { MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, "UTF-8"); message.setFrom("[email protected]"); message.setTo("[email protected]"); message.setSubject("my subject"); message.setText("my text <img src='cid:myLogo'>", true); message.addInline("myLogo", new ClassPathResource("img/mylogo.gif")); message.addAttachment("myDocument.pdf", new ClassPathResource("doc/myDocument.pdf")); } });共通インターフェースを介して単純なメッセージまたは MIME メッセージとメッセージ入力コードをやり取りできるようにするために、このヘルパーの上で
MimeMailMessage
(SimpleMailMessage
と同様に共通の MailMessage
インターフェースを実装する)の使用を検討してください。マルチパートメールに関する警告 : HTML テキストのみを含み、インライン要素または添付ファイルを含まない単純な MIME メッセージは、HTML レンダリングが可能なメールクライアントで多かれ少なかれ機能します。ただし、インライン要素と添付ファイルは、依然としてメールクライアント間の主要な互換性の課題です。: インライン要素と添付ファイルを Microsoft Outlook、Lotus Notes、Mac Mail で機能させることは事実上不可能です。ニーズに合わせて特定のマルチパートモードを選択することを検討してください: MULTIPART_MODE 定数の javadoc には、より詳細な情報が含まれています。
setText(String, boolean)
, setText(String, String)
, addInline(String, org.springframework.core.io.Resource)
, addAttachment(String, org.springframework.core.io.InputStreamSource)
, MULTIPART_MODE_MIXED_RELATED
, MULTIPART_MODE_RELATED
, getMimeMessage()
, JavaMailSender
修飾子と型 | フィールドと説明 |
---|---|
static int | MULTIPART_MODE_MIXED 型が "mixed" の単一ルートのマルチパート要素を持つマルチパートメッセージを示す定数。 |
static int | MULTIPART_MODE_MIXED_RELATED ルートのマルチパート要素が「混合」され、さらに「関連」型のネストされたマルチパート要素を持つマルチパートメッセージを示す定数。 |
static int | MULTIPART_MODE_NO 非マルチパートメッセージを示す定数。 |
static int | MULTIPART_MODE_RELATED 「関連」型の単一ルートのマルチパート要素を持つマルチパートメッセージを示す定数。 |
コンストラクターと説明 |
---|
MimeMessageHelper(MimeMessageEE mimeMessage) 単純なテキストメッセージ(マルチパートコンテンツなし、つまり、メッセージを想定)を想定して、指定された MimeMessage の新しい MimeMessageHelper を作成します。 |
MimeMessageHelper(MimeMessageEE mimeMessage, boolean multipart) リクエストされた場合、マルチパートモード(代替テキスト、インライン要素、添付ファイルをサポート)で、指定された MimeMessage の新しい MimeMessageHelper を作成します。 |
MimeMessageHelper(MimeMessageEE mimeMessage, boolean multipart, StringSE encoding) リクエストされた場合、マルチパートモード(代替テキスト、インライン要素、添付ファイルをサポート)で、指定された MimeMessage の新しい MimeMessageHelper を作成します。 |
MimeMessageHelper(MimeMessageEE mimeMessage, int multipartMode) リクエストされた場合、マルチパートモード(代替テキスト、インライン要素、添付ファイルをサポート)で、指定された MimeMessage の新しい MimeMessageHelper を作成します。 |
MimeMessageHelper(MimeMessageEE mimeMessage, int multipartMode, StringSE encoding) リクエストされた場合、マルチパートモード(代替テキスト、インライン要素、添付ファイルをサポート)で、指定された MimeMessage の新しい MimeMessageHelper を作成します。 |
MimeMessageHelper(MimeMessageEE mimeMessage, StringSE encoding) 単純なテキストメッセージ(マルチパートコンテンツなし、つまり、メッセージを想定)を想定して、指定された MimeMessage の新しい MimeMessageHelper を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
void | addAttachment(StringSE attachmentFilename, DataSourceSE dataSource) javax.activation.DataSource からコンテンツを取得して、MimeMessage に添付ファイルを追加します。 |
void | addAttachment(StringSE attachmentFilename, FileSE file) java.io.File からコンテンツを取得して、MimeMessage に添付ファイルを追加します。 |
void | addAttachment(StringSE attachmentFilename, InputStreamSource inputStreamSource) org.springframework.core.io.InputStreamResource からコンテンツを取得して、MimeMessage に添付ファイルを追加します。 |
void | addAttachment(StringSE attachmentFilename, InputStreamSource inputStreamSource, StringSE contentType) org.springframework.core.io.InputStreamResource からコンテンツを取得して、MimeMessage に添付ファイルを追加します。 |
void | addBcc(InternetAddressEE bcc) |
void | addBcc(StringSE bcc) |
void | addBcc(StringSE bcc, StringSE personal) |
void | addCc(InternetAddressEE cc) |
void | addCc(StringSE cc) |
void | addCc(StringSE cc, StringSE personal) |
void | addInline(StringSE contentId, DataSourceSE dataSource) MimeMessage にインライン要素を追加し、 javax.activation.DataSource からコンテンツを取得します。 |
void | addInline(StringSE contentId, FileSE file) MimeMessage にインライン要素を追加し、 java.io.File からコンテンツを取得します。 |
void | addInline(StringSE contentId, InputStreamSource inputStreamSource, StringSE contentType) MimeMessage にインライン要素を追加し、 org.springframework.core.InputStreamResource からコンテンツを取得し、コンテンツ型を明示的に指定します。 |
void | addInline(StringSE contentId, Resource resource) MimeMessage にインライン要素を追加し、 org.springframework.core.io.Resource からコンテンツを取得します。 |
void | addTo(InternetAddressEE to) |
void | addTo(StringSE to) |
void | addTo(StringSE to, StringSE personal) |
protected DataSourceSE | createDataSource(InputStreamSource inputStreamSource, StringSE contentType, StringSE name) 指定された InputStreamSource のアクティベーションフレームワーク DataSource を作成します。 |
protected void | createMimeMultiparts(MimeMessageEE mimeMessage, int multipartMode) 使用する MimeMultipart オブジェクトを決定します。これは、一方で添付ファイルを保存し、他方でテキストおよびインライン要素を保存するために使用されます。 |
protected StringSE | getDefaultEncoding(MimeMessageEE mimeMessage) 指定された MimeMessage のデフォルトエンコーディングを決定します。 |
protected FileTypeMapSE | getDefaultFileTypeMap(MimeMessageEE mimeMessage) 指定された MimeMessage のデフォルトの Java Activation FileTypeMap を決定します。 |
StringSE | getEncoding() このメッセージに使用されている特定の文字エンコードがあれば、それを返します。 |
FileTypeMapSE | getFileTypeMap() この MimeMessageHelper が使用する FileTypeMap を返します。 |
MimeMessageEE | getMimeMessage() 基になる MimeMessage オブジェクトを返します。 |
MimeMultipartEE | getMimeMultipart() 基になる MIME "multipart/related" オブジェクトがある場合は、それを返します。 |
MimeMultipartEE | getRootMimeMultipart() ルート MIME "multipart/mixed" オブジェクトがある場合は、それを返します。 |
boolean | isEncodeFilenames() このヘルパーの #addAttachment メソッドに渡された添付ファイル名をエンコードするかどうかを返します。 |
boolean | isMultipart() このヘルパーがマルチパートモードかどうか、つまり |
boolean | isValidateAddresses() このヘルパーが渡されたすべてのアドレスを検証するかどうかを返します。 |
void | setBcc(InternetAddressEE bcc) |
void | setBcc(InternetAddressEE[] bcc) |
void | setBcc(StringSE bcc) |
void | setBcc(StringSE[] bcc) |
void | setCc(InternetAddressEE cc) |
void | setCc(InternetAddressEE[] cc) |
void | setCc(StringSE cc) |
void | setCc(StringSE[] cc) |
void | setEncodeFilenames(boolean encodeFilenames) このヘルパーの #addAttachment メソッドに渡される添付ファイル名をエンコードするかどうかを設定します。 |
void | setFileTypeMap(FileTypeMapSE fileTypeMap) Java Activation フレームワーク FileTypeMap を設定して、メッセージに追加されるインラインコンテンツおよび添付ファイルのコンテンツ型を決定するために使用します。 |
void | setFrom(InternetAddressEE from) |
void | setFrom(StringSE from) |
void | setFrom(StringSE from, StringSE personal) |
protected void | setMimeMultiparts(MimeMultipartEE root, MimeMultipartEE main) この MimeMessageHelper で使用するために、指定された MimeMultipart オブジェクトを設定します。 |
void | setPriority(int priority) メッセージの優先度( "X-Priority" ヘッダー)を設定します。 |
void | setReplyTo(InternetAddressEE replyTo) |
void | setReplyTo(StringSE replyTo) |
void | setReplyTo(StringSE replyTo, StringSE personal) |
void | setSentDate(DateSE sentDate) メッセージの送信日を設定します。 |
void | setSubject(StringSE subject) 正しいエンコードを使用して、メッセージの件名を設定します。 |
void | setText(StringSE text) 指定されたテキストを非マルチパートモードのコンテンツとして直接設定するか、マルチパートモードのデフォルトのボディパーツとして設定します。 |
void | setText(StringSE text, boolean html) 指定されたテキストを非マルチパートモードのコンテンツとして直接設定するか、マルチパートモードのデフォルトのボディパーツとして設定します。 |
void | setText(StringSE plainText, StringSE htmlText) 与えられたプレーンテキストと HTML テキストを代替として設定し、両方のオプションをメールクライアントに提供します。 |
void | setTo(InternetAddressEE to) |
void | setTo(InternetAddressEE[] to) |
void | setTo(StringSE to) |
void | setTo(StringSE[] to) |
void | setValidateAddresses(boolean validateAddresses) このヘルパーに渡されるすべてのアドレスを検証するかどうかを設定します。 |
protected void | validateAddress(InternetAddressEE address) 指定されたメールアドレスを検証します。 |
protected void | validateAddresses(InternetAddressEE[] addresses) 指定されたすべてのメールアドレスを検証します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public static final int MULTIPART_MODE_NO
public static final int MULTIPART_MODE_MIXED
これは Spring 1.0 のデフォルトの動作です。Outlook では正常に動作することがわかっています。ただし、他のメールクライアントは、インライン要素を添付ファイルとして誤って解釈したり、添付ファイルをインラインで表示したりする傾向があります。
public static final int MULTIPART_MODE_RELATED
これは、Spring 1.1 から 1.2 final までのデフォルトの動作でした。これは、Outlook からネイティブに送信される「Microsoft マルチパートモード」です。Outlook、Outlook Express、Yahoo Mail、Mac Mail(inline 要素もインラインで表示されているにもかかわらず、inline 要素に追加の添付ファイルがリストされている)で大部分が正常に動作することがわかっています。Lotus Notes では正しく機能しません(添付ファイルはここには表示されません)。
public static final int MULTIPART_MODE_MIXED_RELATED
これは、Spring 1.2.1 以降のデフォルトです。MIME 仕様によると、これは間違いなく最も正しい MIME 構造です。Outlook、Outlook Express、Yahoo Mail、Lotus Notes で正しく動作することが知られています。Mac メールでは正しく動作しません。Mac メールを対象とする場合、または Outlook の特定のメールで問題が発生する場合は、代わりに MULTIPART_MODE_RELATED の使用を検討してください。
public MimeMessageHelper(MimeMessageEE mimeMessage)
メッセージの文字エンコードは、渡された場合、渡された MimeMessage オブジェクトから取得されます。そうでない場合、JavaMail のデフォルトのエンコードが使用されます。
mimeMessage
- 作業する MIME メッセージ MimeMessageHelper(javax.mail.internet.MimeMessage, boolean)
, getDefaultEncoding(javax.mail.internet.MimeMessage)
, JavaMailSenderImpl.setDefaultEncoding(java.lang.String)
public MimeMessageHelper(MimeMessageEE mimeMessage, @Nullable StringSE encoding)
mimeMessage
- 作業する MIME メッセージ encoding
- メッセージに使用する文字エンコード MimeMessageHelper(javax.mail.internet.MimeMessage, boolean)
public MimeMessageHelper(MimeMessageEE mimeMessage, boolean multipart) throws MessagingExceptionEE
MULTIPART_MODE_MIXED_RELATED 以外の特定のマルチパートモードを選択するには、multipartMode 引数を受け取る MimeMessageHelper コンストラクターの使用を検討してください。
メッセージの文字エンコードは、渡された場合、渡された MimeMessage オブジェクトから取得されます。そうでない場合、JavaMail のデフォルトのエンコードが使用されます。
mimeMessage
- 作業する MIME メッセージ multipart
- 代替テキスト、インライン要素、添付ファイルをサポートするマルチパートメッセージを作成するかどうか (MULTIPART_MODE_MIXED_RELATED に対応)MessagingExceptionEE
- マルチパート作成が失敗した場合 MimeMessageHelper(javax.mail.internet.MimeMessage, int)
, getDefaultEncoding(javax.mail.internet.MimeMessage)
, JavaMailSenderImpl.setDefaultEncoding(java.lang.String)
public MimeMessageHelper(MimeMessageEE mimeMessage, boolean multipart, @Nullable StringSE encoding) throws MessagingExceptionEE
MULTIPART_MODE_MIXED_RELATED 以外の特定のマルチパートモードを選択するには、multipartMode 引数を受け取る MimeMessageHelper コンストラクターの使用を検討してください。
mimeMessage
- 作業する MIME メッセージ multipart
- 代替テキスト、インライン要素、添付ファイルをサポートするマルチパートメッセージを作成するかどうか (MULTIPART_MODE_MIXED_RELATED に対応)encoding
- メッセージに使用する文字エンコード MessagingExceptionEE
- マルチパート作成が失敗した場合 MimeMessageHelper(javax.mail.internet.MimeMessage, int, String)
public MimeMessageHelper(MimeMessageEE mimeMessage, int multipartMode) throws MessagingExceptionEE
メッセージの文字エンコードは、渡された場合、渡された MimeMessage オブジェクトから取得されます。そうでない場合、JavaMail のデフォルトのエンコードが使用されます。
mimeMessage
- 作業する MIME メッセージ multipartMode
- 作成するマルチパートメッセージの種類 (MIXED、RELATED、MIXED_RELATED、NO)MessagingExceptionEE
- マルチパート作成が失敗した場合 MULTIPART_MODE_NO
, MULTIPART_MODE_MIXED
, MULTIPART_MODE_RELATED
, MULTIPART_MODE_MIXED_RELATED
, getDefaultEncoding(javax.mail.internet.MimeMessage)
, JavaMailSenderImpl.setDefaultEncoding(java.lang.String)
public MimeMessageHelper(MimeMessageEE mimeMessage, int multipartMode, @Nullable StringSE encoding) throws MessagingExceptionEE
mimeMessage
- 作業する MIME メッセージ multipartMode
- 作成するマルチパートメッセージの種類 (MIXED、RELATED、MIXED_RELATED、NO)encoding
- メッセージに使用する文字エンコード MessagingExceptionEE
- マルチパート作成が失敗した場合 MULTIPART_MODE_NO
, MULTIPART_MODE_MIXED
, MULTIPART_MODE_RELATED
, MULTIPART_MODE_MIXED_RELATED
public final MimeMessageEE getMimeMessage()
protected void createMimeMultiparts(MimeMessageEE mimeMessage, int multipartMode) throws MessagingExceptionEE
テキストおよびインライン要素は、ルート要素自体(MULTIPART_MODE_MIXED、MULTIPART_MODE_RELATED)に格納するか、ルート要素ではなくネストした要素に直接格納する(MULTIPART_MODE_MIXED_RELATED)ことができます。
デフォルトでは、ルート MimeMultipart 要素の型は "mixed" (MULTIPART_MODE_MIXED)または "related" (MULTIPART_MODE_RELATED)です。メインのマルチパート要素は、「関連」型のネストされた要素(MULTIPART_MODE_MIXED_RELATED)として追加されるか、ルート要素自体(MULTIPART_MODE_MIXED、MULTIPART_MODE_RELATED)と同一になります。
mimeMessage
- ルート MimeMultipart オブジェクトを追加する MimeMessage オブジェクト multipartMode
- コンストラクターに渡されるマルチパートモード (MIXED、RELATED、MIXED_RELATED、NO)MessagingExceptionEE
- マルチパート作成が失敗した場合 setMimeMultiparts(javax.mail.internet.MimeMultipart, javax.mail.internet.MimeMultipart)
, MULTIPART_MODE_NO
, MULTIPART_MODE_MIXED
, MULTIPART_MODE_RELATED
, MULTIPART_MODE_MIXED_RELATED
protected final void setMimeMultiparts(@Nullable MimeMultipartEE root, @Nullable MimeMultipartEE main)
root
- 添付ファイルが追加されるルート MimeMultipart オブジェクト。または null
は、マルチパートがまったくないことを示します main
- メインの MimeMultipart オブジェクト。テキストとインライン要素が追加されます (ルートマルチパートオブジェクト、またはルートマルチパート要素にネストされた要素と同じにすることができます)public final boolean isMultipart()
public final MimeMultipartEE getRootMimeMultipart() throws IllegalStateExceptionSE
これは、マルチパートメールの場合、MimeMessage の直接コンテンツになります。
IllegalStateExceptionSE
- このヘルパーがマルチパートモードでない場合 isMultipart()
, getMimeMessage()
, MimeMultipart.addBodyPart(javax.mail.BodyPart)
EEpublic final MimeMultipartEE getMimeMultipart() throws IllegalStateExceptionSE
これは、マルチパートメールの場合、ルート MimeMultipart 内にネストされます。
IllegalStateExceptionSE
- このヘルパーがマルチパートモードでない場合 isMultipart()
, getRootMimeMultipart()
, MimeMultipart.addBodyPart(javax.mail.BodyPart)
EE@Nullable protected StringSE getDefaultEncoding(MimeMessageEE mimeMessage)
mimeMessage
- 渡された MimeMessagenull
protected FileTypeMapSE getDefaultFileTypeMap(MimeMessageEE mimeMessage)
mimeMessage
- 渡された MimeMessageConfigurableMimeFileTypeMap
public void setFileTypeMap(@Nullable FileTypeMapSE fileTypeMap)
FileTypeMap
を設定して、メッセージに追加されるインラインコンテンツおよび添付ファイルのコンテンツ型を決定するために使用します。 デフォルトは、基礎となる MimeMessage が持っている FileTypeMap
(存在する場合)、またはアクティベーションフレームワークのデフォルトの FileTypeMap
インスタンス(それ以外の場合)です。
addInline(java.lang.String, javax.activation.DataSource)
, addAttachment(java.lang.String, javax.activation.DataSource)
, getDefaultFileTypeMap(javax.mail.internet.MimeMessage)
, JavaMailSenderImpl.setDefaultFileTypeMap(javax.activation.FileTypeMap)
, FileTypeMap.getDefaultFileTypeMap()
SE, ConfigurableMimeFileTypeMap
public FileTypeMapSE getFileTypeMap()
FileTypeMap
を返します。public void setEncodeFilenames(boolean encodeFilenames)
#addAttachment
メソッドに渡される添付ファイル名をエンコードするかどうかを設定します。 標準の MIME 動作のデフォルトは false
です。古いメールクライアントとの互換性のために、これを true
に変えてください。関連する注記については、JavaMail の mail.mime.encodefilename
システムプロパティを確認してください。
注意 : JavaMail の標準 mail.mime.encodefilename
システムプロパティを優先して、デフォルトが 5.3 の false
に変更されました。
public boolean isEncodeFilenames()
#addAttachment
メソッドに渡された添付ファイル名をエンコードするかどうかを返します。setEncodeFilenames(boolean)
public void setValidateAddresses(boolean validateAddresses)
デフォルトは false
です。
public boolean isValidateAddresses()
protected void validateAddress(InternetAddressEE address) throws AddressExceptionEE
デフォルトの実装では、ヘルパーインスタンスのアドレス検証がアクティブになっている場合に InternetAddress.validate()
EE を呼び出します。
address
- 検証するアドレス AddressExceptionEE
- 検証に失敗した場合 isValidateAddresses()
, InternetAddress.validate()
EEprotected void validateAddresses(InternetAddressEE[] addresses) throws AddressExceptionEE
デフォルトの実装では、アドレスごとに validateAddress(javax.mail.internet.InternetAddress)
に委譲するだけです。
addresses
- 検証するアドレス AddressExceptionEE
- 検証に失敗した場合 validateAddress(InternetAddress)
public void setFrom(InternetAddressEE from) throws MessagingExceptionEE
public void setFrom(StringSE from) throws MessagingExceptionEE
public void setFrom(StringSE from, StringSE personal) throws MessagingExceptionEE, UnsupportedEncodingExceptionSE
public void setReplyTo(InternetAddressEE replyTo) throws MessagingExceptionEE
public void setReplyTo(StringSE replyTo) throws MessagingExceptionEE
public void setReplyTo(StringSE replyTo, StringSE personal) throws MessagingExceptionEE, UnsupportedEncodingExceptionSE
public void setTo(InternetAddressEE to) throws MessagingExceptionEE
public void setTo(InternetAddressEE[] to) throws MessagingExceptionEE
public void setTo(StringSE to) throws MessagingExceptionEE
public void setTo(StringSE[] to) throws MessagingExceptionEE
public void addTo(InternetAddressEE to) throws MessagingExceptionEE
public void addTo(StringSE to) throws MessagingExceptionEE
public void addTo(StringSE to, StringSE personal) throws MessagingExceptionEE, UnsupportedEncodingExceptionSE
public void setCc(InternetAddressEE cc) throws MessagingExceptionEE
public void setCc(InternetAddressEE[] cc) throws MessagingExceptionEE
public void setCc(StringSE cc) throws MessagingExceptionEE
public void setCc(StringSE[] cc) throws MessagingExceptionEE
public void addCc(InternetAddressEE cc) throws MessagingExceptionEE
public void addCc(StringSE cc) throws MessagingExceptionEE
public void addCc(StringSE cc, StringSE personal) throws MessagingExceptionEE, UnsupportedEncodingExceptionSE
public void setBcc(InternetAddressEE bcc) throws MessagingExceptionEE
public void setBcc(InternetAddressEE[] bcc) throws MessagingExceptionEE
public void setBcc(StringSE bcc) throws MessagingExceptionEE
public void setBcc(StringSE[] bcc) throws MessagingExceptionEE
public void addBcc(InternetAddressEE bcc) throws MessagingExceptionEE
public void addBcc(StringSE bcc) throws MessagingExceptionEE
public void addBcc(StringSE bcc, StringSE personal) throws MessagingExceptionEE, UnsupportedEncodingExceptionSE
public void setPriority(int priority) throws MessagingExceptionEE
priority
- 優先度値。通常、1(最高)から 5 の間 (下位)MessagingExceptionEE
- エラーの場合 public void setSentDate(DateSE sentDate) throws MessagingExceptionEE
sentDate
- 設定する日付 (非 null
)MessagingExceptionEE
- エラーの場合 public void setSubject(StringSE subject) throws MessagingExceptionEE
subject
- 件名テキスト MessagingExceptionEE
- エラーの場合 public void setText(StringSE text) throws MessagingExceptionEE
注 : setText
の後に addInline(java.lang.String, javax.activation.DataSource)
を呼び出します。そうしないと、メールリーダーがインライン参照を正しく解決できない可能性があります。
text
- メッセージのテキスト MessagingExceptionEE
- エラーの場合 public void setText(StringSE text, boolean html) throws MessagingExceptionEE
注 : setText
の後に addInline(java.lang.String, javax.activation.DataSource)
を呼び出します。そうしないと、メールリーダーがインライン参照を正しく解決できない可能性があります。
text
- メッセージのテキスト html
- デフォルトのコンテンツ型("text/plain")を使用して、HTML メールにコンテンツ型 "text/html" を適用するかどうか MessagingExceptionEE
- エラーの場合 public void setText(StringSE plainText, StringSE htmlText) throws MessagingExceptionEE
注 : setText
の後に addInline(java.lang.String, javax.activation.DataSource)
を呼び出します。そうしないと、メールリーダーがインライン参照を正しく解決できない可能性があります。
plainText
- メッセージのプレーンテキスト htmlText
- メッセージの HTML テキスト MessagingExceptionEE
- エラーの場合 public void addInline(StringSE contentId, DataSourceSE dataSource) throws MessagingExceptionEE
javax.activation.DataSource
からコンテンツを取得します。JavaMail は getInputStream()
を複数回呼び出すため、DataSource 実装によって返される InputStream は各呼び出しで新しいものである必要があることに注意してください。
注 :setText(java.lang.String)
の後に addInline
を呼び出します。そうしないと、メールリーダーがインライン参照を正しく解決できない可能性があります。
contentId
- 使用するコンテンツ ID。本文部分の "Content-ID" ヘッダーとして、山括弧 括弧 で囲まれます。例: "myId" → "<myId>"。HTML ソースでは src="cid:myId" 式を使用して参照できます。dataSource
- コンテンツを取得する javax.activation.DataSource
、InputStream およびコンテンツ型を決定 MessagingExceptionEE
- エラーの場合 addInline(String, java.io.File)
, addInline(String, org.springframework.core.io.Resource)
public void addInline(StringSE contentId, FileSE file) throws MessagingExceptionEE
java.io.File
からコンテンツを取得します。コンテンツ型は、指定されたコンテンツファイルの名前によって決定されます。任意のファイル名( ".tmp" などで終わる可能性がある)を持つ一時ファイルにはこれを使用しないでください!
注 :setText(java.lang.String)
の後に addInline
を呼び出します。そうしないと、メールリーダーがインライン参照を正しく解決できない可能性があります。
contentId
- 使用するコンテンツ ID。本文部分の "Content-ID" ヘッダーとして、山括弧 括弧 で囲まれます。例: "myId" → "<myId>"。HTML ソースでは src="cid:myId" 式を使用して参照できます。file
- コンテンツを取得する File リソース MessagingExceptionEE
- エラーの場合 setText(java.lang.String)
, addInline(String, org.springframework.core.io.Resource)
, addInline(String, javax.activation.DataSource)
public void addInline(StringSE contentId, Resource resource) throws MessagingExceptionEE
org.springframework.core.io.Resource
からコンテンツを取得します。コンテンツ型は、指定されたコンテンツファイルの名前によって決定されます。任意のファイル名( ".tmp" などで終わる可能性がある)を持つ一時ファイルにはこれを使用しないでください!
JavaMail は getInputStream()
を複数回呼び出すため、リソース実装によって返される InputStream は各呼び出しで新しいものである必要があることに注意してください。
注 :setText(java.lang.String)
の後に addInline
を呼び出します。そうしないと、メールリーダーがインライン参照を正しく解決できない可能性があります。
contentId
- 使用するコンテンツ ID。本文部分の "Content-ID" ヘッダーとして、山括弧 括弧 で囲まれます。例: "myId" → "<myId>"。HTML ソースでは src="cid:myId" 式を使用して参照できます。resource
- コンテンツを取得するリソース MessagingExceptionEE
- エラーの場合 setText(java.lang.String)
, addInline(String, java.io.File)
, addInline(String, javax.activation.DataSource)
public void addInline(StringSE contentId, InputStreamSource inputStreamSource, StringSE contentType) throws MessagingExceptionEE
org.springframework.core.InputStreamResource
からコンテンツを取得し、コンテンツ型を明示的に指定します。Java アクティベーションフレームワークの FileTypeMap(このヘルパーが保持するものなど)を介して、任意のファイル名のコンテンツ型を判別できます。
JavaMail は getInputStream()
を複数回呼び出すため、InputStreamSource 実装によって返される InputStream は各呼び出しで新しいものである必要があることに注意してください。
注 : setText
の後に addInline
を呼び出します。そうしないと、メールリーダーがインライン参照を正しく解決できない可能性があります。
contentId
- 使用するコンテンツ ID。本文部分の "Content-ID" ヘッダーとして、山括弧 括弧 で囲まれます。例: "myId" → "<myId>"。HTML ソースでは src="cid:myId" 式を使用して参照できます。inputStreamSource
- コンテンツを取得するリソース contentType
- 要素に使用するコンテンツ型 MessagingExceptionEE
- エラーの場合 setText(java.lang.String)
, getFileTypeMap()
, addInline(String, org.springframework.core.io.Resource)
, addInline(String, javax.activation.DataSource)
public void addAttachment(StringSE attachmentFilename, DataSourceSE dataSource) throws MessagingExceptionEE
javax.activation.DataSource
からコンテンツを取得して、MimeMessage に添付ファイルを追加します。JavaMail は getInputStream()
を複数回呼び出すため、DataSource 実装によって返される InputStream は各呼び出しで新しいものである必要があることに注意してください。
attachmentFilename
- メールに表示される添付ファイルの名前 (コンテンツ型はこれによって決定されます)dataSource
- コンテンツを取得する javax.activation.DataSource
、InputStream およびコンテンツ型を決定 MessagingExceptionEE
- エラーの場合 addAttachment(String, org.springframework.core.io.InputStreamSource)
, addAttachment(String, java.io.File)
public void addAttachment(StringSE attachmentFilename, FileSE file) throws MessagingExceptionEE
java.io.File
からコンテンツを取得して、MimeMessage に添付ファイルを追加します。コンテンツ型は、指定されたコンテンツファイルの名前によって決定されます。任意のファイル名( ".tmp" などで終わる可能性がある)を持つ一時ファイルにはこれを使用しないでください!
attachmentFilename
- メールに表示される添付ファイルの名前 file
- コンテンツを取得する File リソース MessagingExceptionEE
- エラーの場合 addAttachment(String, org.springframework.core.io.InputStreamSource)
, addAttachment(String, javax.activation.DataSource)
public void addAttachment(StringSE attachmentFilename, InputStreamSource inputStreamSource) throws MessagingExceptionEE
org.springframework.core.io.InputStreamResource
からコンテンツを取得して、MimeMessage に添付ファイルを追加します。コンテンツ型は、添付ファイルのファイル名によって決まります。任意のファイル名の一時ファイルを含め、どのコンテンツソースでも問題ありません。
JavaMail は getInputStream()
を複数回呼び出すため、InputStreamSource 実装によって返される InputStream は各呼び出しで新しいものである必要があることに注意してください。
attachmentFilename
- メールに表示される添付ファイルの名前 inputStreamSource
- コンテンツを取得するリソース (Spring のすべての Resource 実装をここに渡すことができます)MessagingExceptionEE
- エラーの場合 addAttachment(String, java.io.File)
, addAttachment(String, javax.activation.DataSource)
, Resource
public void addAttachment(StringSE attachmentFilename, InputStreamSource inputStreamSource, StringSE contentType) throws MessagingExceptionEE
org.springframework.core.io.InputStreamResource
からコンテンツを取得して、MimeMessage に添付ファイルを追加します。JavaMail は getInputStream()
を複数回呼び出すため、InputStreamSource 実装によって返される InputStream は各呼び出しで新しいものである必要があることに注意してください。
attachmentFilename
- メールに表示される添付ファイルの名前 inputStreamSource
- コンテンツを取得するリソース (Spring のすべての Resource 実装をここに渡すことができます)contentType
- 要素に使用するコンテンツ型 MessagingExceptionEE
- エラーの場合 addAttachment(String, java.io.File)
, addAttachment(String, javax.activation.DataSource)
, Resource
protected DataSourceSE createDataSource(InputStreamSource inputStreamSource, StringSE contentType, StringSE name)
inputStreamSource
- InputStreamSource (通常は Spring リソース)contentType
- コンテンツ型 name
- DataSource の名前