2011-02-17 15 views
9

He estado escribiendo un montón de código de correo electrónico últimamente y se me ocurrió que sería genial si hubiera una biblioteca que te permitiera crear con fluidez un correo electrónico en C#.¿Existe una biblioteca de correo electrónico con fluidez para C#?

He echado un vistazo rápido pero no he podido encontrar nada, por lo que me preguntaba si alguien sabía si existía una biblioteca de correo electrónico con fluidez que ya existía para C#?

+2

¿Qué quiere decir por fluidez? ¿Es System.Net.Mail demasiado difícil de usar para ti? Por supuesto, puede crear su propia clase que la envuelva y que sea más fácil y simple de usar ... –

+4

Creo que quiere algo como: Enviar (mensaje) .A (destinatario) .Y (destinatario2) .De (remitente). Ahora(); – Phill

Respuesta

6

que acabamos encontrando este en GitHub, que hace lo que quiero bastante bien

https://github.com/dkarzon/FluentEmail

también tiene la ventaja añadida de permitir que las plantillas que se pueden utilizar de este modo:

var email = Email 
      .From("[email protected]") 
      .To("[email protected]", "bob") 
      .Subject("hows it going bob") 
      .UsingTemplate(@"C:\Emailer\TransactionTemplate.htm") 
      .Replace("<%CurrentDate%>", DateTime.Now.ToShortDateString()) 
      .Replace("<%FullName%>", fullName) 
      .Replace("<%SaleDate%>", saleDate) 
3

Se puede extraer de mi Mail.dll email component:

Mail.Html(@"Html with an image: <img src=""cid:lena="""" />") 
    .AddVisual(@"c:\lena.jpeg").SetContentId("lena") 
    .AddAttachment(@"c:\tmp.doc").SetFileName("document.doc") 
    .To("[email protected]") 
    .From("[email protected]") 
    .Subject("Subject") 
    .SignWith(new X509Certificate2("SignCertificate.pfx", "")) 
    .EncryptWith(new X509Certificate2("EncryptCertificate.pfx", "")) 
    .EncryptWith(new X509Certificate2("BobsCertificate.pfx", "")) 
    .UsingNewSmtp() 
    .Server("smtp.example.com") 
    .Send(); 

No es gratuito y sin embargo interfaz fluida es sólo azúcar sintáctico.

1

Mi Clase: D http://www.mediafire.com/download/m7oua8gf4ject8m/Mail.cs

de usar:

using Mailling; 

    MailController m = new MailController("username", "password"); 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     //Gett Mails 
     List<Mail> mails = m.GetAllMails(); 
     foreach (Mail item in mails) 
     { 
      MessageBox.Show("From : "+item.From+"\n"+"Title: "+item.Title+"\n"+"Summary : "+item.Summary); 
     } 

     //SendMail 
     m.SendMail("username", "password", "title", "summary"); 

    } 
Cuestiones relacionadas