最近写的一个基于POP3协议 获取邮件的类

QT 使用 SMTP 发送邮件 // POP3 收取邮件 目录 一、邮件服务器和电子邮箱 二、邮件传输协议 1、SMTP协议 2、POP3协议 三、电子邮件的发送和接收过程 四、SMTP 协议详解 1、SMTP 发信方法 2、SMTP 发信流程 3、代码 五、POP3 协议详解 POP3 收信流程 六、全球各大邮箱 的 服务器信息 一、邮件服务器和电子邮箱   要在Internet上提供电子邮件功能,必须有专门的电子邮件服务器。例如现在Internet很多提供邮件服务的厂商:sina、sohu、163等等他们都有自己的邮件服务器。. 阅读详情

<?php
/*
说明: 获取邮件内容
方法: Pop3 () 构造函数    $getMail = new Pop3("pop.qq.com","5847999","*****",110); $getMail -> getEmails(); $getMail -> getEmail(10);
      login() 登陆方法
      logoff() 退出方法
      _strip_clf() 处理文本方法 一个私有的 为了测试 没有定义成私有
      getEmailHeaders() 获取邮件头
      getEmail($num) 获取用户输入邮件条数内容
      getEmails() 调用这个以后获取所有文件   返回一个数组 打印数组查看内容 然后操作数组
     
   foreachr($getMail -> $massages as $msg)
   {
       $msg -> to;
     ...
     ...
     ...
     ...
   }
开发:andy
*/
class Pop3 {
var $_server;   //服务器地址
var $_userName; //用户名称
var $_passWord; //用户密码
var $_port;      //端口
var $_connection; //全局 连接
var $messages;    //消息数组
var $mailCount;   //邮件总数

function Pop3($server, $userName, $passWord, $port = 110) { //初始化构造函数
   $this->_server   = $server;
   $this->_userName = $userName;
   $this->_passWord = $passWord;
   $this->_port   = $port;
   $this->messages   = array();
}

function login() {   // 登陆服务器方法
   if (!empty($this->_server)) {
      $this->_connection = @fsockopen($this->_server, $this->_port); //打开邮件服务器
    $connectionResponse = @fgets($this->_connection,512);    
    if ($this->_connection) {     //如果链接成功
       @fputs($this->_connection, "USER " . $this->_userName."/r/n"); //发送用户名
     $userResponse = @fgets($this->_connection,512);                 //发送密码
     @fputs($this->_connection, "PASS ".$this->_passWord."/r/n");
     $passResponse = @fgets($this->_connection,512);
     if(strstr($passResponse, "+OK")) {   //返回信息中包含 +OK 说明登陆服务器成功
                    $this->getEmailHeaders(); //获取所有头部 调用方法
      $this->mailCount = count($this->messages); // 获取EMIAL的总数
        return true;
     }
    }
   }
     return false;
}

function logoff() { // 退出方法
   @fwrite($this->_connection, "QUIT/r/n");
   $reply = fgets($this->_connection, 512);
   $reply = $this->_strip_clf($reply);
    
   @fclose($this->_connection);
   unset($this->_connection);
}

function _strip_clf ($text = "")
{
   // 返回字符串的 /r /n的替换
   if(empty($text)) { return $text; }
   $stripped = ereg_replace("/r","",$text);
   $stripped = ereg_replace("/n","",$stripped);
   return $stripped;
}

function getEmailHeaders() {     //获取所有头部的方法          
    @fputs($this->_connection,"STAT/r/n");      //发送状态命令
    $statResponse = split(" ",@fgets($this->_connection,512));
     if($statResponse[0] != "+OK")
    return false;   //"391";
   for($i = 0; $i < ($statResponse[1]); $i++)
   {
         $actualNumber = $i+1;
    @fputs($this->_connection, "LIST $actualNumber/r/n");
    $listResponse = @fgets($this->_connection,512);
            $header = "";
    fputs($this->_connection,"TOP $actualNumber 0/r/n");
    while( ($rs = fgets($this->_connection,512) ) != "./r/n")
     $header .= $rs;   // 把邮件内容装到变量中
     $this->messages[$i] = new Pop3Message($header); // 每个邮件都封装成一个对象
   }
}

function getEmail($num)
{ // 获取EMAIL的调用方法
   $message = Array();
    $actualNumber = $num+1;
     @fputs($this->_connection,"RETR $actualNumber/r/n"); //发送内容命令到服务器
   $retrResponse = @fgets($this->_connection,512);      
   if (strstr($retrResponse,"+OK"))
   {
    while(($rs = @fgets($this->_connection,512))!="/r/n") {}
    while(($rs = @fgets($this->_connection,512))!="./r/n") $message[] = trim($rs);
      //$this->deleteEmail($actualNumber);
   }
   else
   {
    //错误信息
   }
    $this->messages[$num]->_parseEmail(null,$message);
}

function getEmails()   //获取全部EMAIL
{
   for ($i = 0; $i < $this->mailCount; $i++)
   {
    $this->getEmail($i);
   }
}

function deleteEmail($num) { // 删除指定的EMAIL ID 的方法
   @fputs($this->_connection,"DELE $num/r/n");
      $del = split(" ", @fgets($this->_connection,512));
}
}

