示例#1
0
        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);
        }
示例#2
0
        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.
        }
示例#3
0
        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.
        }
示例#4
0
        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, "");
        }
示例#5
0
        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);
        }