C# 由于IMAP实现时出现意外的数据包格式,握手失败
我试图通过c#代码读取我的邮件收件箱,但它给出了一个错误“由于意外的数据包格式,握手失败” 这是我的密码C# 由于IMAP实现时出现意外的数据包格式,握手失败,c#,winforms,email,imap,imapclient,C#,Winforms,Email,Imap,Imapclient,我试图通过c#代码读取我的邮件收件箱,但它给出了一个错误“由于意外的数据包格式,握手失败” 这是我的密码 using AE.Net.Mail; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MailApp
using AE.Net.Mail;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MailApp
{
class Program
{
static void Main(string[] args)
{
try
{
ImapClient ic = new ImapClient("mail.topformtechnologies.com", "username@topformtechnologies.com", "password", AuthMethods.Login, 143, true);
// Select a mailbox. Case-insensitive
ic.SelectMailbox("INBOX");
Console.WriteLine(ic.GetMessageCount());
Console.ReadLine();
// Get the first *11* messages. 0 is the first message;
// and it also includes the 10th message, which is really the eleventh ;)
// MailMessage represents, well, a message in your mailbox
MailMessage[] mm = ic.GetMessages(0, 10);
foreach (MailMessage m in mm)
{
Console.WriteLine(m.Body);
Console.ReadLine();
}
//// SmtpServer.Send(mail);
}
catch (Exception e)
{
Console.WriteLine(e);
Console.ReadLine();
}
}
}
}
以下是详细错误:
System.IO.IOException:由于意外的数据包格式,握手失败。
位于System.Net.Security.SslState.StartReadFrame(字节[]缓冲区,Int32 readBytes,AsyncProtocolRequest asyncRequest)
位于System.Net.Security.SslState.StartReceiveBlob(字节[]缓冲区,AsyncProtocolRequest asyncRequest)
在System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken消息,AsyncProtocolRequest asyncRequest)
位于System.Net.Security.SslState.StartSendBlob(字节[]传入,Int32计数,AsyncProtocolRequest asyncRequest)
位于System.Net.Security.SslState.ForceAuthentication(布尔值receiveFirst,字节[]缓冲区,AsyncProtocolRequest asyncRequest)
在System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult-lazyResult)上
位于System.Net.Security.SslStream.AuthenticateTasClient(字符串targetHost、X509CertificateCollection客户端证书、启用SslProtocols的SslProtocols、布尔检查证书调用)
位于System.Net.Security.SslStream.AuthenticateTasClient(字符串targetHost)
在c:\Repos\aenetmail\TextClient.cs中的AE.Net.Mail.TextClient.Connect(字符串主机名、Int32端口、布尔ssl、RemoteCertificateValidationCallback validateCertificate)处:第87行
在c:\Repos\aenetmail\TextClient.cs中的AE.Net.Mail.TextClient.Connect(字符串主机名、Int32端口、布尔ssl、布尔skipSslValidation)处:第59行
在c:\Repos\aenetmail\ImapClient.cs中的AE.Net.Mail.ImapClient..ctor(字符串主机、字符串用户名、字符串密码、AuthMethods方法、Int32端口、布尔安全、布尔skipSslValidation)处:第35行
在BulkEmail.CreateSignature.btnFont\u中,单击C:\Users\TFTLap2\documents\visual studio 2015\Projects\BulkEmail\BulkEmail\CreateSignature.cs:第24行中的(对象发送者,事件参数e)
请有人指导我解决这个问题
提前感谢。您确定您指的不是端口993,ssl IMAP端口143在那里是开放的,它是一个普通的Dovecot服务器。那有什么例外呢?我的意思是详细的?是的,是143,我检查了我的cpanel的电子邮件服务器配置。你要么需要starttls,要么关闭ssl。您正在尝试将ssl连接到未加密的端口,即使尝试将ssl设为false,仍然没有帮助….:(