怎么解决javax.mail中,smtp的认证问题

maybekolo 2003-08-19 09:09:00
怎么解决javax.mail中,smtp的认证问题,就是发送邮件的时候,如何进行验证

javax.mail中有个authenticator类,如何使用,他介绍说要创建子类,但是创机子类後如何返回到javax.mail.session类中进行初始化呢??


网高手作答
...全文
392 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cshchina 2003-08-20
  • 打赏
  • 举报
回复
晕死
被同学耽误了几分钟,就发晚了
cshchina 2003-08-20
  • 打赏
  • 举报
回复
class Authenticator1 extends Authenticator{
public PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication("user","password");
}
}
....
Session smtpSession = Session.getInstance(props,new Authenticator1());
具体的情况自己可以改Authenticator1类
maybekolo 2003-08-20
  • 打赏
  • 举报
回复
好了,我已经解决了
public static void mysendMail(String host,String from,String to ,String subject ,String context)
throws RemoteException
{
java.util.Properties property=new java.util.Properties ();
property.put("mail.smtp.host",host);
property.put("mail.smtp.auth","true");
try
{
Authenticator auth = new SmtpAuth("zhouhaojie","lovewindy");
javax.mail.Session session = javax.mail.Session.getDefaultInstance(property,auth ) ;
// javax.mail.internet.InternetAddress fromadress = new javax.mail.internet.InternetAddress (from);
InternetAddress fromadress = new InternetAddress(from);
javax.mail.internet.InternetAddress toadress= new javax.mail.internet.InternetAddress (to);
javax.mail.internet.MimeMessage mymessage = new javax.mail.internet.MimeMessage (session);
mymessage.setFrom(fromadress);
mymessage.setRecipient(Message.RecipientType.TO ,toadress);
// mymessage.setRecipient(Message.RecipientType.CC,new InternetAddress("zhouhaojie@vip.sina.com"));
mymessage.setSentDate(new java.util.Date());
mymessage.addHeader("zhj","test") ;
mymessage.setSubject(subject) ;
mymessage.setText(context) ;
Transport tt=session.getTransport("smtp");
// tt.connect(host,"zhouhaojie","lovewindy") ;
tt.send(mymessage) ;
// javax.mail.Transport.send(mymessage) ;

}
catch (MessagingException e)
{
throw new RemoteException("error"+e.getMessage() );
}catch (Exception e)
{
throw new RemoteException("err"+e.getMessage() );
}

}


其中的SmtpAuth继承之javax.mail.Authenticator
static class SmtpAuth extends javax.mail.Authenticator {
private String user;
private String password;
public SmtpAuth(String newuser,String userpassword)
{
user=newuser;
password=userpassword;
}
protected PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication (user,password);
}

}
maybekolo 2003-08-20
  • 打赏
  • 举报
回复
我已经找了很多资料。。但是还是
java.lang.SecurityException: Access to default session denied


。ft....
l7980 2003-08-19
  • 打赏
  • 举报
回复
关注
fpwang 2003-08-19
  • 打赏
  • 举报
回复
学习

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