此文章只是基础代码,需要自己深层次的封装,适用于初次开发工作者
private static String defaultSenderName = "";// 默认的发件人用户名,defaultEntity用得到
private static String defaultSenderPass = "";// 默认的发件人密码,defaultEntity用得到
private static String defaultSmtpHost = "";// 默认的邮件服务器地址,defaultEntity用得到
private static String smtpHost; // 邮件服务器地址
private static String sendUserName; // 发件人的用户名
private static String sendUserPass; // 发件人密码
private static MimeMessage mimeMsg; // 邮件对象
private static Session session;
private static Properties props;
private static Multipart mp;// 附件添加的组件
private static List<FileDataSource> files = new LinkedList<FileDataSource>();// 存放附件文件
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
private void init() {
if (props == null) {
props = System.getProperties();
}
session = Session.getDefaultInstance(props, null);
props.setProperty("mail.smtp.host", smtpHost);
props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
props.setProperty("mail.smtp.socketFactory.fallback", "false");
//邮箱发送服务器端口,这里设置为465端口
props.setProperty("mail.smtp.port", "465");
props.setProperty("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.auth", "true");
// 置true可以在控制台(console)上看到发送邮件的过程
session.setDebug(true);
// 用session对象来创建并初始化邮件对象
mimeMsg = new MimeMessage(session);
// 生成附件组件的实例
mp = new MimeMultipart();
}
public static String sendEmail(String emailTo) { //收件人,多个收件人以半角逗号分隔
String userName = "qt961220@163.com"; // 发件人邮箱
String password = ""; // 发件人密码,注意,这里是授权码,不是登录密码,不会的可以看我的博客,有说到
String smtpHost = "smtp.163.com"; // 邮件服务器
String subject = "xxxx激活码"; // 主题
String activationCode = activationCode();
String body = "您正在注册xxxx<br>这是您的激活码,3小时内有效<br><b>"+activationCode+"</b>"; // 正文,html格式
EmailUtil email = EmailUtil.entity(smtpHost, userName, password, emailTo, subject, body);
try{
email.send(); // 发送!
}catch(Exception e){
}
return activationCode;
}