?>

需要其他三个类的 朋友 留下邮箱~~~

C#接收邮件 最近由于工作需要,接触到了邮件服务器.以前我用CF写过,感觉没有什么,我想用C#来实现会更简单,但是万万没想到C#没有提供邮件接收的方法,令我很不解.通过我在网上查找,发现了一个国外公司写好的接收邮件软件,通过我把他的DLL破解之后就不用注册了,要不可是需要花钱买序列号的啊好贵的啊!不过我希望各位如果有能力还是去买正版的为好!我破解他的确是没有办法的办法拉!请各位能够理解^_^ 下面是接收邮件的... 阅读详情

相关推荐

c 通过IMAP协议获取未读邮件数量

c 通过IMAP协议获取未读邮件数量

hffyyff的博客 1910

建立在POP3协议下的Java Email

建立在POP3协议下的Java Email

weixin_48349878的博客 1150

POP3读取email,保存附件到本地

读取email信息,并将email的附件保存到本地指定路径,本程序主要获取邮件的附件用来解析。

POP3协议详解

POP3是一种用于从邮件服务器获取电子邮件的协议。它允许邮件客户端连接到邮件服务器,检索服务器上存储的邮件,并将邮件下载到客户端设备上。

成长之路 5718

Python爬虫实战:用Selenium+ChromeDriver批量抓取政府网站政策文件(附完整代码)

本文详细介绍了使用Python的Selenium和ChromeDriver进行政府网站政策文件批量抓取的实战技巧。从环境配置、动态页面元素定位到分页机制破解和反爬虫策略,提供了完整的解决方案和代码示例,帮助开发者高效获取结构化政策数据。

weixin_42531710的博客 266

IoTDB时序数据库在Windows下的保姆级安装教程(含环境变量配置避坑指南)

本文提供Apache IoTDB时序数据库在Windows系统下的详细安装与配置指南。教程涵盖从Java环境检查、软件下载解压,到环境变量配置的深度避坑,并详解了服务的启动、停止、连接测试及基础数据操作,帮助物联网开发者在Windows平台快速搭建稳定的时序数据库环境。

weixin_29275257的博客 264

java邮件客户端_java实现POP3邮件客户端

