package test; import java.util.Calendar; import java.util.Properties; import javax.mail.Address; import javax.mail.Authenticator; import javax.mail.Message.RecipientType; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class sendEmail { @SuppressWarnings("static-access") public static void sendMessage(String smtpHost, String from, String fromUserPassword, String to, String subject, String messageText, String messageType) throws MessagingException { // 第一步:配置javax.mail.Session对象 System.out.println("为" + smtpHost + "配置mail session对象"); Properties props = new Properties(); props.put("mail.smtp.host", smtpHost); props.put("mail.smtp.starttls.enable","true");//使用 STARTTLS安全连接 //props.put("mail.smtp.port", "25"); //google使用465或587端口 props.put("mail.smtp.auth", "true"); // 使用验证 //props.put("mail.debug", "true"); Session mailSession = Session.getInstance(props,new MyAuthenticator(from,fromUserPassword)); // 第二步:编写消息 System.out.println("编写消息from——to:" + from + "——" + to); InternetAddress fromAddress = new InternetAddress(from); InternetAddress toAddress = new InternetAddress(to); MimeMessage message = new MimeMessage(mailSession); message.setFrom(fromAddress); message.addRecipient(RecipientType.TO, toAddress); message.setSentDate(Calendar.getInstance().getTime()); message.setSubject(subject); message.setContent(messageText, messageType); // 第三步:发送消息 Transport transport = mailSession.getTransport("smtp"); transport.connect(smtpHost,"17751780179@163.com","zjkdjra1750"); transport.send(message,new Address[]{new InternetAddress("851071347@qq.com")}); System.out.println("message yes"); } public static void main(String[] args) { try { sendEmail.sendMessage("smtp.163.com", "17751780179@163.com", "zjkdjra1750", "851071347@qq.com", "根据你最近关注的内容推荐给你相关竞赛", "第二届LOL高校邀请赛点击查看", "text/html;charset=utf-8"); } catch (MessagingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } class MyAuthenticator extends Authenticator{ String userName=""; String password=""; public MyAuthenticator(){ } public MyAuthenticator(String userName,String password){ this.userName=userName; this.password=password; } protected PasswordAuthentication getPasswordAuthentication(){ return new PasswordAuthentication(userName, password); } }