Perl的Mail::POP3Client模块和Gmail通信实例

一、前言

最近在写一个从gmail批量下载附件的程序,用到了 Mail::POP3Client 和 MIME::Parser 2 个模块

二、相关文档

CPAN:
Mail::POP3Client模块
MIME::Parser模块
StrawberryPerl模块的安装、卸载与查看

三、实现

use Mail::POP3Client;
use MIME::Parser;

my $U = 'User.Name@gmail.com';
my $P = 'uSeR.pAsSwORd';
my $X = new MIME::Parser;
$X -> output_dir('C:\\download');  #directory to save attachment

my $G = Mail::POP3Client -> new (
      USER    => $U,
      PASSWORD  => $P,
      HOST    => 'pop.gmail.com',
      PORT    => 995,
      USESSL   => 'true') or die "Can't Connect The Server.\n";

for $i (1 .. $G->Count())
{
  my $C = $G->HeadAndBody($i);
  my $R = $X->parse_data($C);
}
$G->Close();
(0)

相关推荐

  • Perl的Mail::POP3Client模块和Gmail通信实例

    一.前言 最近在写一个从gmail批量下载附件的程序,用到了 Mail::POP3Client 和 MIME::Parser 2 个模块 二.相关文档 CPAN: Mail::POP3Client模块 MIME::Parser模块 StrawberryPerl模块的安装.卸载与查看 三.实现 use Mail::POP3Client; use MIME::Parser; my $U = 'User.Name@gmail.com'; my $P = 'uSeR.pAsSwORd'; my $X =

  • python通过imaplib模块读取gmail里邮件的方法

    本文实例讲述了python通过imaplib模块读取gmail里邮件的方法.分享给大家供大家参考.具体实现方法如下: import imaplib mailserver = imaplib.IMAP4_SSL('imap.gmail.com', 993) username = 'gmailusername' password = 'gmailpassword' mailserver.login(username, password) status, count = mailserver.sele

  • python使用smtplib模块通过gmail实现邮件发送的方法

    本文实例讲述了python使用smtplib模块通过gmail实现邮件发送的方法.分享给大家供大家参考.具体实现方法如下: import smtplib from email.MIMEMultipart import MIMEMultipart from email.MIMEText import MIMEText fromaddr = 'fromaddr@gmail.com' toaddr = 'toaddr@gmail.com' text = 'test email message sent

  • Python基于socket模块实现UDP通信功能示例

    本文实例讲述了Python基于socket模块实现UDP通信功能.分享给大家供大家参考,具体如下: 一 代码 1.接收端 import socket #使用IPV4协议,使用UDP协议传输数据 s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) #绑定端口和端口号,空字符串表示本机任何可用IP地址 s.bind(('', 5000)) while True: data, addr=s.recvfrom(1024) #显示接收到的内容 print(

  • Qt串口通信开发之QSerialPort模块Qt串口通信接收数据不完整的解决方法

    在使用串口接收数据时,当数据量大的时候会出现数据接收不完整的情况. 因为串口数据获取函数readAll()由readyRead()信号触发,但readyRead()信号在串口读到起始标志时立即发送,并不保证一定是当前所发数据的起始部分. 因此串口通信双方在通信前应制定好通信协议,规定好数据的起始和结束标志,串口当读到完整的起始和结束标志之后,才认定读完一条完整的数据. 本例中用串口定时发送当前时间,用"#"表示数据的结尾,定时时间为0毫秒,即能发多快就发多快. 发送 void Widg

  • Angularjs2不同组件间的通信实例代码

    AngualrJs2官方方法是以@Input,@Output来实现组件间的相互传值,而且组件之间必须父子关系,下面给大家提供一个简单的方法,实现组件间的传值,不仅仅是父子组件,跨模块的组件也可以实现传值 /** *1.定义一个服务,作为传递参数的媒介 */ @Injectable() export class PrepService{ //定义一个属性,作为组件之间的传递参数,也可以是一个对象或方法 profileInfo: any; } /** *2.传递参数的组件,我这边简单演示,直接就在构

  • Nodejs-cluster模块知识点总结及实例用法

    面试官有时候会问你,你给我说下nodejs如何开启多进程哇,你脑海里就应该立刻出现cluster模块,如今让我带你去探讨下cluster模块的使用. 基本用法 Node.js默认单进程运行,对于32位系统最高可以使用512MB内存,对于64位最高可以使用1GB内存.对于多核CPU的计算机来说,这样做效率很低,因为只有一个核在运行,其他核都在闲置.cluster模块就是为了解决这个问题而提出的. cluster模块允许设立一个主进程和若干个worker进程,由主进程监控和协调worker进程的运行

  • Node.js 缓冲区(Buffer)模块的方法及实例分析

    二进制流是大量的二进制数据的集合.由于通常情况下二进制流的大小挺大的,因此二进制流一般不会一起运送,而会在运输前切分成小块然后逐一发送. 当数据处理单元暂时不再接收其他数据流时,剩余的数据将会被保留在缓存中,直到数据处理单元准备好接收更多数据为止. Node.js 服务器一般需要在文件系统中进行读写,而文件在存储层面而言其实都是二进制流.除此之外,Node.js 还能与 TCP 流一起使用,让 TCP 流在不可靠的互联网络上提供可靠的端到端字节流保障通信. 发送给接收者的数据流会被缓冲,直到接收

  • 基于node.js的fs核心模块读写文件操作(实例讲解)

    node.js 里fs模块 常用的功能 实现文件的读写 目录的操作 - 同步和异步共存 ,有异步不用同步 - fs.readFile 都不能读取比运行内存大的文件,如果文件偏大也不会使用readFile方法 - 文件大分流读取,stream - 引入fs模块 - let fs=require('fs') 同步读取文件 -fs.readFileSync('路径',utf8); let result=fs.readFileSync('./1.txt','utf8'); 异步读取文件,用参数err捕获

  • QT网络编程UDP下C/S架构广播通信(实例讲解)

    QT有封装好的UDP协议的类,QUdpSocket,里面有我们想要的函数接口.感兴趣的话,可以看看. 先搞服务端吧,写一个子类,继承QDialog类,起名为UdpServer类.头文件要引用我们上边说的QUdpSocket这个类,还有我们想要的布局的类. #ifndef UDPSERVER_H #define UDPSERVER_H #include <QDialog> #include <QLabel> #include <QLineEdit> #include &l

随机推荐