2014-06-11 2 views
0

Play Framework 2.0 (Java 버전)으로 개발할 때 html로 이메일을 보내고 싶습니다. .메일 본문으로 html 페이지로드

/app 

--a.html

--controller

는 어떻게 메일 본문으로 a.html을로드 할 수 있습니다?

+0

http://stackoverflow.com/questions/12538368/email-templates-as-scala-templates-in-play – cy3er

답변

0

이 예제를 보라 :

import java.util.Properties; 
import javax.mail.Authenticator; 
import javax.mail.BodyPart; 
import javax.mail.Message; 
import javax.mail.MessagingException; 
import javax.mail.Multipart; 
import javax.mail.PasswordAuthentication; 
import javax.mail.Session; 
import javax.mail.Transport; 
import javax.mail.internet.AddressException; 
import javax.mail.internet.InternetAddress; 
import javax.mail.internet.MimeMessage; 
import javax.mail.internet.MimeMultipart; 
import javax.mail.internet.AddressException; 
import javax.mail.internet.MimeBodyPart; 

... 

// set up smtp 
Properties props = System.getProperties(); 
props.put("mail.transport.protocol", "smtp"); 
// if needed 
props.put("mail.smtp.auth", "true"); 
props.put("mail.smtp.ssl.enable", SMTP_SSL_ENABLE); 
props.put("mail.smtp.host", SMTP_SERVER); 
props.put("mail.smtp.port", SMTP_PORT); 
props.put("mail.user", SMTP_USER); 
props.put("mail.password", SMTP_PASSWD); 

Authenticator = new Authenticator() { 
    public PasswordAuthentication getPasswordAuthentication() { 
     return new PasswordAuthentication(SMTP_USER, SMTP_PASSWD); 
    } 
}; 

// create message 
Session session = Session.getDefaultInstance(props, authenticator); 
Message message = new MimeMessage(session); 
message.setFrom(new InternetAddress(SMTP_SENDER)); 
message.addRecipient(Message.RecipientType.TO, new InternetAddress(email)); 
message.setSubject("emails title"); 
BodyPart messageBodyPart = new MimeBodyPart(); 
messageBodyPart.setContent(yourTemplate.render().body(), "text/html; charset=iso-8859-1"); 
Multipart multipart = new MimeMultipart(); 
multipart.addBodyPart(messageBodyPart); 
message.setContent(multipart); 
message.saveChanges(); 

// send message 
Transport.send(message); 

당신은 당신의 HTML 문서로 플레이 뷰 템플릿 본문 부분를 교체해야합니다 :

messageBodyPart.setContent(yourTemplate.render().body(), "text/html; charset=iso-8859-1"); 

는 희망이 도움이!

0
/Controller/Mails.java method: sendmail() 
public static void sendmail(){ 
    send(body) 
} 
/Views/Mails/sendmail.html [template] 
관련 문제