一、到相关邮箱服务器开通smtp等功能
二、代码编写
import java.util.Date
import java.util.Properties
import javax.mail.BodyPart
import javax.mail.Message
import javax.mail.MessagingException
import javax.mail.Multipart
import javax.mail.Session
import javax.mail.Transport
import javax.mail.internet.InternetAddress
import javax.mail.internet.MimeBodyPart
import javax.mail.internet.MimeMessage
import javax.mail.internet.MimeMultipart
import com.jfinal.kit.Prop
import com.jfinal.kit.PropKit
public class EmailKit {
public static boolean send(String toEmail, String title, String content) {
boolean flag = true
try {
Prop emailProp = PropKit.use("email.properties")
String fromEmail = emailProp.get("fromEmail")
Properties props = new Properties()
props.put("mail.smtp.host", emailProp.get("smtpHost"))
props.put("mail.smtp.auth", "true")
//ssl 验证 部分非企业邮箱
props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory")
props.setProperty("mail.smtp.port", "465")
props.setProperty("mail.smtp.socketFactory.port", "465")
Session s = Session.getInstance(props)
s.setDebug(true)
MimeMessage message = new MimeMessage(s)
// 给消息对象设置发件人/收件人/主题/发信时间
InternetAddress from = new InternetAddress(fromEmail)
message.setFrom(from)
InternetAddress to = new InternetAddress(toEmail)
message.setRecipient(Message.RecipientType.TO, to)
message.setSubject(title)
message.setSentDate(new Date())
// 给消息对象设置内容
BodyPart mdp = new MimeBodyPart()
mdp.setContent(content, "text/html;charset=gb2312")
Multipart mm = new MimeMultipart()
mm.addBodyPart(mdp)
message.setContent(mm)
message.saveChanges()
Transport transport = s.getTransport("smtp")
transport.connect(emailProp.get("smtpHost"), fromEmail, emailProp.get("fromPassword"))
transport.sendMessage(message, message.getAllRecipients())
transport.close()
} catch (MessagingException e) {
e.printStackTrace()
flag = false
}
return flag
}
}