Author: amilas
Date: Thu Nov 12 02:59:35 2009
New Revision: 835205
URL: http://svn.apache.org/viewvc?rev=835205&view=rev
Log:
add parameters to set transfer encoding and custom headers
Modified:
webservices/commons/trunk/modules/transport/modules/mail/src/main/java/org/apache/axis2/transport/mail/MailConstants.java
webservices/commons/trunk/modules/transport/modules/mail/src/main/java/org/apache/axis2/transport/mail/MailTransportSender.java
Modified:
webservices/commons/trunk/modules/transport/modules/mail/src/main/java/org/apache/axis2/transport/mail/MailConstants.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/transport/modules/mail/src/main/java/org/apache/axis2/transport/mail/MailConstants.java?rev=835205&r1=835204&r2=835205&view=diff
==============================================================================
---
webservices/commons/trunk/modules/transport/modules/mail/src/main/java/org/apache/axis2/transport/mail/MailConstants.java
(original)
+++
webservices/commons/trunk/modules/transport/modules/mail/src/main/java/org/apache/axis2/transport/mail/MailConstants.java
Thu Nov 12 02:59:35 2009
@@ -94,5 +94,6 @@
// Custom headers
/** @see org.apache.axis2.transport.mail.WSMimeMessage */
public static final String MAIL_HEADER_X_MESSAGE_ID= "X-Message-ID";
+ public static final String TRANSPORT_MAIL_CUSTOM_HEADERS =
"transport.mail.custom.headers";
}
Modified:
webservices/commons/trunk/modules/transport/modules/mail/src/main/java/org/apache/axis2/transport/mail/MailTransportSender.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/transport/modules/mail/src/main/java/org/apache/axis2/transport/mail/MailTransportSender.java?rev=835205&r1=835204&r2=835205&view=diff
==============================================================================
---
webservices/commons/trunk/modules/transport/modules/mail/src/main/java/org/apache/axis2/transport/mail/MailTransportSender.java
(original)
+++
webservices/commons/trunk/modules/transport/modules/mail/src/main/java/org/apache/axis2/transport/mail/MailTransportSender.java
Thu Nov 12 02:59:35 2009
@@ -392,6 +392,7 @@
// set Date
message.setSentDate(new Date());
+
// set SOAPAction header
message.setHeader(BaseConstants.SOAPACTION,
msgContext.getSoapAction());
@@ -439,10 +440,25 @@
// always use quoted-printable transfer encoding. Note that
JavaMail is a bit smarter
// here because it can choose between 7bit and quoted-printable
automatically, but it
// needs to scan the entire content to determine this.
- String contentType = dataHandler.getContentType().toLowerCase();
- if (!contentType.startsWith("multipart/") &&
CommonUtils.isTextualPart(contentType)) {
- mainPart.setHeader("Content-Transfer-Encoding",
"quoted-printable");
+ if
(msgContext.getOptions().getProperty("Content-Transfer-Encoding") != null) {
+ mainPart.setHeader("Content-Transfer-Encoding",
+ (String)
msgContext.getOptions().getProperty("Content-Transfer-Encoding"));
+ } else {
+ String contentType =
dataHandler.getContentType().toLowerCase();
+ if (!contentType.startsWith("multipart/") &&
CommonUtils.isTextualPart(contentType)) {
+ mainPart.setHeader("Content-Transfer-Encoding",
"quoted-printable");
+ }
+ }
+
+ //setting any custom headers defined by the user
+ if
(msgContext.getOptions().getProperty(MailConstants.TRANSPORT_MAIL_CUSTOM_HEADERS)
!= null) {
+ Map customTransportHeaders =
(Map)msgContext.getOptions().getProperty(MailConstants.TRANSPORT_MAIL_CUSTOM_HEADERS);
+ for (Object header: customTransportHeaders.keySet()){
+
mainPart.setHeader((String)header,(String)customTransportHeaders.get(header));
+ }
}
+
+
log.debug("Sending message");
Transport.send(message);