Как указать тип содержимого Apache Commons Mail одним способом? - PullRequest
1 голос
/ 26 марта 2012

http://commons.apache.org/email/api-1.0/org/apache/commons/mail/Email.html

Написание новой оболочки для отправки почты в моем приложении 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?Спасибо!

1 Ответ

0 голосов
/ 26 марта 2012

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

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

Большая часть проблемы была из-за недостатка моего понимания электронных писем;)

...