Chinaunix

标题: 【问题已解决】如何Net::IMAP::Client 登录QQ邮箱??? [打印本页]

作者: minirain    时间: 2015-07-27 16:49
标题: 【问题已解决】如何Net::IMAP::Client 登录QQ邮箱???
本帖最后由 minirain 于 2016-01-03 13:37 编辑

如何Net::IMAP::Client 登录QQ邮箱呢?
有没有成功的大大们,请指教,谢谢!
  1. #!/usr/bin/bin/perl
  2. use Net::IMAP::Client;
  3. use MIME::Base64;
  4. use MIME::QuotedPrint;
  5. #use Data::Dumper;
  6. use Encode;



  7. my $imap = Net::IMAP::Client->new(

  8.                  server => 'mail.qq.com',
  9.                  user   => $user,
  10.                  pass   => $pass,
  11.                  ssl    => 1,
  12.                  port   => 995  #143        
  13.                  ) or die "Could not connect to IMAP server";

  14.          $imap->login or die('Login failed: ' . $imap->last_error);
复制代码

作者: sjdy521    时间: 2015-07-27 18:30
你qq邮箱服务器开通IMAP了没?
作者: minirain    时间: 2015-07-27 18:57
本帖最后由 minirain 于 2015-07-27 18:57 编辑

回复 2# sjdy521
开通了,但是一但开通IMAP,就需要设置邮箱独立密码,QQ邮箱进入输入一次密码,进入收件箱时,又要输入另一独立密码(两密码还不能设置成一样!!!)。
不知道在Net::IMAP::Client 如何设置两道密码!!!
请进入过大大们,给点意见。
谢谢!


   
作者: 兰花仙子    时间: 2015-07-28 09:36
minirain 发表于 2015-07-27 18:57
回复 2# sjdy521
开通了,但是一但开通IMAP,就需要设置邮箱独立密码,QQ邮箱进入输入一次密码,进入收件 ...


QQ的东西一贯是有技术无标准。
作者: 兰花仙子    时间: 2015-07-28 09:37
不过它的IMAP不需要输入二次密码的,就是客户端用独立密码。
作者: minirain    时间: 2015-07-28 09:54
回复 5# 兰花仙子

仙子妹妹,你好!用独立密码还是不成功!
QQ邮箱服务器是:mail.qq.com?
端口号:993 ?或者995?
请指教,谢谢!

   
作者: 兰花仙子    时间: 2015-07-28 09:56
minirain 发表于 2015-07-28 09:54
回复 5# 兰花仙子

仙子妹妹,你好!用独立密码还是不成功!


SSL是993,非SSL是143,你要搞清楚是SSL还是非SSL,这2个端口调用的IMAP登陆方法也不同。
作者: minirain    时间: 2015-07-28 11:30
本帖最后由 minirain 于 2016-01-03 13:26 编辑

回复 7# 兰花仙子
请问仙子妹妹,SSL是993时,应该如何登录呢?其中非SSL143端口,我用我公司邮箱可以进入,用SSL993时用下面方法:
  1. my $imap = Net::IMAP::Client->new(

  2.                  server => 'mail.qq.com',
  3.                  user   => $user,
  4.                  pass   => $pass,
  5.                  port   => 993  #143
  6.                  ssl    => 1,                              # (use SSL? default no)
  7.                  ssl_verify_peer => 1,                     # (use ca to verify server, default yes)
  8.                  ssl_ca_file => '/etc/ssl/certs/certa.pm', # (CA file used for verify server) or
  9.                  # ssl_ca_path => '/etc/ssl/certs/',         # (CA path used for SSL)
  10.                                             # (but defaults are sane)
  11.       
  12.                  ) or die "Could not connect to IMAP server";
复制代码
还是进入不了QQ邮箱,请问我该怎么解决?谢谢!


   
作者: sjdy521    时间: 2015-07-28 17:12
debug信息啊?光说一句不成功 可能的原因上千种,让人如何帮忙。。只能瞎猜
作者: minirain    时间: 2016-01-03 13:37
本帖最后由 minirain 于 2016-01-03 13:57 编辑

问题已解决!
1、Server为:server => 'imap.qq.com';
2、$user = 'QQ号码';
3、$pass = 'QQ授权码';
4、登录成功后,CMD下显示:
"* OK [CAPABILITY IMAP4 IMAP4rev1 IDLE XAPPLEPUSHSERVICE ID UIDPLUS AUTH=LOGIN NAMESPACE] QQMail IMAP4Server ready"。
其中这个密码即不是QQ登录密码,也不是独立密码!授权码是QQ邮箱推出的,用于登录第三方客户端的专用密码。是开通IMAP或者POP3时服务器自动生成16个字符串-授权码登录!!!
详见地址:http\:\/\/service.mail.qq.com\/cgi-bin\/help?subtype=1&&id=28&&no=1001256

minirain 发表于 2015-07-28 11:30
回复 7# 兰花仙子
请问仙子妹妹,SSL是993时,应该如何登录呢?其中非SSL143端口,我用我公司邮箱可以进入 ...





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2