使用.NET从邮件帐户获取附件

时间:2010-06-14 18:44:38

标签: c# .net vb.net email attachment

我希望.NET的免费库能够通过imap4(不是必须)从帐户(例如gMail或其他人)获取附件,并将它们保存在文件夹中。

理想情况下,它允许我获取它们的列表,并仅下载一些给定的(按扩展名,名称和/或大小过滤)并且是免费的。

我已经用EAGetMail的试用版完成了这个,但是为了我试图购买这个库的无限版本的目的不太合适(我不知道)这个功能本身就是时间有限的一个。)

--- [编辑 - Hig口] ---

我正在使用以下代码:

Dim cl As New Pop3Client()
        cl.UserName = "marcelo.f.ramires@gmail.com"
        cl.Password = "mypassword"
        cl.ServerName = "pop.gmail.com"
        cl.AuthenticateMode = Pop3AuthenticateMode.Pop
        cl.Ssl = False
        cl.Authenticate() //takes a while, but passes even if there's a wrong password

        Dim mg As Pop3Message = cl.GetMessage(1) //gives me an exception: Message = "Pop3 connection is closed"

更新:将端口设置为995会给我一个“Response TimeOut”异常

如评论所述,我在尝试连接并获取第一封电子邮件时遇到了一些问题。有什么帮助吗?

1 个答案:

答案 0 :(得分:5)

嗯,我知道你指定了IMAP4,但我认为无论如何我都会提供这个,以防POP3是一个选项,因为它对我有用:

http://csharpmail.codeplex.com/

此库提供对POP3邮件的访问,除了较新的IMAP之外,许多电子邮件服务(包括Gmail)都提供这些邮件。

核心课程为Pop3Client,可提供对{3}},ExecuteList等POP3功能的访问权限。我专门针对您的要求使用此功能 - 扫描并下载附件。

如果你认为这是你可以使用的东西,需要进一步的指导,请告诉我。

更新:针对您更新的问题,我只提出了一些初步建议:

  1. 考虑将ExecuteTop属性设置为995.我知道这是Gmail用于POP3的内容。
  2. Pop3Client.Port方法返回Pop3Client.Authenticate值,表示身份验证是否成功。您可以在调用方法后检查此值,以了解是否可以进一步推进。
  3. 更新2 :我在家中尝试使用以下设置,这对我有用:

    bool

    尝试这些设置,看看它们是否适合您。

    更新3 :还有一件事!您是否确保为您的Gmail帐户启用POP?如果没有,您需要这样做!

    1. 在Gmail收件箱中,点击“设置”(右上角)。
    2. 在“设置”页面中,单击标记为“转发和POP / IMAP”的标签。
    3. 在“POP下载”部分中,选择一个单选按钮以启用POP邮件。
    4. 点击底部的“保存更改”。