zzeng

zzeng

用javamail进行认证发信

当今mail服务器大多都是通过认证才能发信的,现在的网上介绍javamail发信的文章都没有深入到有关认证的方面,除非自己装一个open  relay的mail服务器,但是这样有很危险,本人根据自己工作中用的javamail的方法说一下自己的用法,不对的地方请大家多指教.
  首先设置属性Properties props = new Properties();
props.put("mail.smtp.host",host);
props.put("mail.smtp.auth","true");注意的是此处必须加上true要不然stmp连接的时候不会认证
  用Authenticator写认证类下面是本人的认证类
package org.xxx;
import javax.mail.*;
import javax.mail.internet.*;
public class PopupAuthenticator extends Authenticator{
String username=null;
String password=null;
public PopupAuthenticator(){}
public PasswordAuthentication performCheck(String user,String pass){
username = user;
password = pass;
return getPasswordAuthentication();
}
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}

}
认证类写完后,在发信的程序中加上
PasswordAuthentication pop = popAuthenticator.performCheck(username,password);
Session mysession=Session.getInstance(props,popAuthenticator);
mailsession加的popAuthenticator
其他的方法和javamail发信的用法相似,在此不累述。


http://www.cn-java.com/target/news.php?news_id=1511

posted on 2005-09-29 10:14 zzeng 阅读(285) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: