msg.saveChanges();
//编程实现通过SMTP发信认证---SMTP认证就是输入你在SMTP服务器上的用户名称和密码
Transport transport = mailSession.getTransport("smtp");
transport.connect(mailserver,Username,Password);
transport.sendMessage(msg, msg.getAllRecipients());
transport.close();
public void converse(String sender,String recipients,String subject,String body) /*throw SMTPException*/{
if(!expect_reply("220")) die(/*EX_PROTOCOL*/4,"did not get SMTP greeting");
send_cmd("HELO","madass@163.net");
if(!expect_reply("250")) die(/*EX_PROTOCOL*/4,"did not get ack our HELO");
send_cmd("RSET");
if(!expect_reply("250")) die (/*EX_PROTOCOL*/4,"not reset");
send_cmd("AUTH LOGIN");
if(!expect_reply("334")) die (/*EX_PROTOCOL*/4,"not reset");
send_cmd(enc.encode(user.getBytes()));
if(!expect_reply("334")) die (/*EX_PROTOCOL*/4,"not reset");
send_cmd(enc.encode(psw.getBytes()));
if(!expect_reply("334")) die (/*EX_PROTOCOL*/4,"not reset");
send_cmd("MAIL","From:<"+sender+">");
if(!expect_reply("250")) die (/*EX_PROTOCOL*/4,"did not ack our MAIL command");