我现在需要一个功能,用java写一个程序,该程序可以连接到常用的邮件服务器,比如163,qq,hotmail,gmail等等,然后在服务器上提供我的emailname和password,然后我想通过该email帐户从服务器上得到该email的联系人列表信息,我想问问要实现该功能,我该用什么技术,或者javamail,或者spring的mail中有没有相应的接口类可以处理该问题的,谢谢!

解决方案 »

  1.   

    能不能具体点,比如javamail中哪个接口或者类什么的
      

  2.   


    import java.util.Properties;
    import javax.mail.*;
    import javax.mail.internet.*;
    public class send {
     public static void main (String args[]) throws Exception {
    Properties props=new Properties();//也可用Properties props = System.getProperties();
    props.put("mail.smtp.host","smtp.qq.com");//存储发送邮件服务器的信息
    props.put("mail.smtp.auth","true");//同时通过验证Session s=Session.getInstance(props,null);//根据属性新建一个邮件会话,null参数是一种Authenticator(验证程序) 对象
    s.setDebug(true);//设置调试标志,要查看经过邮件服务器邮件命令,可以用该方法Message message=new MimeMessage(s);//由邮件会话新建一个消息对象Address from=new InternetAddress("[email protected]");//发件人的邮件地址
    message.setFrom(from);//设置发件人Address to=new InternetAddress("[email protected]");//收件人的邮件地址
    message.setRecipient(Message.RecipientType.TO,to);//设置收件人,并设置其接收类型为TO,还有3种预定义类型如下:
    message.setSubject("tittlesss");//设置主题
    message.setText("sdfdsaf;asdkfjaoiewjk lsdf");//设置信件内容
    //message.setSentDate("ddd");//设置发信时间
    message.saveChanges();//存储邮件信息Transport transport=s.getTransport("smtp");
    transport.connect("smtp.qq.com","[email protected]","xxxxxxx");//以smtp方式登录邮箱
    transport.sendMessage(message,message.getAllRecipients());//发送邮件,其中第二个参数是所有已设好的收件人地址
    transport.close(); }
    }贴个例子给你自己研究吧