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()); } } }
发送邮件类实现接口2
原创Leejay_Engineer 博主文章分类:java发送邮件 ©著作权
©著作权归作者所有:来自51CTO博客作者Leejay_Engineer的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Java邮件发送服务模块设计
Java邮件发送服务模块设计
java 开发语言 后端 spring 邮件发送 -
ThingsBoard系统层配置邮件发送
系统层的邮件只用于用户的创建和密码使用,无其他功能。生成对应的是授权码,就是等会上面要使用到的密码邮箱。邮件来⾃:邮箱的发起者。
ThingsBoard 服务器 发送邮件 邮件发送