java mail
一、电子邮件协议
电子邮件的在网络中传输和网页一样需要遵从特定的协议,常用的电子邮件协议包括 SMTP,POP3,IMAP。其中邮件的创建和发送只需要用到 SMTP协议,所有本文也只会涉及到SMTP协议。SMTP 是 Simple Mail Transfer Protocol 的简称,
即简单邮件传输协议。
二、java Mail
我们平时通过 Java 代码打开一个 http 网页链接时,通常可以使用已经对 http 协议封装好的 HttpURLConnection 类来快速地实现。Java 官方也提供了对电子邮件协议封装的 Java 类库,就是JavaMail,但并没有包含到标准的 JDK 中,
需要我们自己去 Java 或 Oracle 官网下载。
三、实现发送简单邮件
①添加依赖
<dependencies> <!-- https://mvnrepository.com/artifact/javax.mail/mail --> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4</version> </dependency> </dependencies>
②代码实现
public static void sendMail() throws Exception{ Properties props = new Properties(); props.setProperty("mail.host", "smtp.126.com"); props.setProperty("mail.smtp.auth", "true"); Authenticator authenticator = new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { // TODO Auto-generated method stub return new PasswordAuthentication("发送者邮箱用户名", "邮箱密码"); } }; Session session = Session.getDefaultInstance(props,authenticator); MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress("发送者邮箱地址")); /** * RecipientType.TO 接收者 * RecipientType.CC 抄送 * RecipientType.BCC 暗送(密送) */ message.setRecipient(RecipientType.BCC, new InternetAddress("接收者邮箱地址")); message.setSubject("java 测试邮件"); message.setContent("测试邮件","text/html;charset=UTF-8" ); Transport.send(message); }