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;
/**
*
* @author Administrator
* 1.导入mail.jar
* 2.需要一个会话对象Session
* 3.需要一个信息Message
* 4.需要InternetAddress用于使用RFC822的语法表示网络邮件地址
* 5.需要Transport来连接邮箱,发送信息
*/
public class JavaEmail_1 {
public static void main(String[] agrs) throws MessagingException{
//获取系统有关的属性
Properties props=System.getProperties();
/* 通过系统属性,创建一个会话
* getDefaultInstance() 返回一个默认的会话对象,接入不存在则生成一个新的会话对象,并且设置为默认
* getInstance() 得到一个新的会话对象
*/
Session session=Session.getInstance(props);
/* 通过邮件会话类新建一个消息对象
* MimeMessage(Session s)
* 默认的构造函数方法,提供了一个,提供了一个空的消息对象
* */
MimeMessage message = new MimeMessage(session);
/*设置发件人
*InternetAddress:用RFC822的语法表示网络邮件地址 典型的形式有:user@host.com
*/
InternetAddress from = new InternetAddress("hepuchenxiaohang@126.com");
//为Message设置发件人
message.setFrom(from);
// 收件人
InternetAddress to1 = new InternetAddress("guangdongst@126.com");
//设置收件人
message.setRecipient(Message.RecipientType.TO, to1);
// 邮件标题
message.setSubject("测试");
String content = "测试内容";
// 邮件内容,也可以使纯文本"text/plain"
message.setContent(content, "text/html;charset=utf-8");
/*通过session获得一个传输类
* getTransport("协议")
*/
Transport transport = session.getTransport("smtp");
/* Service
* subClass:Transport
* connect()->
* 连接一个特定的地址,这个方法提供了一个需要username、password 单一的验证模式(authentication)
* close()->
* 关闭服务和中止连接
*/
transport.connect("smtp.126.com", "hepuchenxiaohang@126.com", "199142735");
// 发送
transport.sendMessage(message, message.getAllRecipients());
transport.close();
}
}