C# voi lähettää sähköposteja .NET Frameworkin avulla melko helposti, erityisesti SMTP-protokollan kautta. SMTP-protokolla on yleinen tapa lähettää sähköposteja.
Koska SMTP-sähköpostin lähettäminen edellyttää SMTP-palvelinta, on luultavasti helpointa käyttää Googlen Gmail-palvelinta. Tarvitset siis Gmail-tilin, jonka luominen on helppoa ja ilmaista. Kun sinulla on Gmail-tili, SMTP-sähköpostien lähettäminen C#:llä on helppoa. Temppu on käyttää System.Net.Mail-nimiavaruutta System.Web.Mailin sijaan. Toinen nimiavaruus korvattiin System.Netillä .NET Framework 2.0:sta alkaen.
Mutta miten voit muodostaa yhteyden Googlen palvelimeen? Tarvitset muutamia tietoja. Ensimmäinen on, että Gmailin SMTP-palvelimen osoite on smtp.gmail.com. Toiseksi sinun on tiedettävä, että C#-sovelluksen on muodostettava yhteys portin 587 kautta. Mistä tiedämme tämän? Google antaa tiedot kehittäjille vapaasti. Myös muut SMTP-palvelimet tarjoavat oman osoitteensa ja porttinsa, johon yhteys muodostetaan.
On kuitenkin vielä yksi asia, sillä useimmat SMTP-palvelimet tarvitsevat todentamista sähköpostien lähettämiseen. Tässä kohtaa Gmail-tili tulee kuvaan mukaan. Määritä käyttäjätunnus ja salasana NetworkCredential .NET-luokan avulla. Tämä todentaa yhteyden palvelimeen. Varmista vain, että käyttäjätunnuksesi sisältää @gmail.com.
Kaikki hoidetaan SmtpClient-luokan kautta. Luokka kapseloi joitakin melko tehokkaita toimintoja, kuten liitetiedostojen lisäämisen ja HTML-sähköpostien lähettämisen. HTML-sähköpostiviestit ovat sähköpostiviestejä, jotka on kirjoitettu HTML-koodilla ja jotka näytetään verkkosivujen yhteydessä. Vaikka se riippuu sähköpostiohjelmasta, useimmat asiakkaat osaavat lukea HTML-sähköposteja ongelmitta, jolloin C#-sovelluksesi voi lähettää sähköposteja, joissa on kuvia ja muotoiltua tekstiä. SmtpClient-luokan avulla kehittäjät voivat myös lisätä otsikoita, joilla voidaan hienosäätää sähköpostien käyttäytymistä. Huomaa kuitenkin, että jotkin SMTP-palvelimet, kuten Googlen palvelin, jättävät tietyt otsikot huomiotta ja käyttävät vain tilisi tietoja. Esimerkiksi GMail ei huomioi From-kentän asettamista joksikin muuksi, vaan se asettaa automaattisesti From-kentäksi sähköpostiosoitteesi.
Varmista lopuksi, että SSL on käytössä C#-sovelluksessa. SSL on salausprotokolla, ja se on ehdottoman välttämätön, tai Gmailin palvelin ei hyväksy yhteyttäsi.
