C# може да изпраща имейли с .NET Framework доста лесно, особено чрез протокола SMTP. Протоколът SMTP е често използван начин за изпращане на имейли.
Тъй като за изпращането на SMTP имейли е необходим SMTP сървър, вероятно е най-лесно да използвате сървъра на Gmail на Google. Така ще ви е необходим акаунт в Gmail, чието създаване е лесно и безплатно. След като имате акаунт в Gmail, изпращането на SMTP имейли с C# е лесно. Трикът е да използвате пространството от имена System.Net.Mail вместо System.Web.Mail. Второто пространство от имена беше заменено от System.Net, като се започне от .NET Framework 2.0.
Но какво трябва да направите, за да се свържете със сървъра на Google? Нуждаете се от няколко елемента информация. Първата е, че адресът на SMTP сървъра на Gmail е smtp.gmail.com. Второто нещо, което трябва да знаете, е, че приложението C# трябва да се свърже през порт 587. Откъде знаем това? Информацията се предоставя свободно на разработчиците от Google. Другите SMTP сървъри също предоставят свой собствен адрес и порт, с които да се свързвате.
Все пак има още нещо - повечето SMTP сървъри се нуждаят от удостоверяване, за да изпращат имейли. Тук се намесва акаунтът в Gmail. Използвайки класа NetworkCredential .NET, посочете потребителското си име и парола. Това ще удостовери връзката ви със сървъра. Само се уверете, че потребителското ви име включва @gmail.com.
Всичко се обработва чрез класа SmtpClient. Класът капсулира някои доста мощни функции, включително добавяне на прикачени файлове и изпращане на HTML имейли. HTML имейлите са имейли, които са написани с HTML код и се показват като уеб страници. Въпреки че това зависи от клиента за електронна поща, повечето клиенти могат да четат HTML имейли без проблем, което позволява на вашето приложение C# да изпраща имейли с изображения и форматиран текст. Класът SmtpClient също така позволява на разработчиците да добавят заглавия, които могат да настроят фино поведението на имейлите. Все пак имайте предвид, че някои SMTP сървъри, като този на Google, ще игнорират определени заглавия и ще използват само информацията от вашия акаунт. Например задаването на полето From (От) на нещо друго ще бъде игнорирано от GMail, който автоматично ще зададе полето From (От) на вашия имейл адрес.
Накрая се уверете, че SSL е активиран в приложението C#. SSL е протокол за криптиране и е абсолютно необходим, в противен случай сървърът на Gmail няма да приеме връзката ви.
