标签: openpop

OpenPop.net获取实际的消息文本

我正在使用OpenPop.net尝试解析来自给定收件箱中所有电子邮件的链接.我找到了这个方法来获取所有消息:

    public static List<OpenPop.Mime.Message> FetchAllMessages(string hostname, int port, bool useSsl, string username, string password)
    {
        // The client disconnects from the server when being disposed
        using (Pop3Client client = new Pop3Client())
        {
            // Connect to the server
            client.Connect(hostname, port, useSsl);

            // Authenticate ourselves towards the server
            client.Authenticate(username, password);

            // Get the number of messages in the inbox
            int messageCount = client.GetMessageCount();

            // We want to download all messages
            List<OpenPop.Mime.Message> allMessages = new List<OpenPop.Mime.Message>(messageCount);

            // Messages are numbered in the interval: …
Run Code Online (Sandbox Code Playgroud)

c# asp.net email openpop

11
推荐指数
1
解决办法
2万
查看次数

如何使用OpenPop保存电子邮件附件

我创建了一个Web电子邮件应用程序,如何查看保存附件?

我正在使用OpenPop,第三方dll,我可以发送带附件的电子邮件和阅读没有附件的电子邮件.

这很好用:

Pop3Client pop3Client = (Pop3Client)Session["Pop3Client"]; // Creating newPopClient 
int messageNumber = int.Parse(Request.QueryString["MessageNumber"]);
Message message = pop3Client.GetMessage(messageNumber);
MessagePart messagePart = message.MessagePart.MessageParts[1];
lblFrom.Text = message.Headers.From.Address; // Writeing message. 
lblSubject.Text = message.Headers.Subject;
lblBody.Text=messagePart.BodyEncoding.GetString(messagePart.Body);
Run Code Online (Sandbox Code Playgroud)

第二部分代码显示了附件的内容,但只有在它是文本文件时才有用.我需要能够保存附件.我在这里的代码的底部部分写了我的消息正文,所以如果我收到一个附件,我无法查看我的消息正文.

if (messagePart.IsAttachment == true) { 
    foreach (MessagePart attachment in message.FindAllAttachments()) { 
        if (attachment.FileName.Equals("blabla.pdf")) { // Save the raw bytes to a file
            File.WriteAllBytes(attachment.FileName, attachment.Body); //overwrites MessagePart.Body with attachment 
        } 
    } 
}
Run Code Online (Sandbox Code Playgroud)

c# email attachment save openpop

9
推荐指数
3
解决办法
2万
查看次数

如何在html邮件中区分"真实"邮件附件与pics?

我正在搞乱OpenPop,一个用C#编写的用于POP3邮件获取的库.它似乎工作正常,但我不明白如何在显式附加文件与邮件之间做出区分,以及像HTML内容邮件中的图片之类的东西.这个库将它们全部视为"附件".根据我的需要,我不会将HTML邮件中的图片视为附件.
来自图书馆文档:

MessagePart被认为是附件,如果
- 它不是保留文本而不是MultiPart消息或
- 它有一个Content-Disposition标题,表明它是一个附件

至少在理论上我应该做什么或搜索什么(因为我对邮件协议并不熟悉)?

.net c# pop3 openpop

6
推荐指数
2
解决办法
1874
查看次数

如何知道哪个电子邮件是对C#中另一封电子邮件的回复?

我开发了一个Web应用程序,其中有一个功能可以为特定的销售订单输入注释.

当客户或客户服务主管输入注释时,会向相关方发送电子邮件通知(使用C#中的SmtpClient和MailMessage对象发送电子邮件通知).

using (MailMessage objEmail = new MailMessage())
{
    Guid objGuid = new Guid();
    objGuid = Guid.NewGuid();
    String MessageID = "<" + objGuid.ToString() + ">";
    objEmail.Body = messagebody.ToString();
    objEmail.From = new MailAddress(sFrmadd, sFrmname);
    objEmail.Headers.Add("Message-Id", MessageID);
    objEmail.IsBodyHtml = true;
    objEmail.ReplyTo = new MailAddress("replyto@email.com");                    
    objEmail.Subject = sSubject;                    
    objEmail.To.Add(new MailAddress(sToadd));

    SmtpClient objSmtp = new SmtpClient();
    objSmtp.Credentials = new NetworkCredential("mynetworkcredential", "mypassword");
    objSmtp.DeliveryMethod = SmtpDeliveryMethod.Network;
    objSmtp.EnableSsl = true;
    objSmtp.Host = "myhostname";
    objSmtp.Port = 25;
    objSmtp.Timeout = 3 * 3600;

    objSmtp.Send(objEmail);                    
}
Run Code Online (Sandbox Code Playgroud)

我设置GuidMessage-Id …

c# asp.net email openpop

5
推荐指数
1
解决办法
3758
查看次数

如何使用pop3 c#阅读最新的电子邮件

我想从我的Gmail帐户中读取emial.我正在使用"OpenPop.Pop3"来阅读我的Gmail帐户中的电子邮件,我使用下面的代码: -

using OpenPop.Pop3;    
public DataTable ReadEmailsFromId()
        {
            DataTable table = new DataTable();
            try
            {
                using (Pop3Client client = new Pop3Client())
                {
                    int messageCount = client.GetMessageCount();
                    for (int i = messageCount; i > 0; i--)
                    {
                        table.Rows.Add(client.GetMessage(i).Headers.Subject, client.GetMessage(i).Headers.DateSent);
                        string msdId = client.GetMessage(i).Headers.MessageId;
                        OpenPop.Mime.Message msg = client.GetMessage(i);
                        OpenPop.Mime.MessagePart plainTextPart = msg.FindFirstPlainTextVersion();
                        string message = plainTextPart.GetBodyAsText();                           
                    }
                }
            }
        return table;
        }
Run Code Online (Sandbox Code Playgroud)

但它在2016年3月4日之前收到的电子邮件,没有提取新的/最新的电子邮件."OpenPop.Pop3"中有任何限制,还是我遗漏了什么?

c# pop3 email-client openpop

5
推荐指数
1
解决办法
3730
查看次数

OpenPop - Gmail - GetMessageCount()返回0(零)

使用OpenPop连接到Gmail时,我只能检索一次电子邮件,即使我不删除它也是如此.使用GetMessageCount()我总是收到0封电子邮件.我怎样才能收到那里的所有电子邮件?

只有在阅读并处理它们之后,我才能下令删除.我使用以下代码来获取电子邮件:

using (var client = new Pop3Client())
{
    // Connect to the server
    client.Connect(serverData.Hostname, serverData.Port, serverData.UseSsl);

    // Authenticate ourselves towards the server
    client.Authenticate(serverData.Username, serverData.Password, AuthenticationMethod.UsernameAndPassword);

    var emailAmount = client.GetMessageSizes().Count;

    // Fetch all the current uids seen
    var msgCount = client.GetMessageCount();

   .....
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net openpop

4
推荐指数
1
解决办法
4513
查看次数

C#:无法加载文件或程序集'OpenPop,Version = 2.0.4.369,Culture = neutral,PublicKeyToken = null'或其依赖项之一

我正在尝试使用OpenPop.NET访问gmail帐户,但是即使使用基本测试代码,我也会收到以下错误消息.

错误:System.Reflection.TargetInvocationException:调用目标已抛出异常.---> System.IO.FileNotFoundException:无法加载文件或程序集'OpenPop,Version = 2.0.4.369,Culture = neutral,PublicKeyToken = null'或其依赖项之一.该系统找不到指定的文件.文件名:'OpenPop,Version = 2.0.4.369,Culture = neutral,PublicKeyToken = null'at ST_1694f4bcdf2a4068ae871201a2216457.csproj.ScriptMain.Main()

警告:装配绑定日志记录已关闭.要启用程序集绑定失败日志记录,请将注册表值[HKLM\Software\Microsoft\Fusion!EnableLog](DWORD)设置为1.注意:程序集绑定失败日志记录会导致一些性能损失.要关闭此功能,请删除注册表值[HKLM\Software\Microsoft\Fusion!EnableLog].

---内部异常堆栈跟踪的结束---在System.Reflection.RuntimeMethodInfo.Invoke(Object obj,BindingFlags invokeAttr)的System.RuntimeMethodHandle._InvokeMethodFast(Object target,Object []参数,SignatureStruct&sig,MethodAttributes methodAttributes,RuntimeTypeHandle typeOwner)中System.RuntimeType.InvokeMember(String name)的System.Reflection.RuntimeMethodInfo.Invoke(Object obj,BindingFlags invokeAttr,Binder binder,Object []参数,CultureInfo文化),Binder binder,Object []参数,CultureInfo文化,布尔值skipVisibilityChecks) ,BindingFlags bindingFlags,Binder binder,Object target,Object [] providedArgs,ParameterModifier [] modifiers,CultureInfo culture,String [] namedParams)at Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()

我试图在具有.NET framework 3.5和4的Windows 7计算机上的SQL Server Business Intelligence Development Studio 2008中的SSIS包中执行此操作.OpenPop dll和引用它的脚本任务都是在3.5中构建的.我已经研究了几天,但一直没能找到任何可以修复它的东西.我尝试从源重新编译OpenPop dll并多次删除和重新添加引用.

我目前正在使用的代码发布如下:

        Pop3Client client = new Pop3Client();

        try
        {
            client.Connect("pop.gmail.com", 995, true);

            try
            {
                client.Authenticate("user@domain.com", "mypassword");
                Console.WriteLine("Success");
                client.Disconnect();
            }
            catch
            {
                Console.WriteLine("Failed to authenticate");
                Dts.TaskResult = …
Run Code Online (Sandbox Code Playgroud)

c# ssis openpop

3
推荐指数
1
解决办法
6719
查看次数

如何使用openpop .net检索每个邮件附件的大小

我使用openpop .net库从邮件服务器检索邮件与POP3.一切正常但我无法检索每个邮件附件的大小.我创建了GetMessageSize(i),但这个大小是所有附件的总和.

那么问题是我如何检索每个附件的大小.

有谁能够帮我?谢谢!

c# asp.net openpop

2
推荐指数
1
解决办法
926
查看次数

怎么把OpenPop.NET MailMessage转换成System.Net.Mail.MailMessage?

有什么办法可以将OpenPop.NET MailMessage转换为System.Net.Mail.MailMessage?

.net c# openpop

1
推荐指数
1
解决办法
1083
查看次数

如何解决OpenPop.Net身份验证异常

我正在使用OpenPop.Net连接到C#应用程序中的GoDaddy托管电子邮件帐户.Authenticate()方法抛出异常,并显示错误消息"用于检索响应的流已关闭".我加倍检查POPServer,POPPort,POPUserName和POPPassword值是否有效使用Outlook 2007.

using (Pop3Client pop3 = new Pop3Client())
{
    pop3.Connect(POPServer, POPPort, false);
    pop3.Authenticate(POPUserName, POPPassword);

    Int32 messageCount = pop3.GetMessageCount();
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net openpop

1
推荐指数
1
解决办法
7206
查看次数

如何在OpenPOP中立即删除邮件

在openpop中我们必须调用disconnect()或dispos()来提交delete命令,如何在调用pop3Client.DeleteMessage()时立即删除消息?

c# asp.net openpop

1
推荐指数
1
解决办法
2263
查看次数

Openpop.NET恢复特定文件夹的附件

我正在尝试检索电子邮件附件并使用下面的代码将其保存到文件系统中的特定目录.

Dim objMail As Message = New Message(Encoding.ASCII.GetBytes(strMessage))

For Each att In objMail.FindAllAttachments()
    Dim Stream as FileStream = New FileStream("D:\XX\" & att.FileName.ToString(), 
        FileMode.Create)
    Dim BinaryStream As New BinaryWriter(Stream)
    BinaryStream.Write(BitConverter.ToString(att.Body))
    BinaryStream.Close()
Next
Run Code Online (Sandbox Code Playgroud)

我也试过了 att.GetBodyasText()

使用此代码,我可以将附件文件保存在所需的文件夹中.但是在打开文件时,我收到了错误信息

文件格式不正确或未正确解码.

我是MIME编码/解码的新手.

vb.net pop3 openpop

0
推荐指数
1
解决办法
4184
查看次数

标签 统计

openpop ×12

c# ×11

asp.net ×6

email ×3

pop3 ×3

.net ×2

attachment ×1

email-client ×1

save ×1

ssis ×1

vb.net ×1