<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>java mail issue</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=121410991" />
  <subtitle>java mail issue</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=121410991</id>
  <updated>2026-04-05T03:32:13Z</updated>
  <dc:date>2026-04-05T03:32:13Z</dc:date>
  <entry>
    <title>java mail issue</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121410990" />
    <author>
      <name>Scarletake Bwi</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121410990</id>
    <updated>2022-04-28T09:41:21Z</updated>
    <published>2022-04-28T09:41:19Z</published>
    <summary type="html">&lt;p&gt;hi &lt;/p&gt;
&lt;p&gt;in liferay ce 7.4 ga19&lt;/p&gt;
&lt;p&gt;i use javax.mail in build.gradle&lt;/p&gt;
&lt;pre&gt;
&lt;code class="language-java"&gt;dependencies {
	compileOnly group: &amp;quot;com.liferay.portal&amp;quot;, name: &amp;quot;release.portal.api&amp;quot;
	compileOnly group: &amp;quot;javax.mail&amp;quot;, name: &amp;quot;javax.mail-api&amp;quot;, version: &amp;quot;1.4.4&amp;quot;
	cssBuilder group: &amp;quot;com.liferay&amp;quot;, name: &amp;quot;com.liferay.css.builder&amp;quot;, version: &amp;quot;3.0.2&amp;quot;

}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;in service-builder module, it work fine, i can creating file and put
  it as attachment.&lt;/p&gt;
&lt;p&gt;but in my mvc-module, it can not work when i add file &lt;/p&gt;
&lt;pre&gt;
&lt;code class="language-java"&gt;			MailMessage mailMessage = new MailMessage();
			InternetAddress from = new InternetAddress(Constant.DEFAULT_MAIL_SENDER_ADDRESS);
			from.setPersonal(Constant.DEFAULT_MAIL_SENDER_PERSONAL);
			mailMessage.setFrom(from);
			mailMessage.setHTMLFormat(true);

			mailMessage.setBody(message.toString());
			mailMessage.setSubject(&amp;quot;test notice&amp;quot;);
			mailMessage.setTo(internetAddressArrayList.toArray(new InternetAddress[internetAddressArrayList.size()]));
			mailMessage.addFileAttachment(vmiInfoRecordFileData);
			MailEngine.send(mailMessage);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;same code, but it just doesn't work in portlet class when i add file attachment.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;the exception &lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;com.liferay.portal.kernel.log.LogSanitizerException:
    javax.activation.UnsupportedDataTypeException: no object DCH for
    MIME type multipart/mixed; __  
     boundary=&amp;quot;----=_Part_28_382286606.1651138290581&amp;quot;
    [Sanitized]&lt;br /&gt;     at
    javax.activation.ObjectDataContentHandler.writeTo(DataHandler.java:896)
    ~[?:1.8.0_202]&lt;br /&gt;     at
    javax.activation.DataHandler.writeTo(DataHandler.java:317)
    ~[?:1.8.0_202]&lt;br /&gt;     at
    javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1670)
    ~[mail.jar:1.6.6-SNAPSHOT]&lt;br /&gt;     at
    javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1889)
    ~[mail.jar:1.6.6-SNAPSHOT]&lt;br /&gt;     at
    com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1300)
    ~[mail.jar:1.6.6-SNAPSHOT]&lt;br /&gt;     at
    com.liferay.petra.mail.MailEngine._send(MailEngine.java:635) ~[com.liferay.petra.mail.jar:?]&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;i also try use api&lt;/p&gt;
&lt;pre&gt;
&lt;code class="language-java"&gt;	public static void send(
			InternetAddress from, InternetAddress[] to, InternetAddress[] cc,
			InternetAddress[] bcc, InternetAddress[] bulkAddresses,
			String subject, String body, boolean htmlFormat,
			InternetAddress[] replyTo, String messageId, String inReplyTo,
			List&amp;lt;FileAttachment&amp;gt; fileAttachments)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;it doesn't work too.&lt;/p&gt;
&lt;p&gt;but after i put &lt;/p&gt;
&lt;pre&gt;
&lt;code class="language-java"&gt;MailcapCommandMap mc = (MailcapCommandMap) CommandMap.getDefaultCommandMap(); 
mc.addMailcap(&amp;quot;text/html;; x-java-content-handler=com.sun.mail.handlers.text_html&amp;quot;); 
mc.addMailcap(&amp;quot;text/xml;; x-java-content-handler=com.sun.mail.handlers.text_xml&amp;quot;); 
mc.addMailcap(&amp;quot;text/plain;; x-java-content-handler=com.sun.mail.handlers.text_plain&amp;quot;); 
mc.addMailcap(&amp;quot;multipart/*;; x-java-content-handler=com.sun.mail.handlers.multipart_mixed&amp;quot;); 
mc.addMailcap(&amp;quot;message/rfc822;; x-java-content- handler=com.sun.mail.handlers.message_rfc822&amp;quot;); &lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;befor i send it, it work.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;i'd like know why same code have different response. thanks in advance.&lt;/p&gt;</summary>
    <dc:creator>Scarletake Bwi</dc:creator>
    <dc:date>2022-04-28T09:41:19Z</dc:date>
  </entry>
</feed>
