用JAVA来发送邮件吧

邮件发送

使用Java应用程序发送 E-mail 十分简单,但是你首先得下载javaMail API

  • JavaMail mail.jar 1.4.5

下载这个jar包加入到项目中去,本例中是以163邮箱发送邮件的。然后直接上代码:

package com.org.test;

import java.util.Properties;

import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;

public class MailUtils {
//邮件服务器
private static String smtp_host = "smtp.163.com";
//用户名
private static String username = "xxxx@163.com";
//授权码
private static String password = "xxxx";
//发件人信箱
private static String from = "xxxx@163.com";

public static void sendMail(String subject, String content, String to) {

Properties props = new Properties();
props.setProperty("mail.smtp.host", smtp_host); //邮件服务器
props.setProperty("mail.transport.protocol", "smtp"); //协议
props.setProperty("mail.smtp.auth", "true"); //身份验证

Session session = Session.getInstance(props); //获取session对象

Message message = new MimeMessage(session);
try {
message.setFrom(new InternetAddress(from)); Set From: 发件人地址

// Set To: 加载收件人地址
message.setRecipient(RecipientType.TO, new InternetAddress(to));

// Set Subject: 加载标题
message.setSubject(subject);

// 发送的内容,可以插入html标签
message.setContent("<h2>"+subject+"</h2><br><p>"+content+"</p>", "text/html;charset=utf-8");

Transport transport = session.getTransport(); //连接邮件服务器
transport.connect(smtp_host, username, password); //发送邮件
transport.sendMessage(message, message.getAllRecipients());
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("邮件发送失败...");
}
}

// 测试
public static void main(String[] args) {
sendMail("测试邮件", "这是一封测试邮件", "1419908068@qq.com");
}
}

注意授权码是一个独立的密码,不是你登录的密码。

收到的邮件:


授权码开启

每个邮箱的授权码需要单独开启,并且还需要开启POP3/SMTP/IMAP服务,各个邮箱开启步骤如下:

网易163邮箱

登录后点击设置 --> POP3/SMTP/IMAP

Java邮件发送(使用javaMail包)_java

分别勾选图中箭头所指选项:

Java邮件发送(使用javaMail包)_发送邮件_02

点击右侧菜单中的客户端授权密码,然后再点击开启,安装提示信息发送完短信就可以设置授权码了:

Java邮件发送(使用javaMail包)_邮件服务器_03

Java邮件发送(使用javaMail包)_发送邮件_04

QQ邮箱

登录邮箱后点击设置–>账户,往下翻找到这个地方:

Java邮件发送(使用javaMail包)_邮件服务器_05

像图中这样把​​POP3/SMTP服务,IMAP/SMTP服务​​开启,然后生成授权码就好了

Java邮件发送(使用javaMail包)_java_06