1.先将activation.jar和mail.jar两个jar包copy到%java_home%//jdk1.6.0/jre/lib/ext下
2。代码如下:package JMailTest;
/**
*
* @author Gavin Johnson
* @Time 12/20/2006 17:35
*
*/
import javax.mail.*;
//import javax.activation.*;
import javax.mail.internet.*;
import java.util.Properties;
class EmailAuthenticator extends Authenticator {
private String m_username=null;
private String m_userpass=null;
void setUserName(String username){
m_username=username;
}
void setUserPass(String userpass){
m_userpass=userpass;
}
EmailAuthenticator (String username,String userpass)
{
super();
setUserName(username);
setUserPass(userpass);
}
public PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication(m_username,m_userpass);
}
}
public class newSendemail
{
public static void main(String args[])
{
String host="smtp.163.com";
String from="from@163.com";
String to="to@126.com";
String username="yourname";
String password="yourpassword";
EmailAuthenticator mailAuthenticator =new EmailAuthenticator(username,password);
try{
Properties props=System.getProperties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");
Session session=Session.getInstance(props,(Authenticator)mailAuthenticator);
MimeMessage message=new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("你好JavaMail");
message.setText("宝宝收到邮件了吗?这个小程序真是有意思啊!!呵呵呵呵");
message.saveChanges();
Transport transport=session.getTransport("smtp");
transport.connect(host, username, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
System.out.println("消息已经发送成功!");
}catch(Exception e){
e.printStackTrace();
}
}
}
注意:1。修改下面五个变量的值。
String host="smtp.163.com";
String from="from@163.com";
String to="to@126.com";
String username="yourname";
String password="yourpassword";
2。这个小程序可以实现不同邮件服务器之间发送邮件(我刚刚测试过的!!)
3。最简单的测试方法就是把from和to都添为你自己的邮箱地址
希望我的这第一篇在csdn上发表的文章能帮助正在苦苦摸索的兄弟们!!!!