发邮件给gmail,javamail发送邮件

  发邮件给gmail,javamail发送邮件

  最近在写邮件接收谷歌邮箱邮件的开发工具插件,发现一个问题。

  下面是连接邮件账户与接收邮件的代码片断:

  /**

  *连接到邮箱帐户.

  * @ paramuserNameusername用户名用户名

  * @ paramuserPassworduserpassword用户密码用户密码

  *@throwsException

  */

  privatesticvoidconnect(string username,StringuserPassword)

  抛出异常{

  安全。添加提供程序(新的com。星期日网。SSL。内部。SSL。provider());

  finalStringSSL _ FACTORY= javax。网。SSL。sslsocketfactory ;

  properties props=system。获取属性();

  道具。设置属性( mail。pop 3。插座厂。class 、SSL _ FACTORY);

  道具。设置属性( mail。pop 3。插座厂。回退, false );

  道具。设置属性( mail。pop 3。端口, 995 );

  道具。设置属性( mail。pop 3。插座厂。端口, 995 );

  道具。设置属性( mail。IMAP。插座厂。class 、SSL _ FACTORY);

  道具。设置属性( mail。IMAP。插座厂。回退, false );

  道具。设置属性( mail。IMAP。端口, 993 );

  道具。设置属性( mail。IMAP。插座厂。端口, 993 );

  会话会话=会话。getdefaultinstance(props,null);

  会话。设置调试(真);//setdebug

  //URLNameurln=新的urlname( pop3s , pop.gmail.com ,995,null,

  //用户名,用户密码);

  URLNameurln=newURLName(imap , imap.gmail.com ,993,null,用户名,

  用户密码);

  商店=会话。getstore(urln);

  商店。connect();

  }

  /**

  *Retieveallnewmessages .

  * @ paramuserNameusername用户名用户名

  * @ paramuserPassworduserpassword用户密码用户密码

  *@returnallnewmessages

  *@throwsException

  */

  public message[]获取新邮件(string username,StringuserPassword)

  抛出异常{

  如果(!store.isConnected()){

  连接(用户名,用户密码);

  }

  folderinbox=store。获取文件夹(“收件箱”);

  inbox.open(文件夹。只读);

  FetchProfileprofile=newFetchProfile();

  profile.add(FetchProfile .项目。信封);

  如果(收件箱。getunreadmessagecount()0){

  intfetchCount=inbox。getmessagecount()-收件箱。getunreadmessagecount();

  if(fetchCount==0){

  返回收件箱。获取消息();

  }

  消息[]消息=收件箱。获取消息(1,2);

  返回消息;

  }否则{

  系统。出去。println(没有新邮件!);

  thrownewRuntimeException(没有新邮件!);

  }

  }

  使用POP3/POP3s连接后统计出来的邮件数目都是不对的。而使用因特网邮件访问协议统计的就正确了。很郁闷。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: