[
https://issues.apache.org/jira/browse/JSPWIKI-258?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12594663#action_12594663
]
Andrew Jaquith commented on JSPWIKI-258:
----------------------------------------
Agreed. -1 for this patch. Call me retrograde and paranoid, but I'd rather not
send HTML mail. Something we could do at some point in the future is extract
the message-creation bits into an interface and make this pluggable so that
somebody who wants to send HTML mail could do it. But for now, I'd rather we
just keep it as plain text mail.
> Sending HTML-Mail with JSPWiki
> ------------------------------
>
> Key: JSPWIKI-258
> URL: https://issues.apache.org/jira/browse/JSPWIKI-258
> Project: JSPWiki
> Issue Type: Improvement
> Components: Core & storage
> Affects Versions: 2.6.2
> Reporter: Holger Szillat
> Priority: Minor
> Attachments: jspwiki-258.patch, MailUtil.java
>
>
> Hey, while writing my own little plugin, I wanted to send HTML-mails with
> JSPWiki, but discovered, that this was not easily possible. So I "enhanced"
> the MailUtil-class with the following code:
> ...
> /**
> * Get a Mime-message associated with the given engine's mail-session.
> Use this
> * to create a multipart Mime-message to be sent via the Wiki.
> *
> * @param engine the WikiEngine for the current wiki
> * @return A MimeMessage associated with the mail-session.
> * @author Holger Szillat
> */
> public static MimeMessage getMimeMessage(WikiEngine engine) {
> Session session = getMailSession(engine);
> MimeMessage msg = new MimeMessage(session);
>
> return msg;
> }
> /**
> * <p>Sends an e-mail to a specified receiver using a JavaMail Session
> supplied
> * by a JNDI mail session factory (preferred) or a locally initialized
> * session based on properties in <code>jspwiki.properties</code>.
> * See the top-level JavaDoc for this class for a description of
> * required properties and their default values.</p>
> * <p>The e-mail address used for the <code>to</code> parameter must be in
> * RFC822 format, as described in the JavaDoc for [EMAIL PROTECTED]
> javax.mail.internet.InternetAddress}
> * and more fully at
> * <a
> href="http://www.freesoft.org/CIE/RFC/822/index.htm">http://www.freesoft.org/CIE/RFC/822/index.htm</a>.
> * In other words, e-mail addresses should look like this:</p>
> * <blockquote><code>Snoop Dog <[EMAIL PROTECTED]><br/>
> * [EMAIL PROTECTED]</code></blockquote>
> * <p>Note that the first form allows a "friendly" user name to be
> supplied
> * in addition to the actual e-mail address.</p>
> *
> * @param engine the WikiEngine for the current wiki
> * @param to the receiver
> * @param subject the subject line of the message
> * @param content the contents of the mail message, as plain text
> * @throws AddressException
> * @throws MessagingException
> */
> public static void sendMessage(WikiEngine engine, String to, String
> subject, String content)
> throws AddressException, MessagingException {
> Session session = getMailSession(engine);
> MimeMessage msg = getMimeMessage(engine);
> msg.setText(content, "UTF-8");
>
> sendMessage(engine, to, subject, msg);
> }
> /**
> * <p>Sends an e-mail to a specified receiver using a JavaMail Session
> supplied
> * by a JNDI mail session factory (preferred) or a locally initialized
> * session based on properties in <code>jspwiki.properties</code>.
> * See the top-level JavaDoc for this class for a description of
> * required properties and their default values.</p>
> * <p>This method should be used to send a Mime-multipart message using
> the Wiki's
> * Mail-session.
> * </p>
> *
> * @param engine the WikiEngine for the current wiki
> * @param to the receiver
> * @param subject the subject line of the message
> * @param content the contents of the mail message
> * @throws AddressException
> * @throws MessagingException
> *
> * @author Holger Szillat
> */
> public static void sendMessage(WikiEngine engine, String to, String
> subject, Message content)
> throws AddressException, MessagingException
> {
> Properties props = engine.getWikiProperties();
> Session session = getMailSession(engine);
> getSenderEmailAddress(session, props);
> try
> {
> // Create and address the message
> content.setFrom(new InternetAddress(fromAddress));
> content.setRecipients(Message.RecipientType.TO,
> InternetAddress.parse(to, false));
> content.setSubject(subject);
> content.setSentDate(new Date());
> // Send and log it
> Transport.send(content);
> if (log.isInfoEnabled())
> {
> log.info("Sent e-mail to=" + to + ", subject=\"" + subject +
> "\", used "
> + (c_useJndi ? "JNDI" : "standalone") + " mail
> session.");
> }
> }
> catch (MessagingException e)
> {
> log.error(e);
> throw e;
> }
> }
> ...
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.