Note that there are some explanatory texts on larger screens.

plurals
  1. POJavamail / email commons: empty message gives strange error
    primarykey
    data
    text
    <p>I'm trying to send an email message via GMail (Google Apps, actually). This works perfectly for normal messages, but of course I have to test the extremes.</p> <p>Right now I'm trying to send a message without a body and I'm getting a strange error message. As I want to eliminate errors in my code, I'd like to know whether I'm doing something wrong or that there is an error in the libraries I'm using.</p> <pre><code>HtmlEmail currentMessage = new HtmlEmail(); currentMessage.setSSL(true); currentMessage.setSslSmtpPort(465); currentMessage.setHostName("smtp.gmail.com"); currentMessage.setAuthentication("abc@gmail.com", "secret"); /** rs is a ResultSet from database **/ if(rs.getString("mailFrom") != null &amp;&amp; !rs.getString("mailFrom").isEmpty()) currentMessage.setFrom(rs.getString("mailFrom")); else currentMessage.setFrom("abc@gmail.com"); currentMessage.setTo(this.convertRecipientStringToArray(rs.getString("mailTo"))); currentMessage.setCc(this.convertRecipientStringToArray(rs.getString("mailCC"))); currentMessage.setBcc(this.convertRecipientStringToArray(rs.getString("mailBC"))); currentMessage.setSubject(rs.getString("mailSubject")); if(rs.getString("mailBody") != null &amp;&amp; !rs.getString("mailBody").isEmpty()) currentMessage.setTextMsg(rs.getString("mailBody")); if(rs.getString("mailHtmlBody") != null &amp;&amp; !rs.getString("mailHtmlBody").isEmpty()) currentMessage.setHtmlMsg(rs.getString("mailHtmlBody")); if(rs.getString("mailReplyTo") != null &amp;&amp; !rs.getString("mailReplyTo").isEmpty()) currentMessage.addReplyTo(rs.getString("mailReplyTo")); else currentMessage.addReplyTo("def@gmail.com"); currentMessage.send(); </code></pre> <p>This code works for "normal" emails: with a valid body, subject, addressees etc.</p> <p>When both <em>mailBody</em> <strong>and</strong> <em>mailHtmlBody</em> are <em>NULL</em> or empty in the databse, I get the following error:</p> <blockquote> <p>Sending the email to the following server failed : smtp.gmail.com:25</p> </blockquote> <p>Full error log (own log format) / stacktrace:</p> <pre><code>[CRITICAL] 2012-12-19 17:08:00 [CET] - Exception occurred in function com.mypackage.mymailobject.outgoing_sendMails: Sending the email to the following server failed : smtp.gmail.com:25 Stack trace: org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.gmail.com:25 at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1242) at org.apache.commons.mail.Email.send(Email.java:1267) at com.mypackage.mymailobject.outgoing_sendMails(mymailobject.java:85) at com.mypackage.mymailobject.outgoing_do(mymailobject.java:69) at com.mypackage.Mailer.main(Mailer.java:132) Caused by: javax.mail.MessagingException: IOException while sending message; nested exception is: java.io.IOException: javax.mail.MessagingException: Empty multipart: multipart/mixed; boundary="----=_Part_0_916488860.1355933279096" at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1141) at javax.mail.Transport.send0(Transport.java:195) at javax.mail.Transport.send(Transport.java:124) at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1232) ... 4 more Caused by: java.io.IOException: javax.mail.MessagingException: Empty multipart: multipart/mixed; boundary="----=_Part_0_916488860.1355933279096" at com.sun.mail.handlers.multipart_mixed.writeTo(multipart_mixed.java:105) at javax.activation.ObjectDataContentHandler.writeTo(Unknown Source) at javax.activation.DataHandler.writeTo(Unknown Source) at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1476) at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1772) at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1099) ... 7 more </code></pre> <p>I now have 2 questions:</p> <ol> <li>Should it be possible to send an email without a body? Is that allowed?</li> <li>Why has the error message port number 25 instead of 465?</li> </ol>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload