转载:http://www.cnblogs.com/ustbwuyi/archive/2007/05/28/762581.html

 //取数据库中邮件信息中的最大发送时间,即最近接收到的一封邮件的时间
Database dbase=new Database();
DataTable data=dbase.GetDataTable("select max(MailSendDate) as MailSenderDate from TabMailList where MailTypeFlag='1'"); //对服务器上的邮件的发送时间和数据库最近一封邮件的时间进行比较,如果大那么证明该邮件还未被收取,是一封新邮件,这样避免重复收取邮件入库
if(Msg.Date>Convert.ToDateTime(data.Rows[][].ToString())) {
//将这封新邮件的信息保存到数据库
this.SaveExtMail(Msg,Username,dataReader["Email"].ToString(),jpop.GetMessageUID(i));

POP3,IMAP,SMTP的认识。

http://blog.csdn.net/robin844/article/details/8200367

http://edm.ishang.net/faq/detail/the-imap-protocol.html

http://help.163.com/09/1223/14/5R7P6CJ600753VB8.html

默认SMTP是开启的,且不能关闭。

什么是IMAP服务?

IMAP全称是Internet Mail Access Protocol(交互式邮件存取协议),与目前广泛使用的POP3相似,都是一种邮件获取协议。

IMAP最吸引人的功能之一是“同步”,即对邮箱的任何操作,在网页、客户端、手持设备上都是多向同步的。例如,一封在电脑上用闪电邮客户端已打开的信,在iPhone4上不会显示为新邮件;一封从iPhone4上发出的邮件,也会出现在iPad和闪电邮的已发邮件里。

http://mail.163.com/html/110127_imap/index.htm#tab=ipad

验证邮件的唯一性,可以考虑使用,发件人+收件人+发件时间 进行MD5值进行判断,从而进行邮件的重复性校验。

关于.NET邮件的收发问题总结的更多相关文章

  1. 使用telnet模拟邮件的收发

    smtp协议是一个简单的邮件传输协议,利用它我们可以将邮件发送给别人,这里将通过telnet这个程序利用smtp协议从网易向gmail发送一封邮件 基本步骤如下: 1.使用telnet连接smtp服务 ...

  2. Windows Server 2003搭建邮件服务器

    Windows Server 2003搭建邮件服务器 由于Windows Server 2003默认是没有安装我们搭建邮件服务器所需要的POP3和SMTP服务的,因此需要我们自己来安装.方法如下: 1 ...

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

    最近在用outlook同步邮件.对邮件协议有一点兴趣.于是就去收集了一些资料,学习了一下如何通过.net来实现邮件的收发.    一:SMTP协议  1.什么是SMTP协议:       SMTP目前 ...

  4. C#中邮件的发送基本操作

    本地配置的邮箱:http://localhost:6080/index.php //邮件的收发需要用到两个类   //1.用来创建一封邮件对象     //1.MailMessage 添加对 usin ...

  5. 分享一些免费的,开源的邮件server软件

    因为企业的须要,我们非常可能须要架设一个邮件server,微软的Exchange太复杂?GOOGLE出来的又收费!头大了吧,OK,贾芸斐在这里给大家分享推荐几个免费的开源的邮件server软件.希望你 ...

  6. 分享几个免费的开源邮件server软件

    因为企业的须要,我们非常可能须要架设一个邮件server,微软的Exchange太复杂?GOOGLE出来的又收费!头大了吧,OK,贾芸斐在这里给大家分享推荐几个免费的开源的邮件server软件.希望你 ...

  7. SpringBoot日记——任务处理 之 异步、定时、邮件

    ---恢复内容开始--- 直接步入正题. 异步任务 异步任务比较简单,只需要两个注解就可以搞定,我们直接来看如何使用: 1.创建一个service,带上@EnableAsync,就是开启异步任务的注解 ...

  8. 企业网管用linux搭建邮件服务器为公司降本增效

    在企业中,节约一分钱比挣一分钱容易得多,这是指导企业降本增效的名言之一啊,作为一名企业里的IT人员我是深有感触,尤其是IT方面,除了在互联网公司是生产力的排头兵,在制造业单位里那一般都是后勤保障部门, ...

  9. RDIFramework.NET敏捷开发框架Web新增邮件中心实现便捷式的邮件收发

    1.引言 邮件收发在很多业务系统中都有这样的需求,是比较正式和常用的功能.在我们的框架中提供了邮件中心功能模块,集内部邮件的收发.邮件归类.邮件星标的标记.邮件的删除与彻底删除等,邮件中心功能模块界面 ...

随机推荐

  1. 通过反射执行get、set方法

    Class clazz = sourceObj.getClass(); 1.获取所有属性 BeanInfo beanInfo = Introspector.getBeanInfo(clazz); Pr ...

  2. 关于iOS APP中网络层的设计

    在iOS开发中,请求网络数据,处理获得的数据是很常见的功能,但是很少有资料会讨论关于网络的处理应该放在MVC中得哪个层中. 我在网上Google了一番,记下了几个觉得比较不错的链接.现记录如下: ht ...

  3. Shell教程4-Shell替换

    如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. 举个例子: 复制纯文本新窗口   #!/bin/bash a=10 echo -e & ...

  4. Go 语言做的几个验证码

    1.http://www.oschina.net/code/snippet_173630_12006 : 效果: 源代码: 1: package main 2:  3: import ( 4: cra ...

  5. 【转】Linux mount/unmount命令

    转自:http://www.cnblogs.com/xd502djj/p/3809375.html 格式:mount [-参数] [设备名称] [挂载点] 其中常用的参数有:-a 安装在/etc/fs ...

  6. python内建函数sorted方法概述

    python中,具体到对list进行排序的方法有俩,一个是list自带的sort方法,这个是直接对list进行操作,只有list才包含的方法:另外一个是内建函数sorted方法,可以对所有可迭代的对象 ...

  7. Android调用系统自带的文件管理器进行文件选择并读取

    先调用: intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("*/*"); //设置类型,我这里是任意类 ...

  8. onAttachedToWindow()在整个Activity生命周期的位置及使用

    onAttachedToWindow在整个Activity的生命周期中占据什么位置? 为什么要在onAttachedToWindow中修改窗口尺寸? 一.onAttachedToWindow在Acti ...

  9. Spark相比Hadoop MapReduce的特点

    (1)中间结果输出     基于MapReduce的计算引擎通常会将中间结果输出到磁盘上,进行存储和容错. 出于任务管道承接的考虑,当一些查询翻译到MapReduce任务时,往往会产生多个Stage, ...

  10. Swift 可选值(Optional Values)介绍

    Optional的定义 Optional也是Objective-C没有的数据类型,是苹果引入到Swift语言中的全新类型,它的特点就和它的名字一样:可以有值,也可以没有值,当它没有值时,就是nil.此 ...