2010-03-01 18 views
5

Chcę wysłać pocztę na dowolny adres e-mail, jak to zrobić, używając C#. pracuję nad hostem lokalnym.jak wysłać pocztę za pomocą C#?

+1

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

+0

Google it !!!!!! – Faruz

+3

+1 za poświęcenie czasu na zaakceptowanie odpowiedzi :) –

Odpowiedz

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 

Dla części SMTP, można również użyć SmtpClient:

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

Proszę rozważyć przyjmowanie niektórych odpowiedzi. Przyjęta stawka 0% nie jest duża.


Edytowany, aby naprawić głupie błędy. Odpowiada mi za to, że nie sprawdziłem najpierw kodu.

+1

'System.Web.Mail' został wycofany. –

+1

Całkiem po prawej, zmieniono na System.Net, dziękuję. –

+0

Właściwość 'To' jest zbiorem, a' From' nie jest łańcuchem. –

4

Można użyć klasy SmtpClient i wywołać Send (lub SendAsync) z instancją MailMessage. Obie te klasy znajdują się w przestrzeni nazw System.Net.Mail.

Aplikacja SmtpClient's default constructor używa configuration ze swojej aplikacji/web.config, ale można użyć ustawienia other constructors, aby określić żądane ustawienia SMTP.

// 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 za wskazanie rzeczy w mojej odpowiedzi. Posortowałem je teraz. –

2

tylko dodać, że jest to naprawdę bardzo miłe strona z wszystkim należy wiedzieć o System.Net:Mail nazw

to nazywa się:

http://www.SystemNetMail.com/

mam nadzieję, że pomoże to komuś, od kiedy mi pomaga :)

+0

Chciałam tylko podziękować za wtyczkę. Zawsze doceniam spotykanie się z innymi programistami, którym podobała się moja strona. Dzięki! Dave. –

0

Spróbuj tego ...

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

to wysłać e-mail z załącznikiem

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); 
} 
Powiązane problemy