void IEMailHelper.SendFileToEMail(string email, string title, string body, string filepath, Action <bool> completionHandler) { var message = new SMTPMessage(); message.From = "*****@*****.**"; message.To = email; message.Host = "smtp.gmail.com"; message.Account = "*****@*****.**"; message.Pwd = "2wsx4rfv8ik,"; message.Subject = title; message.Content = body; var attach = new SMTPAttachment(); attach.Name = @"note.pdf"; attach.FilePath = filepath; message.Attachments = new SMTPAttachment[] { attach }; message.Send(delegate(SMTPMessage msg, double current, double total) { // do nothing }, delegate(SMTPMessage msg) { completionHandler(true); }, delegate(SMTPMessage msg, Foundation.NSError error) { completionHandler(false); }); }
public SmtpEmail(SMTPMessage message) { this.message = message; header = new SmtpEmailHeader(message); var msg = new SharpMessage(new MemoryStream(Encoding.ASCII.GetBytes(message.Data)), SharpDecodeOptions.None); body = msg.Body.Trim(); }
public void BodyBase64() { SMTPMessage message = new SMTPMessage(); message.AddData(TEST_BODY_BASE64); SMTPMessagePart[] messageParts = message.MessageParts; Assert.AreEqual(0, messageParts.Length, "AttachmentCount"); Assert.AreEqual("attachment; filename=\"000000002.pdf\"", message.Headers["Content-Disposition"], "ContentDisposition"); }
public void BodyBase64() { var message = new SMTPMessage(); message.AddData(TEST_BODY_BASE64); SMTPMessagePart[] messageParts = message.MessageParts; Assert.AreEqual(0, messageParts.Length, "AttachmentCount"); Assert.AreEqual("attachment; filename=\"000000002.pdf\"", message.Headers["Content-Disposition"], "ContentDisposition"); }
public static IEmail ReadEmailFromFilePath(string path) { Assert.IsTrue(File.Exists(path)); string emailText = File.ReadAllText(path); SMTPMessage msg = new SMTPMessage(); msg.AddData(emailText); SmtpEmail email = new SmtpEmail(msg); return email; }
public void MessageHeaders() { SMTPMessage message = new SMTPMessage(); message.AddData(TEST_SINGLE_BASE64); Assert.AreEqual("from development02 (development02 [127.0.0.1]) by adexs.com (Eric Daugherty's C# Email Server) 4/16/2004 10:35:58 AM", message.Headers["Received"], "Received"); Assert.AreEqual("\"Eric Daugherty\" <*****@*****.**>", message.Headers["From"], "From"); Assert.AreEqual("CofAs", message.Headers["Subject"], "Subject"); Assert.AreEqual("Fri, 16 Apr 2004 10:35:55 -0500", message.Headers["Date"], "Date"); Assert.AreEqual("Produced By Microsoft MimeOLE V6.00.2800.1409", message.Headers["X-MimeOLE"], "X-MimeOLE"); }
public void MessageHeaders() { var message = new SMTPMessage(); message.AddData(TEST_SINGLE_BASE64); Assert.AreEqual( "from development02 (development02 [127.0.0.1]) by adexs.com (Eric Daugherty's C# Email Server) 4/16/2004 10:35:58 AM", message.Headers["Received"], "Received"); Assert.AreEqual("\"Eric Daugherty\" <*****@*****.**>", message.Headers["From"], "From"); Assert.AreEqual("CofAs", message.Headers["Subject"], "Subject"); Assert.AreEqual("Fri, 16 Apr 2004 10:35:55 -0500", message.Headers["Date"], "Date"); Assert.AreEqual("Produced By Microsoft MimeOLE V6.00.2800.1409", message.Headers["X-MimeOLE"], "X-MimeOLE"); }
public void DoubleBase64Attachment() { SMTPMessage message = new SMTPMessage(); message.AddData(TEST_DOUBLE_BASE64); SMTPMessagePart[] messageParts = message.MessageParts; Assert.AreEqual(2, messageParts.Length, "AttachmentCount"); Assert.AreEqual(ATTACHMENT_1_HEADER_DATA, messageParts[0].HeaderData, "AttachmentHeaderData1"); Assert.AreEqual(ATTACHMENT_1_BODY_DATA, messageParts[0].BodyData, "AttachmentBodyData1"); Assert.AreEqual("application/pdf; name=\"000000001.pdf\"", messageParts[0].Headers["Content-Type"], "AttachmentContentType1"); Assert.AreEqual("attachment; filename=\"000000001.pdf\"", messageParts[0].Headers["Content-Disposition"], "AttachmentContentDisposition1"); }
public void SingleBase64Attachment() { var message = new SMTPMessage(); message.AddData(TEST_SINGLE_BASE64); SMTPMessagePart[] messageParts = message.MessageParts; Assert.AreEqual(1, messageParts.Length, "AttachmentCount"); Assert.AreEqual(ATTACHMENT_1_HEADER_DATA, messageParts[0].HeaderData, "AttachmentHeaderData"); Assert.AreEqual(ATTACHMENT_1_BODY_DATA, messageParts[0].BodyData, "AttachmentBodyData"); Assert.AreEqual("application/pdf; name=\"000000001.pdf\"", messageParts[0].Headers["Content-Type"], "AttachmentContentType"); Assert.AreEqual("attachment; filename=\"000000001.pdf\"", messageParts[0].Headers["Content-Disposition"], "AttachmentContentDisposition"); }
public bool SpoolMessage(SMTPMessage message) { ServiceLocator.Current.Log.Information("Email encountered"); try { GvEmailHandler handler = new GvEmailHandler(); SmtpEmail email = new SmtpEmail(message); handler.HandleEmail(email); } catch (Exception ex) { // We can survive an Exception, since it only breaks this message's processing. Continue to strive for others. ServiceLocator.Current.Log.Warning("Exception in MessageSpool! " + ex.Message); } return true; }
public bool SpoolMessage(SMTPMessage message) { if (Manager.Current.Application.DebugMode) File.WriteAllText( string.Format("In.{0:yyyyMMddhhmmssfffffff}.msg", DateTime.Now), message.Data); ThreadPool.QueueUserWorkItem(x => { var netMessage = new MailMessage { From = new MailAddress( message.FromAddress.Address) }; foreach (var address in message.ToAddresses) netMessage.To.Add(new MailAddress(address.Address)); //foreach (var key in message.Headers.Keys.Cast<string>()) // netMessage.Headers[key] = message.Headers[key].ToString(); if (message.Headers.ContainsKey("Subject")) netMessage.Subject = message.Headers["Subject"].ToString(); if (message.Headers.ContainsKey("Sender")) netMessage.Sender = new MailAddress(message.Headers["Sender"].ToString()); if (message.Headers.ContainsKey("Reply-To")) netMessage.ReplyToList.Add(new MailAddress(message.Headers["Reply-To"].ToString())); var data = message.Data.Split(new[] {"\r\n\r\n"}, 2, StringSplitOptions.None); if (data.Length == 2) netMessage.Body = data[1]; if (netMessage.Body.EndsWith("\r\n\r\n")) netMessage.Body = netMessage.Body.Substring(0, netMessage.Body. Length - 4); _handleMessage(netMessage); }); return true; }
public void DataTest() { Socket socket = Connect(); CheckResponse(socket, "mail from:<user [email protected]>", "250"); CheckResponse(socket, "rcpt to:<*****@*****.**>", "250"); CheckResponse(socket, "data", "354"); WriteLine(socket, "Date: Tue, 4 Nov 2003 10:13:27 -0600 (CST)"); WriteLine(socket, "Subject: Test"); WriteLine(socket, ""); WriteLine(socket, "Message Body."); CheckResponse(socket, ".", "250"); Disconnect(socket); SMTPMessage message = messageSpool.NextMessage(); System.Console.WriteLine("Message Recieved: "); System.Console.Write(message.Data); }
public SmtpEmailHeader(SMTPMessage message) { this.message = message; }
/// <summary> /// Adds the message to the in memory queue. /// </summary> /// <param name='message'>The message to queue.</param> public virtual bool SpoolMessage(SMTPMessage message) { _queue.Enqueue(message); return true; }
/// <summary> /// Not Implemented. /// </summary> /// <remarks> /// Interface method from IMessageSpool. /// </remarks> /// <param name='message'>The message to spool.</param> public virtual bool SpoolMessage(SMTPMessage message) { string fileName = DateTime.UtcNow.Ticks.ToString(); while (System.IO.File.Exists(fileName)) { fileName = DateTime.UtcNow.Ticks.ToString(); } try { using (StreamWriter s = System.IO.File.CreateText(fileName)) { var serializer = new Serializer<SMTPMessage>(); var data = serializer.Serialize(message); s.Write(data); s.Flush(); s.Close(); return true; } } catch (Exception ex) { _log.Error("Can't spool message", ex); return false; } }
/// <summary> /// Not Implemented. /// </summary> /// <remarks> /// Interface method from IMessageSpool. /// </remarks> /// <param name='message'>The message to spool.</param> public virtual bool SpoolMessage( SMTPMessage message ) { throw new System.NotImplementedException(); }