From 08593dce6bc48429f8a3a10b5dce0fec472e5207 Mon Sep 17 00:00:00 2001 From: pm Date: Fri, 15 Jun 2018 16:24:51 +0200 Subject: [PATCH 1/4] Updates nDepend (sponsor) logo & link --- PoweredByNDepend.png | Bin 0 -> 6012 bytes README.md | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 PoweredByNDepend.png diff --git a/PoweredByNDepend.png b/PoweredByNDepend.png new file mode 100644 index 0000000000000000000000000000000000000000..75b6daebe1004ae5ff419629ab33d56fc9c66169 GIT binary patch literal 6012 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 Date: Mon, 2 Jul 2018 15:03:04 -0300 Subject: [PATCH 2/4] Update test information. --- .../ActiveUp.Net.Tests/Common/ParserTests.cs | 2 +- .../quoted-printable-notepad-linebreak.eml | 24 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Class Library/ActiveUp.Net.Tests/Common/ParserTests.cs b/Class Library/ActiveUp.Net.Tests/Common/ParserTests.cs index 3204e7e..bea6d91 100644 --- a/Class Library/ActiveUp.Net.Tests/Common/ParserTests.cs +++ b/Class Library/ActiveUp.Net.Tests/Common/ParserTests.cs @@ -157,7 +157,7 @@ public void should_decode_japanese_content() public void should_recognize_line_break_of_notepad_text_in_body() { var message = Parser.ParseMessageFromFile(_baseDir + "\\resource\\quoted-printable-notepad-linebreak.eml"); - message.BodyText.Text.ShouldEqual("Alatur,\r\rFoi criada uma nova solicitação para TESTE SOLICITANTE.\r\rCliente: TESTE HOTEL\rEmpresa: TESTE\rC. Custo: TESTE TESTE\r\r\r>>> PASSAGEM AÉREA\rDescrição.: (GRU) Cumbica / (LAS) Las Vegas 04/Jan Manhã (06:00 às 12:00) (Econômica)\rHorário...: considerando saída\rPagamento.: FATURADO\r\rDescrição.: (LAS) Las Vegas / (GRU) Cumbica 07/Jan Manhã (06:00 às 12:00) (Econômica)\rHorário...: considerando saída\rPagamento.: FATURADO\r\r\r>>> SOLICITANTE\rteste solicitante (fulfillment@alatur.com)\r\r\rDestinatários que estão recebendo esse email: \rtms@argoit.com.br (tms@argoit.com.br)\rteste solicitante (fulfillment@alatur.com)\rtesteodare@encontact.com.br (testeodare@encontact.com.br)\rodare@encontact.com.br (odare@encontact.com.br)\r\rPara acessá-la clique em: \r \r\rEMAIL AUTOMÁTICO, NÃO RESPONDA ESSA MENSAGEM\r\n"); + message.BodyText.Text.ShouldEqual("Sender,\r\rFoi criada uma nova solicitação para TESTE SOLICITANTE.\r\rCliente: TESTE HOTEL\rEmpresa: TESTE\rC. Custo: TESTE TESTE\r\r\r>>> PASSAGEM AÉREA\rDescrição.: (GRU) Cumbica / (LAS) Las Vegas 04/Jan Manhã (06:00 às 12:00) (Econômica)\rHorário...: considerando saída\rPagamento.: FATURADO\r\rDescrição.: (LAS) Las Vegas / (GRU) Cumbica 07/Jan Manhã (06:00 às 12:00) (Econômica)\rHorário...: considerando saída\rPagamento.: FATURADO\r\r\r>>> SOLICITANTE\rteste solicitante (teste-conta@sender.com)\r\r\rDestinatários que estão recebendo esse email: \rtms@server.com (tms@argoit.com.br)\rteste solicitante (teste-conta@sender.com)\rtestereceiver@enterprise.com (testreceiver@enterprise.com)\rtestreceiver@enterprise.co (testreceiver@enterprise.com)\r\rPara acessá-la clique em: \r \r\rEMAIL AUTOMÁTICO, NÃO RESPONDA ESSA MENSAGEM\r\n"); message.BodyHtml.Text.ShouldEqual(""); } diff --git a/Class Library/ActiveUp.Net.Tests/resource/quoted-printable-notepad-linebreak.eml b/Class Library/ActiveUp.Net.Tests/resource/quoted-printable-notepad-linebreak.eml index 21ce511..984e8e9 100644 --- a/Class Library/ActiveUp.Net.Tests/resource/quoted-printable-notepad-linebreak.eml +++ b/Class Library/ActiveUp.Net.Tests/resource/quoted-printable-notepad-linebreak.eml @@ -1,16 +1,16 @@ -Return-Path: +Return-Path: Received: from a2-sumeria7-2 (a2-sumeria7.host.intranet [10.129.137.204]) by cyruslmtpafil29-a with LMTPA; Fri, 15 Apr 2016 11:24:06 -0300 Received: from ch-host.clicholding.com.br (ch-host.clicholding.com.br [189.36.14.162]) by a2-snowball1.uhserver.com (Postfix) with ESMTP id 3qmftG5Mvlzft64R - for ; Fri, 15 Apr 2016 11:24:04 -0300 (BRT) + for ; Fri, 15 Apr 2016 11:24:04 -0300 (BRT) Received: from wtbweb08 ([127.0.0.1]) by ch-host.clicholding.com.br with Microsoft SMTPSVC(8.0.9200.16384); Fri, 15 Apr 2016 11:24:04 -0300 -Message-ID: <6b7922a0-7f40-444b-b6b9-b8b570552aaf@argoit.com.br> +Message-ID: <6b7922a0-7f40-444b-b6b9-b8b570552aaf@server.com> MIME-Version: 1.0 -From: =?iso-8859-1?Q?Gest=E3o_de_Viagens?= -To: "testeodare@encontact.com.br" +From: =?iso-8859-1?Q?Gest=E3o_de_Viagens?= +To: "testreceiver@enterprise.com" Date: 15 Apr 2016 11:24:04 -0300 Subject: =?iso-8859-1?Q?Solicita=E7=E3o_=2359_=2D_Aguardando_Cota=E7=E3?= =?iso-8859-1?Q?o_=2D_TESTE_HOTEL_=2D_TESTE_=2D_C=2E_Custo_TESTE_TES?= @@ -19,7 +19,7 @@ Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-OriginalArrivalTime: 15 Apr 2016 14:24:04.0524 (UTC) FILETIME=[769E8EC0:01D19722] -Alatur,=0D=0DFoi criada uma nova solicita=E7=E3o para TESTE SOLIC= +Sender,=0D=0DFoi criada uma nova solicita=E7=E3o para TESTE SOLIC= ITANTE.=0D=0DCliente: TESTE HOTEL=0DEmpresa: TESTE=0DC. Custo: TE= STE TESTE=0D=0D=0D>>> PASSAGEM A=C9REA=0DDescri=E7=E3o.: (GRU) Cu= mbica / (LAS) Las Vegas 04/Jan Manh=E3 (06:00 =E0s 12:00) (Econ=F4= @@ -27,11 +27,11 @@ mica)=0DHor=E1rio...: considerando sa=EDda=0DPagamento.: FATURADO= =0D=0DDescri=E7=E3o.: (LAS) Las Vegas / (GRU) Cumbica 07/Jan Manh= =E3 (06:00 =E0s 12:00) (Econ=F4mica)=0DHor=E1rio...: considerando= sa=EDda=0DPagamento.: FATURADO=0D=0D=0D>>> SOLICITANTE=0Dteste s= -olicitante (fulfillment@alatur.com)=0D=0D=0DDestinat=E1rios que e= -st=E3o recebendo esse email: =0Dtms@argoit.com.br (tms@argoit.com= -.br)=0Dteste solicitante (fulfillment@alatur.com)=0Dtesteodare@en= -contact.com.br (testeodare@encontact.com.br)=0Dodare@encontact.co= -m.br (odare@encontact.com.br)=0D=0DPara acess=E1-la clique em: =0D= - =0D=0D= EMAIL AUTOM=C1TICO, N=C3O RESPONDA ESSA MENSAGEM From caf2f7477333c87de18361477e9124db0e8b5348 Mon Sep 17 00:00:00 2001 From: Lino Barreca Date: Thu, 21 Nov 2019 08:52:14 +0100 Subject: [PATCH 3/4] Proper SslProtocols value on default constructor --- Class Library/ActiveUp.Net.Common/SslHandShake.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Class Library/ActiveUp.Net.Common/SslHandShake.cs b/Class Library/ActiveUp.Net.Common/SslHandShake.cs index 16a04a2..ef96dcf 100644 --- a/Class Library/ActiveUp.Net.Common/SslHandShake.cs +++ b/Class Library/ActiveUp.Net.Common/SslHandShake.cs @@ -48,7 +48,7 @@ public SslHandShake(string hostName, System.Security.Authentication.SslProtocols { } - public SslHandShake(string hostName) : this(hostName, System.Security.Authentication.SslProtocols.Default, null, null, null, false) + public SslHandShake(string hostName) : this(hostName, System.Security.Authentication.SslProtocols.None, null, null, null, false) { } From 78b9115835de2c171c905cbc43b8dfdc2dc90862 Mon Sep 17 00:00:00 2001 From: Lino Barreca Date: Thu, 21 Nov 2019 11:50:28 +0100 Subject: [PATCH 4/4] Proper response parsing in UidMessagePeek --- Class Library/ActiveUp.Net.Imap4/Fetch.cs | 176 +++++++++++----------- 1 file changed, 91 insertions(+), 85 deletions(-) diff --git a/Class Library/ActiveUp.Net.Imap4/Fetch.cs b/Class Library/ActiveUp.Net.Imap4/Fetch.cs index d987a6a..f29a32b 100644 --- a/Class Library/ActiveUp.Net.Imap4/Fetch.cs +++ b/Class Library/ActiveUp.Net.Imap4/Fetch.cs @@ -5,7 +5,7 @@ // it under the terms of the GNU Lesser General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. -// +// // MailSystem.NET is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the @@ -13,7 +13,7 @@ // You should have received a copy of the GNU Lesser General Public License // along with SharpMap; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA using System; using System.IO; @@ -29,8 +29,6 @@ namespace ActiveUp.Net.Mail #endif public class Fetch { - private string _response; - private byte[] _binaryResponse; #region Methods @@ -56,7 +54,7 @@ private CommandOptions getFetchOptions() /// /// /// C# - /// + /// /// Imap4Client imap = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -64,9 +62,9 @@ private CommandOptions getFetchOptions() /// string body = inbox.Fetch.Body(1); /// inbox.Close(); /// imap.Disconnect(); - /// + /// /// VB.NET - /// + /// /// Dim imap As New Imap4Client /// imap.Connect("mail.myhost.com") /// imap.Login("jdoe1234","tanstaaf") @@ -74,9 +72,9 @@ private CommandOptions getFetchOptions() /// Dim body As String = inbox.Fetch.Body(1); /// inbox.Close() /// imap.Disconnect() - /// + /// /// JScript.NET - /// + /// /// var imap:Imap4Client = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -106,7 +104,7 @@ public string EndBody(IAsyncResult result) { return _delegateBody.EndInvoke(result); } - + public string UidBody(int uid) { ParentMailbox.SourceClient.SelectMailbox(ParentMailbox.Name); @@ -137,7 +135,7 @@ public string EndUidBody(IAsyncResult result) /// /// /// C# - /// + /// /// Imap4Client imap = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -145,9 +143,9 @@ public string EndUidBody(IAsyncResult result) /// string body = inbox.Fetch.BodySection(1,3); /// inbox.Close(); /// imap.Disconnect(); - /// + /// /// VB.NET - /// + /// /// Dim imap As New Imap4Client /// imap.Connect("mail.myhost.com") /// imap.Login("jdoe1234","tanstaaf") @@ -155,9 +153,9 @@ public string EndUidBody(IAsyncResult result) /// Dim body As String = inbox.Fetch.Body(1,3); /// inbox.Close() /// imap.Disconnect() - /// + /// /// JScript.NET - /// + /// /// var imap:Imap4Client = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -217,7 +215,7 @@ public string EndUidBodySection(IAsyncResult result) /// /// /// C# - /// + /// /// Imap4Client imap = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -225,9 +223,9 @@ public string EndUidBodySection(IAsyncResult result) /// string body = inbox.Fetch.BodyStructure(1); /// inbox.Close(); /// imap.Disconnect(); - /// + /// /// VB.NET - /// + /// /// Dim imap As New Imap4Client /// imap.Connect("mail.myhost.com") /// imap.Login("jdoe1234","tanstaaf") @@ -235,9 +233,9 @@ public string EndUidBodySection(IAsyncResult result) /// Dim body As String = inbox.Fetch.BodyStructure(1); /// inbox.Close() /// imap.Disconnect() - /// + /// /// JScript.NET - /// + /// /// var imap:Imap4Client = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -297,7 +295,7 @@ public string EndUidBodyStructure(IAsyncResult result) /// /// /// C# - /// + /// /// Imap4Client imap = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -305,9 +303,9 @@ public string EndUidBodyStructure(IAsyncResult result) /// string internalDate = inbox.Fetch.InternalDate(1); /// inbox.Close(); /// imap.Disconnect(); - /// + /// /// VB.NET - /// + /// /// Dim imap As New Imap4Client /// imap.Connect("mail.myhost.com") /// imap.Login("jdoe1234","tanstaaf") @@ -315,9 +313,9 @@ public string EndUidBodyStructure(IAsyncResult result) /// Dim internalDate As String = inbox.Fetch.InternalDate(1); /// inbox.Close() /// imap.Disconnect() - /// + /// /// JScript.NET - /// + /// /// var imap:Imap4Client = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -377,7 +375,7 @@ public string EndUidInternalDate(IAsyncResult result) /// /// /// C# - /// + /// /// Imap4Client imap = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -385,9 +383,9 @@ public string EndUidInternalDate(IAsyncResult result) /// FlagCollection flags = inbox.Fetch.Flags(1); /// inbox.Close(); /// imap.Disconnect(); - /// + /// /// VB.NET - /// + /// /// Dim imap As New Imap4Client /// imap.Connect("mail.myhost.com") /// imap.Login("jdoe1234","tanstaaf") @@ -395,9 +393,9 @@ public string EndUidInternalDate(IAsyncResult result) /// Dim flags As FlagCollection = inbox.Fetch.Flags(1); /// inbox.Close() /// imap.Disconnect() - /// + /// /// JScript.NET - /// + /// /// var imap:Imap4Client = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -510,7 +508,7 @@ public byte[] EndUidHeader(IAsyncResult result) /// /// /// C# - /// + /// /// Imap4Client imap = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -518,9 +516,9 @@ public byte[] EndUidHeader(IAsyncResult result) /// Header Header = inbox.Fetch.Header(1); /// inbox.Close(); /// imap.Disconnect(); - /// + /// /// VB.NET - /// + /// /// Dim imap As New Imap4Client /// imap.Connect("mail.myhost.com") /// imap.Login("jdoe1234","tanstaaf") @@ -528,9 +526,9 @@ public byte[] EndUidHeader(IAsyncResult result) /// Dim Header As Header = inbox.Fetch.Header(1); /// inbox.Close() /// imap.Disconnect() - /// + /// /// JScript.NET - /// + /// /// var imap:Imap4Client = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -696,7 +694,7 @@ public string EndUidHeaderString(IAsyncResult result) /// /// /// C# - /// + /// /// Imap4Client imap = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -707,9 +705,9 @@ public string EndUidHeaderString(IAsyncResult result) /// string messageSubject = lines["subject"]; /// inbox.Close(); /// imap.Disconnect(); - /// + /// /// VB.NET - /// + /// /// Dim imap As New Imap4Client /// imap.Connect("mail.myhost.com") /// imap.Login("jdoe1234","tanstaaf") @@ -720,9 +718,9 @@ public string EndUidHeaderString(IAsyncResult result) /// Dim messageSubject As String = lines("subject") /// inbox.Close() /// imap.Disconnect() - /// + /// /// JScript.NET - /// + /// /// var imap:Imap4Client = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -891,7 +889,7 @@ public System.Collections.Specialized.NameValueCollection EndUidHeaderLinesNotPe /// /// /// C# - /// + /// /// Imap4Client imap = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -902,9 +900,9 @@ public System.Collections.Specialized.NameValueCollection EndUidHeaderLinesNotPe /// string messageSubject = lines["subject"]; /// inbox.Close(); /// imap.Disconnect(); - /// + /// /// VB.NET - /// + /// /// Dim imap As New Imap4Client /// imap.Connect("mail.myhost.com") /// imap.Login("jdoe1234","tanstaaf") @@ -915,9 +913,9 @@ public System.Collections.Specialized.NameValueCollection EndUidHeaderLinesNotPe /// Dim messageSubject As String = lines("subject") /// inbox.Close() /// imap.Disconnect() - /// + /// /// JScript.NET - /// + /// /// var imap:Imap4Client = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -1087,9 +1085,9 @@ public byte[] Message(int messageOrdinal) { ParentMailbox.SourceClient.SelectMailbox(ParentMailbox.Name); ParentMailbox.SourceClient.OnMessageRetrieving(new MessageRetrievingEventArgs(messageOrdinal)); byte[] response = ParentMailbox.SourceClient.CommandBinary("fetch " + messageOrdinal.ToString() + " rfc822", getFetchOptions()); - _binaryResponse = response; - _response = Encoding.UTF8.GetString(response); - Logger.AddEntry(GetType(), _response); + BinaryResponse = response; + Response = Encoding.UTF8.GetString(response); + Logger.AddEntry(GetType(), Response); byte[] message = ExtractMessageFromReponse(response); @@ -1139,7 +1137,7 @@ public byte[] EndUidMessage(IAsyncResult result) /// /// /// C# - /// + /// /// Imap4Client imap = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -1147,9 +1145,9 @@ public byte[] EndUidMessage(IAsyncResult result) /// Message message = inbox.Fetch.Message(1); /// inbox.Close(); /// imap.Disconnect(); - /// + /// /// VB.NET - /// + /// /// Dim imap As New Imap4Client /// imap.Connect("mail.myhost.com") /// imap.Login("jdoe1234","tanstaaf") @@ -1157,9 +1155,9 @@ public byte[] EndUidMessage(IAsyncResult result) /// Dim message As Message = inbox.Fetch.Message(1); /// inbox.Close() /// imap.Disconnect() - /// + /// /// JScript.NET - /// + /// /// var imap:Imap4Client = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -1259,12 +1257,12 @@ public MemoryStream EndUidMessageStream(IAsyncResult result) /// The ordinal position of the message to be fetched. /// The message's data as a string. /// - public string MessageString(int messageOrdinal) + public string MessageString(int messageOrdinal) { return Encoding.UTF8.GetString(Message(messageOrdinal)); } - private static byte[] ExtractMessageFromReponse(byte[] response) + private static byte[] ExtractMessageFromReponse(byte[] response) { byte[] message = null; string responseString = Encoding.ASCII.GetString(response); @@ -1286,7 +1284,7 @@ private static byte[] ExtractMessageFromReponse(byte[] response) continue; } } - + try { if (message == null || firstline == null) throw new Exception("failed to determine messagesize"); @@ -1300,14 +1298,14 @@ private static byte[] ExtractMessageFromReponse(byte[] response) int suffixLength = Encoding.ASCII.GetByteCount(responseString.Substring(responseString.LastIndexOf(")"))); message = new byte[response.Length - prefixLength - suffixLength]; Array.Copy(response, prefixLength, message, 0, message.Length); - } + } return message; } catch (Exception e) { throw new Exception("failed to extract message from response", e); } } - + private delegate string DelegateMessageString(int messageOrdinal); private DelegateMessageString _delegateMessageString; @@ -1359,12 +1357,12 @@ public byte[] MessagePeek(int messageOrdinal) ParentMailbox.SourceClient.OnMessageRetrieving(new MessageRetrievingEventArgs(messageOrdinal)); byte[] response; if (ParentMailbox.SourceClient.ServerCapabilities.IndexOf("IMAP4rev1") != -1) - response = ParentMailbox.SourceClient.CommandBinary("fetch " + messageOrdinal.ToString() + " body[mime]", getFetchOptions()); + response = ParentMailbox.SourceClient.CommandBinary("fetch " + messageOrdinal.ToString() + " body[mime]", getFetchOptions()); else response = ParentMailbox.SourceClient.CommandBinary("fetch " + messageOrdinal.ToString() + " rfc822.peek", getFetchOptions()); - _binaryResponse = response; - _response = Encoding.UTF8.GetString(response); - + BinaryResponse = response; + Response = Encoding.UTF8.GetString(response); + byte[] message = ExtractMessageFromReponse(response); ParentMailbox.SourceClient.OnMessageRetrieved(new MessageRetrievedEventArgs(message, messageOrdinal)); return message; @@ -1387,7 +1385,19 @@ public byte[] EndMessagePeek(IAsyncResult result) public byte[] UidMessagePeek(int uid) { - return Encoding.UTF8.GetBytes(UidMessageStringPeek(uid)); + ParentMailbox.SourceClient.SelectMailbox(ParentMailbox.Name); + ParentMailbox.SourceClient.OnMessageRetrieving(new MessageRetrievingEventArgs(uid)); + byte[] response; + if (ParentMailbox.SourceClient.ServerCapabilities.IndexOf("IMAP4rev1") != -1) + response = ParentMailbox.SourceClient.CommandBinary("uid fetch " + uid.ToString() + " BODY.PEEK[]", getFetchOptions()); + else + response = ParentMailbox.SourceClient.CommandBinary("uid fetch " + uid.ToString() + " rfc822.peek", getFetchOptions()); + BinaryResponse = response; + Response = Encoding.UTF8.GetString(response); + + byte[] message = ExtractMessageFromReponse(response); + ParentMailbox.SourceClient.OnMessageRetrieved(new MessageRetrievedEventArgs(message, uid)); + return message; } private delegate byte[] DelegateUidMessagePeek(int uid); @@ -1554,7 +1564,7 @@ public string EndUidMessageStringPeek(IAsyncResult result) /// /// /// C# - /// + /// /// Imap4Client imap = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -1562,9 +1572,9 @@ public string EndUidMessageStringPeek(IAsyncResult result) /// int size = inbox.Fetch.Size(1); /// inbox.Close(); /// imap.Disconnect(); - /// + /// /// VB.NET - /// + /// /// Dim imap As New Imap4Client /// imap.Connect("mail.myhost.com") /// imap.Login("jdoe1234","tanstaaf") @@ -1572,9 +1582,9 @@ public string EndUidMessageStringPeek(IAsyncResult result) /// Dim size As Integer = inbox.Fetch.Size(1); /// inbox.Close() /// imap.Disconnect() - /// + /// /// JScript.NET - /// + /// /// var imap:Imap4Client = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -1634,7 +1644,7 @@ public int EndUidSize(IAsyncResult result) /// /// /// C# - /// + /// /// Imap4Client imap = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -1642,9 +1652,9 @@ public int EndUidSize(IAsyncResult result) /// string messageBody = inbox.Fetch.Text(1); /// inbox.Close(); /// imap.Disconnect(); - /// + /// /// VB.NET - /// + /// /// Dim imap As New Imap4Client /// imap.Connect("mail.myhost.com") /// imap.Login("jdoe1234","tanstaaf") @@ -1652,9 +1662,9 @@ public int EndUidSize(IAsyncResult result) /// Dim messageBody As Header = inbox.Fetch.Text(1); /// inbox.Close() /// imap.Disconnect() - /// + /// /// JScript.NET - /// + /// /// var imap:Imap4Client = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -1766,7 +1776,7 @@ public string EndUidTextPeek(IAsyncResult result) /// /// /// C# - /// + /// /// Imap4Client imap = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -1774,9 +1784,9 @@ public string EndUidTextPeek(IAsyncResult result) /// int uid = inbox.Fetch.Uid(1); /// inbox.Close(); /// imap.Disconnect(); - /// + /// /// VB.NET - /// + /// /// Dim imap As New Imap4Client /// imap.Connect("mail.myhost.com") /// imap.Login("jdoe1234","tanstaaf") @@ -1784,9 +1794,9 @@ public string EndUidTextPeek(IAsyncResult result) /// Dim uid As Integer = inbox.Fetch.Uid(1); /// inbox.Close() /// imap.Disconnect() - /// + /// /// JScript.NET - /// + /// /// var imap:Imap4Client = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -2159,22 +2169,18 @@ public string EndPartialTextStringPeek(IAsyncResult result) /// /// The complete mail server response /// - public string Response { - get { return _response; } - } + public string Response { get; private set; } /// /// The complete mail server response (binary) /// - public byte[] BinaryResponse { - get { return _binaryResponse; } - } + public byte[] BinaryResponse { get; private set; } /// /// The Fetch's parent mailbox. /// public Mailbox ParentMailbox { get; set; } - + #endregion } } \ No newline at end of file