完整版见 https://jadyer.github.io/ package com.jadyer.util; import java.util.Date; import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; /** * 邮件发送程序V1.0 * @see ----------------------------------------------------------------------------- * @see 本程序的运行环境为JDK6.0,所依赖的JAR包为:mail.jar * @see ----------------------------------------------------------------------------- * @see JavaMail的使用需要两个类库的支持,一个是JavaMail API,另外一个是JAF框架 * @see JAF框架不需要下载,它已经包含在JDK6.0中了 * @see JavaMail API可以通过网址http://java.sun.com/products/javamail/index.html下载 * @see 下载解压后得到一个mail.jar,把这个JAR添加到项目Build Path下就可以使用JavaMail API了 * @see ----------------------------------------------------------------------------- * @see 这里讲解了如何使用JavaMail API,实现发送电子邮件的功能 * @see 这个程序的运行,需要在本机安装邮件服务器软件,如IMail、Postfix等 * @see 不能使用新浪、163等免费的邮件服务器所提供的SMTP发送功能 * @see 因为使用这些服务器发送邮件,需要进行用户的验证,只有合法的用户才能成功发送邮件 * @see ----------------------------------------------------------------------------- * */ public class SendMail { public static void main(String[] args) { try { //生成Properties类型的对象props,保存发送服务器地址和所使用的发送协议 Properties props = new Properties(); //这个session是JavaMail中的Session对象 Session session = Session.getInstance(props, null); //在属性中设置发送邮件服务器的地址与协议 props.put("mail.host", "127.0.0.1"); props.put("mail.transport.protocol", "smtp"); //生成MineMessage类型的对象message //Message是抽象类,而MimeMessage是Message的子类。所以通过实例化子类的方式创建对象 Message message = new MimeMessage(session); //设置邮件的发送人、收件人、抄送人、主题、发送时间和正文 message.setFrom(new InternetAddress("jadyer@yeah.net")); //设置收件人。Message.RecipientType.CC是设置抄送者,TO是收件人,BCC是密送 message.setRecipient(Message.RecipientType.TO, new InternetAddress("jadyer@yeah.net")); message.setRecipient(Message.RecipientType.CC, new InternetAddress("517751422@qq.com")); //邮件主题 message.setSubject("问候"); //发送时间 message.setSentDate(new Date()); //邮件正文 message.setText("这是一个测试!/n哈哈,你好!/n呵呵!"); //调用Transport类的send()方法发送邮件 Transport.send(message); } catch (MessagingException m) { m.printStackTrace(); } } }