用javamail进行认证发信

王朝java/jsp·作者佚名  2008-05-30
窄屏简体版  字體: |||超大  

当今mail服务器大多都是通过认证才能发信的,现在的网上介绍javamail发信的文章都没有深入到有关认证的方面,除非自己装一个openrelay的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发信的用法相似,在此不累述。 ,

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航