2012-03-26 1 views
1

http://commons.apache.org/email/api-1.0/org/apache/commons/mail/Email.htmlКак указать тип содержимого Apache Commons Mail в одном методе?

Написание новой обертки для отправки почты в моем приложении Scala. Я просматривал библиотеку Apache Commons Mail, и это здорово, за исключением того, что я запутался в методе setContent. Документы показывают, что это единственный метод, который запрашивает тип содержимого, но он имеет два параметра: content и contentType.

В моей почтовой программе я уже определяю текст и тело сообщения html, так как бы я сам определял тип содержимого? Код ниже:

var email: HtmlEmail = new HtmlEmail 
    email.sethtmlMsg(bodyHtml) 
    email.setTextMsg(bodyText) 

    email.setCharset(current.charset) 

    setAddress(current.from) { (address, name) => email.setFrom(address, name) } 
    setAddress(current.replyTo) { (address, name) => email.addReplyTo(address, name) } 
    current.recipients.foreach(setAddress(_) { (address, name) => email.addTo(address, name) }) 
    current.ccRecipients.foreach(setAddress(_) { (address, name) => email.addCc(address, name) }) 
    current.bccRecipients.foreach(setAddress(_) { (address, name) => email.addBcc(address, name) }) 

    email.setSubject(current.subject) 
    email.updateContentType(current.contentType) 

updateContentType не реальный метод, так что мне нужно снова передать содержание сообщения или я могу пропускать null в первый параметр для setContent? Благодаря!

ответ

0

Как оказалось, потому что я указав HtmlEmail, когда я использую методы setHtmlMsg и setTextMsg Apache Commons почты автоматически определяют тип содержимого каждой части сообщения.

Поэтому единственный метод определения типа содержимого вовсе не нужен, если только не используется org.apache.commons.Email.setContent, где вы получаете практическое применение с настройкой содержимого сообщения.

Основная проблема возникла из-за отсутствия моего понимания электронных писем;)