package sentmail; import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import java.io.PrintWriter; import java.io.StringWriter; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Properties; public class SendMail implements Mail{ private Logger logger = new Logger(); String from; String pass; String rcpt; String server; String port; String subject; public SendMail(String from, String pass, String rcpt, String server, String port, String subject){ this.from = from; this.pass = pass; this.rcpt = rcpt; this.server = server; this.port = port; this.subject = subject; } @Override public void sentmail() { // 创建配置文件 Properties properties = new Properties(); properties.setProperty("mail.smtp.host", server); properties.setProperty("mail.smtp.port", port); properties.setProperty("mail.transport.protocol", "smtp"); properties.put("mail.smtp.auth", "true"); // 创建session对象 Session session = Session.getDefaultInstance(properties, new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(from, pass); } }); // 开启debug模式 session.setDebug(true); try { // 获取连接对象 Transport transport = session.getTransport(); // 连接服务器 transport.connect(server, from, pass); // 创建邮件对象 MimeMessage message = new MimeMessage(session); // 邮件发信人 message.setFrom(new InternetAddress(from)); // 邮件收信人 message.addRecipient(Message.RecipientType.TO, new InternetAddress(rcpt)); // 主题 message.setSubject(subject); // 内容 message.setContent(subject, "text/html;charset=UTF-8"); // 设置发送的日期 // message.setSentDate(new Date()); message.setSentDate(new Date()); // 发送邮件 transport.sendMessage(message, message.getAllRecipients()); // 关闭连接 transport.close(); logger.info("Sent message successfully..."); }catch (MessagingException me){ me.printStackTrace(); StringWriter trace = new StringWriter(); me.printStackTrace(new PrintWriter(trace)); logger.error(trace.toString()); }catch (Exception e){ // e.printStackTrace(); logger.error("发送邮件失败"); StringWriter trace = new StringWriter(); e.printStackTrace(new PrintWriter(trace)); logger.error(trace.toString()); } } }
发送邮件类实现接口
猜你喜欢
转载自blog.51cto.com/11732619/2677252
今日推荐
周排行