Author |
|
jklk11640 Newbie
Joined: 03 May 2017
Online Status: Offline Posts: 4
|
Posted: 19 July 2017 at 7:06pm | IP Logged
|
|
|
Hi,I have a trouble.I want to create a windows service to received mails from different mail servers regular.it works fine at most time.however,it throw an exception.
there is the infomation:
MailBee v10.0
code:
for (int i = userList.Count - 1; i > -1; i--)
{
UserInfo user = userList;
Imap imp = null;
imp = new Imap(LineKey);
imp.SslMode = MailBee.Security.SslStartupMode.OnConnect;
imp.Connect(user.Server, int.Parse(user.Port));
imp.Login(user.Account, pwd);
/*
i have checkd the params,it's ok.
*/
}
exception:
System.Security.Authentication.AuthenticationException: A call to SSPI failed, see inner exception. ---> System.ComponentModel.Win32Exception: The message received was unexpected or badly formatted.
System.Net.Security.SslState.CheckThrow(Boolean authSucessCheck)
System.Net.Security.SslState.get_SecureStream()
System.Net.Security.SslStream.Read(Byte[] buffer, Int32 offset, Int32 count)
a.c.u.a(Byte[] A_0, Int32 A_1)
a.a3.k(Int32 A_0)
a.l.a(String A_0, Int32 A_1, Boolean A_2, Socket A_3, EndPoint A_4, Int32 A_5)
a.l.y()
a.ab.a(Boolean A_0, String A_1, Int32 A_2, Boolean A_3, Socket A_4, EndPoint A_5)
MailBee.ImapMail.Imap.Connect(String serverName, Int32 port)
MailRevService.MainService.RevMailList(UserInfo user)
mailbeelog:
[16:43:08.48] [INFO] Assembly version: 10.0.2.502.
[16:43:08.48] [INFO] Will resolve host "imap.ym.163.com".
[16:43:08.48] [INFO] Host "imap.ym.163.com" resolved to IP address(es) 123.58.177.53. [16:43:08.48] [INFO] Will connect to host "imap.ym.163.com" on port 993.
[16:43:08.49] [INFO] Socket connected to IP address 123.58.177.53 on port 993. [16:43:08.49] [INFO] Will start TLS/SSL negotiation sequence.
[16:43:08.51] [INFO] TLS/SSL negotiation completed.
//then throw exception
it irregular happend.
any idea?thanks.
|
Back to Top |
|
|
Igor AfterLogic Support
Joined: 24 June 2008 Location: United States
Online Status: Offline Posts: 6104
|
Posted: 20 July 2017 at 1:17am | IP Logged
|
|
|
You're using an older version of the product, see if the issue persists with v11 of MailBee.NET Objects. You can download the installer at:
https://afterlogic.com/download/MailBeeNetObjects.msi
The latest build of the DLL can be found at:
https://afterlogic.com/updates/mailbee_net.zip
Let us know if the update helps.
--
Regards,
Igor, AfterLogic Support
|
Back to Top |
|
|
jklk11640 Newbie
Joined: 03 May 2017
Online Status: Offline Posts: 4
|
Posted: 20 July 2017 at 10:29pm | IP Logged
|
|
|
I tried the MailBee v11,now it throw this:
MailBee.Security.MailBeeSslNegotiationException: AuthenticationException occurred during SSL negotiation. InnerException message follows: A call to SSPI failed, see inner exception. InnerException message follows: The message received was unexpected or badly formatted. ---> System.Security.Authentication.AuthenticationException: A call to SSPI failed, see inner exception. ---> System.ComponentModel.Win32Exception: The message received was unexpected or badly formatted.
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, Exception exception)
在 System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
在 System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
在 System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
在 System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
在 System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
在 System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
在 a.b.ax.a(SecurityProtocol A_0, String A_1)
--- 内部异常堆栈跟踪的结尾 ---
在 a.b.ax.a(SecurityProtocol A_0, String A_1)
在 a.j.a()
在 a.j.a(String A_0, Int32 A_1, Boolean A_2, Socket A_3, EndPoint A_4, Int32 A_5)
在 a.j.y()
在 a.z.a(Boolean A_0, String A_1, Int32 A_2, Boolean A_3, Socket A_4, EndPoint A_5)
在 MailBee.ImapMail.Imap.Connect(String serverName, Int32 port)
在 MailRevService.MainService.RevMailList(UserInfo user)
[13:23:15.37] [INFO] Assembly version: 11.1.0 build 585 for .NET 2.0.
[13:23:15.37] [INFO] Will resolve host "imap.ym.163.com".
[13:23:15.37] [INFO] Host "imap.ym.163.com" resolved to IP address(es) 123.58.177.53.
[13:23:15.37] [INFO] Will connect to host "imap.ym.163.com" on port 993.
[13:23:15.39] [INFO] Socket connected to IP address 123.58.177.53 on port 993.
[13:23:15.39] [INFO] Will start TLS/SSL negotiation sequence.
[13:23:15.41] [INFO] Error: AuthenticationException occurred during SSL negotiation. InnerException message follows: A call to SSPI failed, see inner exception. InnerException message follows: The message received was unexpected or badly formatted.
[13:23:15.41] [INFO] Will disconnect from host "imap.ym.163.com".
[13:23:15.41] [INFO] Disconnected from host "imap.ym.163.com".
|
Back to Top |
|
|
Alex AfterLogic Support
Joined: 19 November 2003
Online Status: Offline Posts: 2206
|
Posted: 21 July 2017 at 2:49am | IP Logged
|
|
|
H-m-m, can't reproduce this..
[12:41:16.88] [INFO] Assembly version: 11.1.0 build 585 for .NET 2.0.
[12:41:16.85] [INFO] Will resolve host "imap.ym.163.com".
[12:41:17.38] [INFO] Host "imap.ym.163.com" resolved to IP address(es) 123.58.177.53.
[12:41:17.38] [INFO] Will connect to host "imap.ym.163.com" on port 993.
[12:41:17.67] [INFO] Socket connected to IP address 123.58.177.53 on port 993.
[12:41:17.70] [INFO] Will start TLS/SSL negotiation sequence.
[12:41:18.51] [INFO] TLS/SSL negotiation completed.
[12:41:18.58] [RECV] * OK Welcome to Hmail IMAP4rev1 server (Version. 1.0)\r\n [Total 55 bytes received.]
Which Windows are you using?
Also, before calling .Connect, try setting:
imp.SslProtocol = SecurityProtocol.Tls12;
or
imp.SslProtocol = SecurityProtocol.Tls1;
Can you also try on another computer (in another network, if possible)?
Regards,
Alex
|
Back to Top |
|
|
jklk11640 Newbie
Joined: 03 May 2017
Online Status: Offline Posts: 4
|
Posted: 03 August 2017 at 11:29pm | IP Logged
|
|
|
Hi,I've got some news.
I logged the communications between local and mailserver,then i found,if there is no exception,local received data like this:
Date from to
1.2017-08-04 12:24:12.884734 123.58.177.53 10.0.0.102 TLSv1 140 Serv er Hello
2.2017-08-04 12:24:12.884734 123.58.177.53 10.0.0.102 TLSv1 60 Chang e Cipher Spec
3.2017-08-04 12:24:12.884735 123.58.177.53 10.0.0.102 TLSv1 107 Encr ypted Handshake Message
4.2017-08-04 12:24:12.884806 10.0.0.102 123.58.177.53 TCP 54 8685 → 993 [ACK] Seq=154 Ack=146 Win=65536 Len=0
5.2017-08-04 12:24:12.885283 10.0.0.102 123.58.177.53 TLSv1 113 Chan ge Cipher Spec, Encrypted Handshake Message
this is ok.
but sometiems,the order is step1->step3->step2->step4->stop,then trow an exception.
maybe,i mean,when we received the sign:Change Cipher Spec,but next we received null(the data had been received before),it course the problem?
|
Back to Top |
|
|
Alex AfterLogic Support
Joined: 19 November 2003
Online Status: Offline Posts: 2206
|
Posted: 04 August 2017 at 2:31am | IP Logged
|
|
|
It's hard to say what's going on exactly because we never deal with these SSL handshake internals. We're just using the standard SslStream class.
I'd try on different computers with diff. OS versions, for instance. Perhaps, something's wrong with that particular PC (because on our systems your code is working fine).
Regards,
Alex
|
Back to Top |
|
|