public class MyMail {//项目运行需要添加 mail.jar,在CSDN 上就有
/**
* 发送邮件
* smtp.163.com
* 参数:服务器名称(通过此服务器来发送邮件)、发件人邮箱、发件箱密码、收件人邮箱、邮件主题、邮件内容
*/
public void sendMail(String host, String from,String password, String to, String subject, String content) throws Exception{
Properties props = new Properties();
props.put("mail.smtp.host",host);//163的为 smtp.163.com,yeah的为 smtp.yeah.net
props.put("mail.smtp.auth", "true");//验证发件人是否合法用户,必须为true
Session session = Session.getDefaultInstance(props);//创建Session
MimeMessage msg = new MimeMessage(session); //创建邮件信息
msg.setFrom(new InternetAddress(from)); //发件人地址,from 后面还可以再添加一个 String 类型的参数,其作用:邮件的发件人不再是地址而是你设定的字符
msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));//收件人地址
msg.setSubject(subject);//设置主题
msg.setText(content);//设置文本内容
//连接到邮件服务器,并发送邮件
Transport tran = session.getTransport("smtp");
tran.connect(from,password);
tran.sendMessage(msg, msg.getAllRecipients());
tran.close();//关闭连接
}
/**
* 接收邮件
* pop3.163.com
* 参数:服务器名称、收件人邮箱、密码
*/
public void receive(String host,String name,String password)throws Exception{
Properties props = new Properties();
props.put("mail.pop3.host",host);
Session session =Session.getInstance(props,null);//null 代表不需要验证
Provider pro =session.getProvider("pop3");
Store store = session.getStore(pro);//这两行代码很重要
//建立连接
store.connect(name,password);
// 打开收件箱
Folder inbox = store.getDefaultFolder().getFolder("INBOX");
inbox.open(Folder.READ_ONLY);//以只读方式打开
// 得到邮箱中的e-mail总数
int count = inbox.getMessageCount();
// 将e-mail放在发件箱中,列表显示出来
for (int i = 1; i <= count; i++) {
Message message = inbox.getMessage(i);
System.out.println("邮件主题:" + message.getSubject());
System.out.println("邮件作者:" + message.getFrom()[0].toString());
System.out.println("邮件内容:" + message.getContent());
System.out.println("发送日期:" + message.getSentDate());
System.out.println();
}
// 关闭收件箱和到邮件服务器的连接
inbox.close(true);
store.close();
}
public static void main(String[] args) throws Exception{
MyMail mm=new MyMail();
mm.sendMail("smtp.163.com", "你的163邮箱", "你的登录密码","目标邮箱", "安静的甜蜜", "自由自在享受幸福");
//mm.receive("pop3.163.com", "你的163邮箱", "你的登录密码");
}
}