You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Jacek Laskowski (JIRA)" <de...@geronimo.apache.org> on 2006/04/01 00:44:47 UTC
[jira] Resolved: (GERONIMO-1797) Mail attachments are not getting
recognized as MIME parts
[ http://issues.apache.org/jira/browse/GERONIMO-1797?page=all ]
Jacek Laskowski resolved GERONIMO-1797:
---------------------------------------
Resolution: Fixed
Assign To: Jacek Laskowski
Committed revision 390530. Thanks Rick!
> Mail attachments are not getting recognized as MIME parts
> ---------------------------------------------------------
>
> Key: GERONIMO-1797
> URL: http://issues.apache.org/jira/browse/GERONIMO-1797
> Project: Geronimo
> Type: Bug
> Components: mail
> Reporter: Rick McGuire
> Assignee: Jacek Laskowski
> Fix For: 1.2
> Attachments: GERONIMO-1797.patch
>
> Mail sent with attachments are not getting the headers set properly, so the attachment is not recognized by mail clients as being attachment data. The following short program illustrates this:
> //compiles against geronimo j2ee spec jar
> import java.io.PrintWriter;
> import java.io.FileReader;
> import java.io.FileWriter;
> import java.io.IOException;
> import javax.mail.*;
> import javax.mail.internet.*;
> import javax.activation.DataHandler;
> import javax.activation.DataSource;
> import javax.activation.FileDataSource;
> import java.util.Properties;
> public class xx {
> public static void main (String [] args)
> throws IOException, AddressException, NoSuchProviderException, MessagingException
> {
> String username = "rickmcg";
> String password = "stenos";
> String smtphost = "smtp.gmail.com";
> Properties props = new Properties();
> props.put("mail.smtp.auth", "true");
> props.put("mail.debug", "true");
> props.put("mail.smtp.starttls.enable", "true");
> props.put("mail.smtp.port", "587");
> Session session = Session.getDefaultInstance(props);
> session.setDebug(true);
> Message message = new MimeMessage(session);
> message.setFrom(new InternetAddress("rickmcg@gmail.com"));
> message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("rick@us.ibm.com"));
> message.setSubject("test subject");
> message.setText("test message");
> BodyPart messageBodyPart1 = new MimeBodyPart();
> messageBodyPart1.setText("part 1");
> BodyPart messageBodyPart2 = new MimeBodyPart();
> DataSource dataSource = new FileDataSource("xx.java");
> messageBodyPart2.setDataHandler(new DataHandler(dataSource));
> messageBodyPart2.setFileName("xx.java");
> Multipart multipart = new MimeMultipart();
> multipart.addBodyPart(messageBodyPart1);
> multipart.addBodyPart(messageBodyPart2);
> message.setContent(multipart);
> //choose A or B
> //A
> //===>>> geronimo fails SILENTLY on following line (no message is received)
> //===>>> but sun jars work fine
> // Transport.send(message);
> //B
> //===>>> if the classpath contains the sequence: geronimo-mail-jar, activation-jar
> //===>>> then the following lines error out complaining about can't find "smtp"
> //===>>> if the classpath contains the sequence: geronimo-mail-jar, sun-mail-jar, activation-jar
> //===>>> then the following lines work but the parts are all messed up (show up as one big chunk)
> //===>>> if the classpath contains the sequence: sun-mail-jar, activation-jar
> //===>>> then the following lines work perfectly fine
> Transport transport = session.getTransport("smtp");
> transport.connect(smtphost, 587, username, password);
> System.out.println("Sending message");
> transport.sendMessage(message, InternetAddress.parse("rick@us.ibm.com"));
> transport.close();
> }
> }
> There are multiple problems with the written out headers:
> 1) No MIME-Version header is getting set.
> 2) The Content-Type for the type level message is not getting set. Since this contains the mime boundary string, it results in the message getting corrupted.
> 3) Message header names are getting written as all lower case.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira