Esempio n. 1
0
		public void TestGetFirstMessageWithMediaTypeMultiPartFindMultiPartMediaTypeWithMultipleHTML()
		{
			const string rfcExample =
				"From: Nathaniel Borenstein <*****@*****.**>\r\n" +
				"To: Ned Freed <*****@*****.**>\r\n" +
				"Date: Sun, 21 Mar 1993 23:56:48 -0800 (PST)\r\n" +
				"Subject: Sample message\r\n" +
				"MIME-Version: 1.0\r\n" +
				"Content-type: multipart/mixed; boundary=\"simple boundary\"\r\n" +
				"\r\n" +
				"--simple boundary\r\n" +
				"Content-type: multipart/mixed; boundary=\"anotherBoundary\"\r\n" +
				"\r\n" +
				"--anotherBoundary\r\n" +
				"\r\n" +
				"TEXT\r\n" +
				"--anotherBoundary\r\n" +
				"Content-Type: text/html; charset=us-ascii\r\n" +
				"\r\n" +
				"HTML\r\n" +
				"--anotherBoundary--\r\n" +
				"--simple boundary\r\n" +
				"Content-type: text/html; charset=ISO-8859-1\r\n" +
				"\r\n" +
				"MORE HTML\r\n" +
				"--simple boundary--";

			OPMessage message = new OPMessage(Encoding.ASCII.GetBytes(rfcExample));

			MessagePart part = message.FindFirstMessagePartWithMediaType("text/html");

			Assert.NotNull(part);
			Assert.IsFalse(part.IsMultiPart);
			Assert.AreEqual("text/html", part.ContentType.MediaType);
			Assert.AreEqual("HTML", part.GetBodyAsText());
		}
Esempio n. 2
0
		public void TestGetFirstMessageWithMediaTypeSimpleNotFound()
		{
			const string rfcExample =
				"Content-type: text/plain; charset=us-ascii\r\n" +
				"\r\n" +
				"This is explicitly typed plain US-ASCII text";

			OPMessage message = new OPMessage(Encoding.ASCII.GetBytes(rfcExample));

			MessagePart part = message.FindFirstMessagePartWithMediaType("text/html");

			// We should not be able to find such a MessagePart
			Assert.Null(part);
		}
Esempio n. 3
0
		public void TestGetFirstMessageWithMediaTypeSimpleFoundHTML()
		{
			const string rfcExample =
				"Content-type: text/html; charset=us-ascii\r\n" +
				"\r\n" +
				"This is explicitly typed plain US-ASCII HTML text";

			OPMessage message = new OPMessage(Encoding.ASCII.GetBytes(rfcExample));

			MessagePart part = message.FindFirstMessagePartWithMediaType("text/html");

			Assert.NotNull(part);
			Assert.AreEqual("text/html", part.ContentType.MediaType);
			Assert.AreEqual("us-ascii", part.ContentType.CharSet);
			Assert.AreEqual(Encoding.ASCII, part.BodyEncoding);
			Assert.AreEqual("This is explicitly typed plain US-ASCII HTML text", part.GetBodyAsText());
		}
Esempio n. 4
0
		/// <summary>
		/// Example showing:
		///  - how to find a MessagePart with a specified MediaType
		///  - how to get the body of a MessagePart as a string
		/// </summary>
		/// <param name="message">The message to examine for xml</param>
		public static void FindXmlInMessage(OPMessage message)
		{
			MessagePart xml = message.FindFirstMessagePartWithMediaType("text/xml");
			if (xml != null)
			{
				// Get out the XML string from the email
				string xmlString = xml.GetBodyAsText();

				System.Xml.XmlDocument doc = new System.Xml.XmlDocument();

				// Load in the XML read from the email
				doc.LoadXml(xmlString);

				// Save the xml to the filesystem
				doc.Save("test.xml");
			}
		}