免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3078 | 回复: 5
打印 上一主题 下一主题

新手询问用perl收邮件问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-04-28 17:31 |只看该作者 |倒序浏览
今天刚看了下Net:OP3模块,本来想试下读邮件内容,因为公司内网都是用outlook,是exchange服务器,试了下貌似直接用exchange邮件服务器地址是不行的。
对邮件协议和邮件服务器完全不了解,有个问题希望大神用帮忙解释一下。
百度百科看了下:
POP3(Post Office Protocol 3)即邮局协议的第3个版本,它是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件的协议。
Microsoft Exchange Server 2007是Microsoft Exchange Server的下一版本,它是业界领先的电子邮件、日历和统一信息服务器。

问题:
    使用exchange服务器地址,不能创建$pop3conn = Net:OP3->new('mail.example.com') ,是说明exchange邮件服务器不符合pop3协议么?  也就是说exchange邮件服务器和pop3邮件服务器完全是两个不同的东西? 还是说exchange 服务器可以配置不同的邮件协议?   
     编程基础较差,问的比较混乱,希望有人知道我在问什么。

  上CPAN看了下,有几个exchange收邮件的模块,后续再测试下。

论坛徽章:
0
2 [报告]
发表于 2013-04-28 22:48 |只看该作者
回复 1# xfilesliuli


    exchange不是POP3协议哦,是MS自己的叫activesync

Exchange ActiveSync是一种微软 Exchange 同步协议,该协议可以访问服务器的邮件、日程、联系人,并且在脱机工作时仍可以继续访问这些信息。

论坛徽章:
3
技术图书徽章
日期:2013-12-14 13:31:0615-16赛季CBA联赛之八一
日期:2016-03-10 18:23:4615-16赛季CBA联赛之青岛
日期:2016-03-19 11:36:04
3 [报告]
发表于 2013-04-28 23:18 |只看该作者
Perl还能收邮件啊

论坛徽章:
0
4 [报告]
发表于 2013-04-29 07:53 |只看该作者
小perl 发表于 2013-04-28 23:18
Perl还能收邮件啊

是的。

给楼主一个简单的例子:
  1. use AnyEvent;
  2. use AnyEvent::SMTP qw/smtp_server/;


  3. my $cv = AnyEvent->condvar;

  4. smtp_server undef, 25, sub {
  5.     my $mail = shift;
  6.     warn "Received mail from $mail->{from} to $mail->{to}\n$mail->{data}\n";
  7.     $cv->send;
  8. };

  9. $cv->recv;
复制代码

论坛徽章:
0
5 [报告]
发表于 2013-04-29 17:38 |只看该作者
谢谢仙子!

回复 2# 兰花仙子


   

论坛徽章:
0
6 [报告]
发表于 2013-05-01 11:03 |只看该作者
SMTP不是主要用来发邮件的么?

试了下Net:OP3,有个问题咨询下。
试了qq邮箱和163邮箱,对login返回的message数量一直搞不懂。
先通过QQ邮箱和163把邮件全部标记为已读,试下面的例子为什么会返回出XX封邮件啊?

是qq邮箱客户端等标记后pop3服务器上邮件状态不变么?还是说这个message返回有其他的规则?

麻烦哪位帮忙解答下,谢谢!

  1. my $host="pop.163.com";
  2. my $pop3conn=Net::POP3->new($host);

  3. print "The pop3 Server is : " . $pop3conn->host() . "\n";
  4. print "The banner is : " . $pop3conn->banner() . "\n";

  5. my $username="xxxxx\@163\.com";
  6. my $password="xxxxx";
  7. my $nummsgs = $pop3conn->login($username,$password);
  8. if ($nummsgs > 0) {
  9.         print "You've Got Mail!\n";
  10.         print "$nummsgs\n";

  11. #       foreach my $msg (keys %{$messages}) {
  12. #               print "Message $msg is $messages->{$msg} bytes\n";
  13. #       }

  14.         for (my $i=1;$i<=$nummsgs;$i++) {
  15. #               my $message = $pop3conn->get($i);
  16.                 my $message = $pop3conn->top($i);
  17.                 print "Message $i: ";
  18.                 print grep (/^Date:/, @{$message});

  19. #               print "@{$message}";
  20.                 print "retrieved message $i\n";
  21.         }
复制代码
执行结果:
The pop3 Server is : pop.163.com
The banner is : Welcome to coremail Mail Pop3 Server (163coms[8db726ec93e9d4e3e9a2fd3d31b05251s])

You've Got Mail!
18
Message 1: Date: Mon, 19 Nov 2012 23:38:39 +0800
retrieved message 1
Message 2: Date: Mon, 3 Dec 2012 04:06:27 +0800
retrieved message 2
Message 3: Date: Tue, 25 Dec 2012 22:08:57 +0800
retrieved message 3
Message 4: Date: Wed, 23 Jan 2013 02:27:16 +0800
retrieved message 4
Message 5: Date: 30 Jan 2013 03:13:22 +0800
retrieved message 5
Message 6: Date: Fri, 15 Feb 2013 04:23:16 +0800
retrieved message 6
Message 7: Date: Fri, 01 Mar 2013 11:14:21 +0800
retrieved message 7
Message 8: Date: Sun, 10 Mar 2013 23:51:06 +0800
retrieved message 8
Message 9: Date: Fri, 29 Mar 2013 15:02:00 +0800
retrieved message 9
Message 10: Date: Mon, 01 Apr 2013 18:34:45 +0800 (CST)
retrieved message 10
Message 11: Date: Mon, 15 Apr 2013 05:18:43 +0800 (CST)
retrieved message 11
Message 12: Date: Wed, 17 Apr 2013 09:28:32 +0800 (CST)
retrieved message 12
Message 13: Date: Fri, 19 Apr 2013 12:13:10 +0800 (CST)
retrieved message 13
Message 14: Date: Tue, 23 Apr 2013 07:04:10 -0500
retrieved message 14
Message 15: Date: Wed, 24 Apr 2013 17:24:17 +0800
retrieved message 15
Message 16: Date: Sun, 28 Apr 2013 11:03:45 +0800
retrieved message 16
Message 17: Date: Sun, 28 Apr 2013 18:48:07 +0800 (CST)
retrieved message 17
Message 18: Date: Tue, 30 Apr 2013 08:50:38 +0800 (CST)
retrieved message 18

回复 4# anyevent


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP