1,Java发送邮件是是借助 mail.jar 这个jar包
2,创建一个普通的Java工程即可实现功能。
具体实现如下(代码是网上找的。自己修改亲自测试成功)
public static String sendEmail(String host,String from,
String user,String pwd,
String to,String content){
String subject = "主题xxxxxxxxx";
String result = "";
Properties props = new Properties();
// 设置发送邮件的邮件服务器的属性(这里使用网易的smtp服务器)
props.put("mail.smtp.host", host);
// 需要经过授权,也就是有户名和密码的校验,这样才能通过验证(一定要有这一条)
props.put("mail.smtp.auth", "true");
// 用刚刚设置好的props对象构建一个session
Session session = Session.getDefaultInstance(props);
// 有了这句便可以在发送邮件的过程中在console处显示过程信息,供调试使
// 用(你可以在控制台(console)上看到发送邮件的过程)
session.setDebug(true);
// 用session为参数定义消息对象
MimeMessage message = new MimeMessage(session);
try {
message.setFrom(new InternetAddress(from));
// 加载收件人地址
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
// 加载标题
message.setSubject(subject);
Multipart multipart = new MimeMultipart();
// 设置邮件的文本内容
BodyPart contentPart = new MimeBodyPart();
contentPart.setText(content);
multipart.addBodyPart(contentPart);
// 将multipart对象放到message中
message.setContent(multipart);
// 保存邮件
message.saveChanges();
// 发送邮件
Transport transport = session.getTransport("smtp");
transport.connect(host, user, pwd);
// 把邮件发送出去
transport.sendMessage(message, message.getAllRecipients());
transport.close();
} catch (Exception e) {
result ="邮件发送失败 "+e;
}
result = "邮件发送成功!";
return result;
}
测试代码:
public static void main(String[] args) {
String host = "smtp.163.cn";//服务器
//from 和user 是相同的
String from = "XXXX@163.com";//发送人邮箱地址
String user = "XXXX@163.com";//发送人账号
String pwd = "XXXX";//发送人密码
String to = "";//收件人张户
String content = "sb";//发送的内容
sendEmail(host, from, user, pwd, to, content);
}
测试结果:
逐步积累,滴水石穿!!!