public void EmailMessages_ProcessRawEmailMessageIn_InvalidBoundaries() { string strRawEmail = @"From: John Doe <*****@*****.**> To: Mary Smith <*****@*****.**> Subject: Saying Hello Date: Thu, 11 Feb 2016 06:58:09 CST Message-ID: <*****@*****.**> Content-Type: multipart/mixed; boundary=""B1"" This is a multi-part message in MIME format. --B1 Content-Type: multipart/alternative; boundary=""B12"" MIME-Version: 1.0 --B12 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hello from Argentina! --B12 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit This is a message just to say hello. So, ""Hello"". --B12-- --B1 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=""map_of_Argentina.gif"" R01GOD1hJQA1AKIAAP/////78P/omn19fQAAAAAAAAAAAAAAACwAAAAAJQA1AAAD7Qi63P5w wEmjBCLrnQnhYCgM1wh+pkgqqeC9XrutmBm7hAK3tP31gFcAiFKVQrGFR6kscnonTe7FAAad GugmRu3CmiBt57fsVq3Y0VFKnpYdxPC6M7Ze4crnnHum4oN6LFJ1bn5NXTN7OF5fQkN5WYow BEN2dkGQGWJtSzqGTICJgnQuTJN/WJsojad9qXMuhIWdjXKjY4tenjo6tjVssk2gaWq3uGNX U6ZGxseyk8SasGw3J9GRzdTQky1iHNvcPNNI4TLeKdfMvy0vMqLrItvuxfDW8ubjueDtJufz 7itICBxISKDBgwgTKjyYAAA7 --B1--"; EmailMessage emailMessage = null; try { emailMessage = EmailMessages.ProcessRawEmailMessageIn(strRawEmail, 0, EmailAddressT.CreateEmailAddress(emailUserName: "******"), false); } catch (Exception ex) { Assert.Fail(ex.Message); } Assert.IsNotNull(emailMessage.Attachments); Assert.AreEqual(emailMessage.Attachments.Count, 1); }
public void EmailMessages_ProcessRawEmailMessageIn_UndisclosedRecipients_NoRecipients() { string emailUserName = "******"; string strRawEmail = @"From: John Doe <*****@*****.**> Subject: Saying Hello Date: Sat, 1 Nov 1997 09:55:06 -0600 Message-ID: <*****@*****.**> This is a message just to say hello. So, ""Hello""."; EmailMessage emailMessage = null; try { emailMessage = EmailMessages.ProcessRawEmailMessageIn(strRawEmail, 0, EmailAddressT.CreateEmailAddress(emailUserName: emailUserName), false); } catch (Exception ex) { Assert.Fail(ex.Message); } Assert.AreEqual(emailUserName, emailMessage.BccAddress); //We have specific code to fake a BCC with the current emailUserName. }
public void EmailMessages_ProcessRawEmailMessageIn_DateSingleDigitHour() { string strRawEmail = @"From: John Doe <*****@*****.**> To: Mary Smith <*****@*****.**> Subject: Saying Hello Date: Sat, 1 Nov 1997 9:55:06 -0600 Message-ID: <*****@*****.**> This is a message just to say hello. So, ""Hello""."; EmailMessage emailMessage = null; try { emailMessage = EmailMessages.ProcessRawEmailMessageIn(strRawEmail, 0, EmailAddressT.CreateEmailAddress(emailUserName: "******"), false); } catch (Exception ex) { Assert.Fail(ex.Message); } Assert.AreEqual(new DateTime(1997, 11, 1, 15, 55, 06), emailMessage.MsgDateTime.ToUniversalTime()); //The time "09:55:06 -0600" is "15:55:06" UTC. }
public void EmailMessages_ProcessRawEmailMessageIn_UndisclosedRecipients_ExtraSpace() { string strRawEmail = @"From: John Doe <*****@*****.**> To: undisclosed-recipients: ; Bcc: Mary Smith <*****@*****.**> Subject: Saying Hello Date: Sat, 1 Nov 1997 09:55:06 -0600 Message-ID: <*****@*****.**> This is a message just to say hello. So, ""Hello""."; EmailMessage emailMessage = null; try { emailMessage = EmailMessages.ProcessRawEmailMessageIn(strRawEmail, 0, EmailAddressT.CreateEmailAddress(emailUserName: "******"), false); } catch (Exception ex) { Assert.Fail(ex.Message); } Assert.AreEqual(emailMessage.ToAddress, ""); }
public void EmailMessages_ProcessRawEmailMessageIn_DateTimeZoneAbbreviation() { string strRawEmail = @"From: John Doe <*****@*****.**> To: Mary Smith <*****@*****.**> Subject: Saying Hello Date: Thu, 11 Feb 2016 06:58:09 CST Message-ID: <*****@*****.**> This is a message just to say hello. So, ""Hello""."; EmailMessage emailMessage = null; try { emailMessage = EmailMessages.ProcessRawEmailMessageIn(strRawEmail, 0, EmailAddressT.CreateEmailAddress(emailUserName: "******"), false); } catch (Exception ex) { Assert.Fail(ex.Message); } //The abbreviated time zone is not supported by DateTime.ParseExact so do not assert the UTC version of emailMessage.MsgDateTime. Assert.AreEqual(new DateTime(2016, 02, 11, 06, 58, 09), emailMessage.MsgDateTime); }