Alexandre Garnier created GERONIMO-6480:
-------------------------------------------
Summary: Wrong attachment 'Content-type' in some conditions
Key: GERONIMO-6480
URL: https://issues.apache.org/jira/browse/GERONIMO-6480
Project: Geronimo
Issue Type: Bug
Security Level: public (Regular issues)
Components: mail
Reporter: Alexandre Garnier
When you set an attachment filename before having a Content-type defined, then
the Content-type is set to 'text/plain'.
{code:language=java}
BodyPart attachmentPart = new MimeBodyPart();
attachmentPart.setDataHandler(dh);
attachmentPart.setFileName("test.pdf");
{code}
==> Content-type = 'text/plain'
{code:language=java}
BodyPart attachmentPart = new MimeBodyPart();
attachmentPart.addHeader("Content-Type", "aplication/pdf");
attachmentPart.setDataHandler(dh);
attachmentPart.setFileName("test.pdf");
{code}
==> Content-type = 'text/plain' (because setDataHandler reset Headers)
{code:language=java}
BodyPart attachmentPart = new MimeBodyPart();
attachmentPart.setDataHandler(dh);
attachmentPart.addHeader("Content-Type", "aplication/pdf");
attachmentPart.setFileName("test.pdf");
{code}
==> Right Content-Type
{code:language=java}
System.setProperty("mail.mime.setcontenttypefilename",
Boolean.FALSE.toString());
BodyPart attachmentPart = new MimeBodyPart();
attachmentPart.setDataHandler(dh);
attachmentPart.setFileName("test.pdf");
{code}
==> Right Content-Type
{code:language=java}
BodyPart attachmentPart = new MimeBodyPart();
attachmentPart.setFileName("test.pdf");
attachmentPart.setDataHandler(dh);
{code}
==> Right Content-Type
It's because of solution of GERONIMO-2091 (SVN rev412720).
The right solution is in [javamail
MimeBodyPart.java|https://java.net/projects/javamail/sources/mercurial/content/mail/src/main/java/javax/mail/internet/MimeBodyPart.java?rev=569]
: use direct access to Header (instead of method with default value) and do
nothing if not yet defined. This solution could allow to remove the
{{MIME_SETCONTENTTYPEFILENAME}} property.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira