Throlle.
, , gmail api
:
, java, , html . , , , github :
:
def sendHTMLEmail() {
String emailBox='me@gmail.com'
String to ='someuser@domain.com'
String html="<html><body><table><tr><td><b>aa</b></td><td>bb</td></tr></table><h1>html content</h1></body></html>"
MimeMessage content = gmailService.createHTMLEmail(to,emailBox,'gmail test','testing gmail via app',html)
def message = gmailService.sendMessage(gmail,'me',content)
render "=== ${message.id}"
}
:
public static MimeMessage createHTMLEmail(String to, String from, String subject, String text, String html) {
Properties props = new Properties()
Session session = Session.getDefaultInstance(props, null)
MimeMessage email = new MimeMessage(session)
Multipart multiPart = new MimeMultipart("alternative")
email.setFrom(new InternetAddress(from))
email.addRecipient(javax.mail.Message.RecipientType.TO, new InternetAddress(to))
email.setSubject(subject)
MimeBodyPart textPart = new MimeBodyPart()
textPart.setText(text, "utf-8")
MimeBodyPart htmlPart = new MimeBodyPart()
htmlPart.setContent(html, "text/html; charset=utf-8")
multiPart.addBodyPart(textPart)
multiPart.addBodyPart(htmlPart)
email.setContent(multiPart)
return email
}
sendMessage ( github):
public static Message sendMessage(Gmail service,String userId,MimeMessage emailContent) throws MessagingException, IOException {
try {
Message message = createMessageWithEmail(emailContent)
message = service.users().messages().send(userId, message).execute()
return message
} catch (Exception e) {
}
}
createMessageWithEmail
public static Message createMessageWithEmail(MimeMessage emailContent) throws MessagingException, IOException {
ByteArrayOutputStream buffer = new ByteArrayOutputStream()
emailContent.writeTo(buffer)
byte[] bytes = buffer.toByteArray()
String encodedEmail = Base64.encodeBase64URLSafeString(bytes)
Message message = new Message()
message.setRaw(encodedEmail)
return message
}