Loading Likes...
Wysyłka wiadomości e-mail jest jedną z najczęstszych form kontaktu pomiędzy firmą a klientem. Nic dziwnego, gdyż jest to bardzo wygodne, szybkie oraz darmowe rozwiązanie.
Wiadomości e-mail wysyła się za pomocą protokołu SMTP (Simple Mail Transfer Protocol). Zdefiniowana w przestrzeni nazw System.Net.Mail klasa SmtpClient umożliwia nam korzystanie z wcześniej wspomnianego protokołu.
W celu wysłania prostej wiadomości, musimy utworzyć egzemplarz klasy SmtpClient, określić host, a następnie wywołać metodę Send(), z odpowiednimi parametrami, bądź przekazać jej obiekt MailMessage.
Wielu dostawców hostingu umożliwia dostęp do poczty poprzez wykupioną domenę. Zawsze jednak można skorzystać z popularnego gmail‘a, dlatego też przykładowy kod będzie połączone z serwerem tego dostawcy. Aby połączyć się ze swoim kontem będziemy musięli określić host, port oraz podać dane dostępowe najwygodniej za pomocą klasy NetworkCredential z przestrzeni nazw System.Net
Okej, wiemy o najważniejszych kwestiach, teraz możemy napisać aplikację konsolową, która po uruchomieniu wyśle do nas wiadomość.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
using System; using System.Net; using System.Net.Mail; namespace wiedza_SmtpClient { class Program { static void Main(string[] args) { using (SmtpClient client = new SmtpClient()) { //podajemy dane dostępowe var credential = new NetworkCredential { UserName = "nazwa@gmail.com", Password = "hasło" }; client.Credentials = credential; //host oraz port poczty, //dostawca udostępnia nam te dane client.Host = "smtp.gmail.com"; client.Port = 587; client.EnableSsl = true; //tworzymy wiadomość var message = new MailMessage(); //dodajemy odbiorców message.To.Add(new MailAddress("adres e-mail")); //podajemy adres nadawcy message.From = new MailAddress("nazwa@gmail.com"); //Tytuł wiadomości message.Subject = "Tytuł nowej wiadomości"; message.Body = "Tekst wiadomości."; //Możemy uzyć znaczników html wewnątrz ciała wiadomości (parametr Body), w tym celu ustawiamy parametr na true message.IsBodyHtml = true; //Opcjonalnie możemy również dodać załącznik //Attachment a = new Attachment("zdjecie.jpg", System.Net.Mime.MediaTypeNames.Image.Jpeg); //message.Attachments.Add(a); client.Send(message); Console.WriteLine("Wiadomość została wysłana."); } Console.ReadKey(); } } } |
Po uruchomieniu aplikacji otrzymaliśmy:
|
Wiadomosc zostala wyslana. |
A na wskazany adres e-mail doszła nowa wiadomość:

Pasjonat informatyki, bloger.
Full-stack Developer
Technologie:
- ASP.NET MVC
- ASP.NET CORE
- Angular 2+