2010-03-01 27 views
5

Quiero enviar correo a cualquier dirección de correo electrónico, cómo hacerlo con C#. estoy trabajando en el host local.cómo enviar correo usando C#?

+1

Ppsslbe duplicado de http://stackoverflow.com/questions/449887/sending-e-mail-using-c – Dykam

+0

Google it !!!!!! – Faruz

+3

+1 por tomarse su tiempo para aceptar respuestas :) –

Respuesta

8
System.Net.Mail.MailMessage message=new System.Net.Mail.MailMessage(
       new MailAddress(EmailUsername), new MailAddress("toemailaddress")); 

message.Subject = "Message Subject"; // E.g: My New Email 
message.Body = "Message Body";   // E.g: This is my new email ... Kind Regards, Me 

Para la parte SMTP, también se puede utilizar SmtpClient:

SmtpClient client = new SmtpClient(ServerIP); 
client.Credentials = new System.Net.NetworkCredential(EmailUsername, EmailPassword); 
client.Send(message); 

Por favor considerar la aceptación de algunas respuestas. Una tasa aceptada del 0% no es excelente.


Editado para corregir los errores tontos. Me sirve bien para no verificar el código primero.

+1

'System.Web.Mail' ha quedado obsoleto. –

+1

Muy bien, cambiado a System.Net, gracias. –

+0

La propiedad 'To' es una colección, y' From' no es una cadena. –

4

Puede usar la clase SmtpClient y llamar al Send (o SendAsync) con una instancia MailMessage. Ambas clases están en el espacio de nombre System.Net.Mail.

default constructor de SmtpClient usa configuration desde su aplicación/web.config, pero puede usar other constructors para especificar la configuración de SMTP que desea.

// using System.Net.Mail; 

SmtpClient client = new SmtpClient(); 

MailMessage mm = new MailMessage() 
{ 
    Subject = "Subject here", 
    Body = "Body here" 
}; 

mm.To.Add("[email protected]"); 
mm.From = new MailMessage("[email protected]"); 

client.Send(mm); 
+0

+1 para señalar las cargas en mi respuesta. Ordenado ahora –

2

acaba de añadir que, hay un sitio web muy bien, con todo lo que debe saber sobre System.Net:Mail espacio de nombres

se llama:

http://www.SystemNetMail.com/

espero que ayude a alguien como si me ha estado ayudando desde entonces :)

+0

Solo quería decir gracias por el enchufe. Siempre aprecio encontrarme con otros desarrolladores que disfrutaron de mi sitio. ¡Gracias! Dave. –

0

Si está utilizando ASP.Net MVC Yo recomendaría que usted tiene un vistazo a MvcMailer

0

Prueba esto ...

public static void Send(string pFrom, string pSubject, string pTo, string pBody) 
{ 
    System.Net.Mail.MailMessage loMail = new System.Net.Mail.MailMessage(); 
    System.Net.NetworkCredential loCredencial = new System.Net.NetworkCredential(MAIL_USERNAME, MAIL_PASSWORD); 
    loMail.To.Add(pTo); 
    loMail.Subject = pSubject; 
    loMail.From = new System.Net.Mail.MailAddress(pFrom); 
    loMail.IsBodyHtml = true; 
    loMail.Body = pBody; 
    System.Net.Mail.SmtpClient loSmtp = new System.Net.Mail.SmtpClient(MAIL_SMTP); 
    loSmtp.UseDefaultCredentials = false; 
    loSmtp.Credentials = loCredencial; 
    loSmtp.Port = MAIL_PORT; 
    loSmtp.Send(loMail); 
} 
0

Este es el envío de correo electrónico con datos adjuntos

using System.Net; 
using System.Net.Mail; 

public void email_send() 
{ 
    MailMessage mail = new MailMessage(); 
    SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); 
    mail.From = new MailAddress("your [email protected]"); 
    mail.To.Add("[email protected]"); 
    mail.Subject = "Test Mail - 1"; 
    mail.Body = "mail with attachment"; 

    System.Net.Mail.Attachment attachment; 
    attachment = new System.Net.Mail.Attachment("c:/textfile.txt"); 
    mail.Attachments.Add(attachment); 

    SmtpServer.Port = 587; 
    SmtpServer.Credentials = new System.Net.NetworkCredential("your [email protected]", "your password"); 
    SmtpServer.EnableSsl = true; 

    SmtpServer.Send(mail); 
} 
Cuestiones relacionadas