利用JavaMail发送邮件:smtp.163.com
2018-12-13 08:55:39来源:博客园 阅读 ()
一、利用JavaMail发送邮件案例:
1、maven项目结构:
2、先在pom.xml里边加入Javamail依赖,系统会根据坐标自动下载mail包(前提是配置好了maven):
3、配置email.properties属性文件,主要是为了不更改代码的前提下,该改变发送邮件的一些基本信息:
4、实现发送邮件的主体类SendMailUtils,代码下:
package top.hzelin.util; import java.io.IOException; import java.io.InputStream; 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; public class SendMailUtils { private static String from = ""; private static String user = ""; private static String password = ""; /* * 读取属性文件的内容,并为上面上个属性赋初始值 */ static { Properties prop = new Properties(); InputStream is = SendMailUtils.class.getClassLoader().getResourceAsStream("email.properties"); try { prop.load(is); from = prop.getProperty("from"); user=prop.getProperty("username"); password=prop.getProperty("password"); } catch (IOException e) { e.printStackTrace(); } } public static void sendMail(String to,String text,String title) { Properties props = new Properties(); props.setProperty("mail.smtp.host", "smtp.163.com");//设置邮件服务器主机名 props.put("mail.smtp.host", "smtp.163.com"); props.put("mail.smtp.auth", "true");//发送服务器需要身份验证 Session session = Session.getDefaultInstance(props);//设置环境信息 session.setDebug(true); MimeMessage message = new MimeMessage(session); Multipart multipart = null; BodyPart contentPart = null; Transport transport = null; try { message.setFrom(from);//设置发件人 message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); message.setSubject(title); multipart = new MimeMultipart();//设置附件 contentPart = new MimeBodyPart(); contentPart.setContent(text, "text/html;charset=utf-8"); multipart.addBodyPart(contentPart); message.setContent(multipart); message.saveChanges(); transport = session.getTransport("smtp"); transport.connect("smtp.163.com", user, password); transport.sendMessage(message, message.getAllRecipients()); } catch (MessagingException e) { e.printStackTrace(); }finally { try { transport.close(); } catch (MessagingException e) { e.printStackTrace(); } } } }
5、测试发送邮件功能是否可用SendEmailTest:
注意:email.properties配置文件中的密码应该是客户端授权码,不是登录密码,设置位置如下:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 利用反射给对象按顺序赋值 2020-05-28
- 如何利用Spring Boot 整合微信小程序实现登录与增删改查(含 2020-05-20
- SpringBoot系列(十四)集成邮件发送服务及邮件发送的几种方 2020-05-09
- springboot整合redis之发送手机验证码注册登录 2020-04-22
- springboot 项目使用阿里云短信服务发送手机验证码 2020-04-19
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash