2012-01-12 9 views
4

私はJavaMail API 1.4.4を使用してメールを送信しています。これまではメールを送信できましたが、実際にはHTMLコンテンツを送信する必要があり、メールが受信されるとHTMLタグが処理されます。groovyを使用してhtmlテンプレートをメールとして送信する方法

例:私は私のメッセージ内のテーブルのコードを持っている場合、それはhtmlコードを処理し、メールでそれを提示しなければならない

マイコード

import java.io.File; 
import java.util.* 
import javax.mail.* 
import javax.mail.internet.* 
import javax.activation.* 

class Mail { 
    static void sendMail(mailProp) {  
    // Get system properties 
    Properties properties = System.getProperties() 

    // Setup mail server 
    properties.setProperty("mail.smtp.host", mailProp.host) 

    // Get the default Session object. 
    Session session = Session.getDefaultInstance(properties) 

    try { 
     // Create a default MimeMessage object. 
     MimeMessage message = new MimeMessage(session) 

     // Set From: header field of the header. 
     message.setFrom(new InternetAddress(mailProp.from)) 

     // Set To: header field of the header. 
     message.addRecipient(Message.RecipientType.TO,new InternetAddress(mailProp.to)) 

     // Set Subject: header field 
     message.setSubject("My Subject!") 

     // Now set the actual message 
     message.setText(createMessage()) 

     // Send message 
     Transport.send(message) 
     System.out.println("Sent message successfully....") 
    } 
    catch(MessagingException mex) { 
     mex.printStackTrace() 
    } 
    } 

    static def createMessage() { 
    def message="""<h1>This is actual message</h1>""" 
    } 

    static main(args) { 
    AppProperties.load() 

    def mailProp=[:] 
    mailProp.host=AppProperties.get("host") 
    mailProp.from=AppProperties.get("sender") 
    mailProp.to=AppProperties.get("receiver") 
    mailProp.server=AppProperties.get("mailserver") 

    sendMail(mailProp) 
    } 
} 

答えて

5

A素晴らしい送信方法は、次のとおりです。

try { 
    // Create a default MimeMessage object. 
    new MimeMessage(session).with { message -> 
    // From, Subject and Content 
    from = new InternetAddress(mailProp.from) 
    subject = "My Subject!" 
    setContent createMessage(), 'text/html' 

    // Add recipients 
    addRecipient(Message.RecipientType.TO, new InternetAddress(mailProp.to)) 

    // Send the message 
    Transport.send(message) 

    println "Sent successfully" 
    } 
} 
catch(MessagingException mex) { 
    mex.printStackTrace() 
} 
4

利用のsetContent

message.setContent("<h1>This is actual message</h1>", "text/html") 
+0

[変換するのを忘れないでください](https://stackoverflow.com/questions/17262161/how-to-modify-the-mime-message-in-editable-email-plugin-in-jenkins/49126212# 49126212) 'GString'を' java.lang.String'に変更しました。 – it3xl

0

message.setText(createHtmlMessage()、 "utf-8"、 "html")を使用します。

関連する問題