34 }3536 /*构造函数*/37 public POP3Client(String server,int port) throwsUnknownHostException, IOException{38 try{3940 socket=new Socket(server,port);//在新建socket的时候就已经与服务器建立了连接4...

weixin_39963053的博客 308

完整的申请邓白氏编码的流程(手把手教你申请邓白氏编码)

申请公司的苹果开发者账号和企业级的苹果开发者账号时,都会用到邓白氏编码,也就是我们申请苹果开发者账号时需要填写的D-U-N-S Number。     申请这个邓白氏编码是免费的,但是从像华夏邓白氏公司提交申请到可以申请苹果开发者账号来用这个9位的D-U-N-S Number,需要一段时间,我申请得到D-U-N-S Number,用了8个工作日(不算周末哦)

wxw2011014003的博客 9万+

POP3协议分析

POP3协议分析第1章.     POP3概述POP3全称为Post Office Protocol version3,即邮局协议第3版。它被用户代理用来邮件服务器取得邮件。POP3采用的也是C/S通信模型,对应的RFC文档为RFC1939。该协议非常简单,所以我们只重点介绍其通信过程,而相关的一些概念和术语请参考RFC文档或另外一篇文章《SMTP协议分析》第2章.     POP3详

彭令鹏(bripengandre)的专栏 3万+

Lm317电压源芯片制作电流源

还在找电流源芯片么?如何使用电压源芯片快速搭建电流源。

Ekko的博客 1万+

VisionMaster SDK C#二次开发核心技术指南

以下是基于**VisionMaster SDK C#二次开发核心技术指南**,结合实战案例与关键代码解析,帮助开发者快速掌握工业视觉应用集成。

东城十三 3061

java mail解析邮件并获取最近时间的指定邮件

参考我的上一篇文章     https://blog.youkuaiyun.com/byteArr/article/details/85625416 获取最新时间的指定邮件名称的邮件:         如邮箱会每天定时接收一封名称为 "业务测试" 的邮件, 但只需要获取距今最近的那封邮件 代码如下 package com.mail.utils; import org.springframewor...

laoyog 9132

电动转向系统 TAS 传感器

靠扭杆变形测力气,用霍尔效应算角度,借 ECU 给电机发指令。它就像 EPS 系统的 "神经末梢",把驾驶员的操作意图转化成电信号,再通过电机变成实实在在的助力,让我们开车既省力又安全。下次转动方向盘时,不妨想想这个藏在转向柱里的 "小传感器"—— 正是它的精准感知,才有了每一次顺畅的转向体验。

weixin_59825476的博客 4292

C#基础--基于POP3协议的邮件接收和基于STMP的邮件发送

  最近在用outlook同步邮件。对邮件协议有一点兴趣。于是就去收集了一些资料,学习了一下如何通过.net来实现邮件的收发。    一:SMTP协议     1.什么是SMTP协议: SMTP目前已是事实上的在Internet传输E-Mail的标准,是一个相对简单的基于文本的协议。在其之上指定了一条消息的一个或多个接收者(在大多数情况下被确定是存在的),...

angwanli1764的博客 1416

【点云概述】什么是点云、来源、种类、特点、处理?

【点云概述】什么是点云、来源、种类、特点、处理?点云(point cloud)是空间中点的数据集,可以表示三维形状或对象,通常由三维扫描仪获取。点云中每个点的位置都由一组笛卡尔坐标 ( X , Y , Z ) (X, Y, Z) (X,Y,Z)描述,有些可能含有色彩信息 ( R , G , B ) (R, G, B) (R,G,B)或物体反射面强度(Intensity)信。

智慧空间实验室 9820

基于STM32设计自动输液监测系统(241)

该系统集成了液位传感模块、光电传感器、电机模块、按键模块和OLED显示屏等多个功能模块,以实现全面的输液过程监控和控制。液位传感模块能够实时监测输液瓶中的液位,当液位到达限定值时,系统会自动控制步进电机夹紧输液管,并发出报警提醒,确保输液过程不会因液位过低而中断。

1343

smtp协议与pop3协议

最近一直想不通,SMTP协议和POP3协议各自的作用,在网上找了一个自以为最直观的。     SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail...

菜鸟入行 6179

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

python pop3_PYTHON学习:使用POP3协议下载邮件

以前使用电脑端访问邮箱时,知道有POP3、SMTP协议,随首技术的发展,最近又有了很多种选择,尤其是手机端,看到了每多种连接方式,比如IMAP、EXCHANGE方式,邮件还带同步的,比如电脑端改变了邮件,手机端也同步了,因此想写几篇文章学习一下这些协议和新的技术,此次看的是POP3协议。POP3是Post Office Protocol – Version 3的简写,中文意思是简单邮局协议(版本3...

weixin_39989443的博客 678

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

使用python编程实现pop3协议和IMAP协议收取邮件

这里写自定义目录标题使用python编程实现pop3协议和IMAP协议收取邮件邮箱服务器设置问题利用imaplib二次开发poplib参考代码 使用python编程实现pop3协议和IMAP协议收取邮件 最近在用python的poplib和imaplib库收取邮件,查到了一些有用的资料,记录如下 邮箱服务器设置问题 出于安全考虑,yahoo和163邮箱默认不开通pop3和imap服务器,在用这两个...

zfs2008zfs的博客 1138

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

电子邮件收发原理和实现(POP3, SMTP) [整理]

&lt;!-- 最近工作上接触到了邮箱的开发,整理一下学到的东西,以备忘 --&gt;   电子邮件的收发流程示意图:   相对于邮件客户端的流程就是:  邮件接收——POP3协议 POP3(Post Office Protocol 3,邮局协议版本3)主要用于支持使用客户端远程管理在服务器上的电子邮件。该协议是在RFC-1939中定义的,是Internet上的大多...

2435

java 收 特定日期邮件_java mail解析邮件并获取最近时间的指定邮件

参考我的上一篇文章 https://blog.youkuaiyun.com/byteArr/article/details/85625416获取最新时间的指定邮件名称的邮件:如邮箱会每天定时接收一封名称为 "业务测试" 的邮件, 但只需要获取距今最近的那封邮件代码如下package com.mail.utils;import org.springframework.beans.factory.anno...

weixin_39968946的博客 887

php pop3,PHP使用POP3读取邮箱接收邮件

1 < php2 $array_values['host'] = "host";3 $array_values['port'] = 110;4 $array_values['user'] = '用户名';5 $array_values['password'] = '密码';6 $array_values['checkmail'] = 'xxx@xxx.xxx';78 ganji_get_te...

weixin_32411919的博客 1126

javamail pop3模式收取邮件

pop3协议收取邮件inbox.getMessages()是一次性读取所有邮件,如果邮箱邮件过多的话,会非常耗时。 还有一个方法是Folder.getMessages(int start, int end),这里的start和end是闭区间。 在redis中存储已收邮件的uid,收件时先给收件邮箱加锁,然后取出已收的uid,倒序取出邮件。 代码如下: List<String&...

H_lver的博客 1535

java smtp pop3_Java基于smtp与pop3实现收发邮件的功能

前言最近用java实现了收发邮件的功能,网上虽然已经有很多资料,但实际开发过程中还是遇到了一些问题。查阅了不少资料才最终完成,在此分享一下,希望帮助更多的人少走弯路。背景javaMailJavaMail是java提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。我们可以基于JavaMail开发出类似于Microsoft Outl...

weixin_39652760的博客 1715

电子邮件和它的小伙伴SMTP协议与POP3协议

写在前面 最近在研究邮件的发送和接受原理,想看看能不能不通过邮件服务器的转发截取到别人发出去的邮件,目前的结论是不能的^^!! 不过也对邮件的发送和接受了解的更深刻了,如果邮件出问题了应该能很快找出来问题哈哈,在这里记录一下。 收发邮件基本流程 SMTP协议 1.电子邮件传输协议,建立在FTP文件传输协议上的一种邮件服务。 2.TCP/IP协议族中的一员,控制邮件中转方式,帮助计算...

panpan_fighting的博客 968
上一篇: PHP基于SMTP发送邮件的的简单例程
下一篇: PHP备份MYSQL数据库的一个完整方案
StartTime
博客等级 码龄20年 159粉丝 38原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值