Merhaba arkadaşlar. Bu yazımda bir dersten daha çok öneri ve tavsiyelere yer vermek istedim. Çünkü C# Mail Gönderme Sorunları ve Tavsiyeler üzerine çok fazla mail aldım. Bende gelen bu maillerde bahsedilen sorunlar hakkında bir yazı yazmak istedim.
C# Mail Göndermede Sorunları ve Tavsiyeler
C# ile projeler geliştirirken en sık gerek duyduğumuz şeyler arasında geliyor mail gönderme işlemi. Ancak ne varki bir çok sıkıntıyı da beraberinde getiriyor. Bu yazımda kolaylıkla mail gönderme işlemlerini yapabileceksiniz ve yaşadığınız hataları kısa sürede fark edebileceksiniz.
E-Mail ile ilgili derslerimi aşağıya bırakıyorum…
Hatta eğitim setimdeki Hata Çözümleri başlığı altında C# Mail Gönderme Hatası Çözümü ve X509 Sertifikası şöyle bir yazımda var. Gerçi bu durum biraz extrem bir durum diyebilirim. Bu hata ile şimdiye kadar bir kere karşılaştım.
Bu Yazının İçeriği
EnableSSL Sorunu
Gmail ve Hotmail sistemleri bu özellik True olmadığı sürece mailleri iletmiyor. İletse bile direk spam’a düşürüyor. Bu özellik sayesinde maillerin güvenli olduğuna dair işaretliyorsunuz. Mailleriniz gitmiyor ise bu özelliği kontrol edin.
Mail içinde bir alt satıra inememe sorunu (IsBodyHtml)
C# ‘ta bir alt satıra inmek için \n yada Environment.NewLine kullanırız. Ancak mail gönderirken hazırladığımız Body içinde bunları kullandığımızda alt satıra inmediğini görürüz. Bunun sebebi ise IsBodyHtml özelliğinin True olmasıdır. Burada Body’nin yani mail içeriğinin bir HTML formatında olduğunu söylüyoruz. Böyle bir durumda alt satıra geçmek için <br/> HTML etiketini kullanmalıyız. <br/> HTML’de alt satıra geçmeyi sağlar.
Burada söylemek istediğim bir şey daha var. IsBodyHtml True olarak kullanmanızı tavsiye ederim. Bu şekilde mail içeriğini HTML komutları ile renklendirebilir, şekillendirebilirsiniz. Göndereceğiniz mail de anlatılmak isteneni aha net vurgulayabilirsiniz.
C# Mail Gönderme POP3? IMAP?
C# Mail gönderme işlemlerinde bunu seçebileceğiniz bir özellik yok. Bu durum System.Net.Mail.SmtpClient sınıfına gönderdiğiniz Port ve Host adına göre belirlenir.
Buradan Gmail için POP3 mail ayarlarına ulaşabilirsiniz.
Buradan Gmail için IMAP mail ayarlarına ulaşabilirsiniz.
Buradan Hotmail için POP3 mail ayarlarına ulaşabilirsiniz.
Buradan Hotmail için IMAP mail ayarlarına ulaşabilirsiniz.
POP3 = Bu şekilde gönderilen mailler kurulan her posta kutusuna gider. Birinden sildiğinizde diğerlerinden silinmez. Örn hem bilgisayarda hem telefonda kullanıyorsanız. Hem telefondan hem bilgisayardan silmeniz gerekir. Asenkron bir standarttır. Gerçi artık bu pop3 standardı pek kullanılmıyor.
IMAP= Senkron bir standarttır. Gönderilen mail kurulan tüm posta kutularında görünür. Birinden sildiğiniz mail tüm posta kutularından silinir.
Yukarıda verdiğim bağlatılardaki bilgiler ile mail gönderme kondlarınızdaki bilgileri karşılaştırın. Diğer mail sistemleri için (örneğin hosting firmalarının sunduğu mail hizmetleri) hosting firması ile iletişime geçebilirsiniz.
C# STMPClients UseDefaultCredentials
C# Mail gönderme işlemlerine yapılan diğer hata bu özelliğin True olarak ayarlanmasıdır. Bu özellikle biz varsayılan olarak kimlik tanıma yapmayıp bilgilerimizi kendimiz göndereceğimizi belirtiyoruz. Bu kısımda önemlidir. Maillerinizin gitmemesindeki sebep bu özelliğin True olarak ayarlanmış olması olabilir. Bu özellik hakkında daha ayrıntılı bilgi için buraya tıklayabilirsiniz.
Gmail “Daha az güvenli uygulama erişimi” Açık değildir.
Gmail kullanıyorsanız, buraya tıklayıp mail göndermek istediğiniz adresi kontrol edin. Eğer mail göndermek istediğiniz mail adresinin daha az güvenli uygulama erişimi kapalı ise mailler gitmiyor olabilir. Bu özellik eğer kapalı ise Açık olarak değiştirmelisiniz.
Sertifika Hatası
Bu hatanın çözümü içeren dersimi zaten yukarıda eklemiştim. O yazıma bakarak sertifika hatasını giderebilirsiniz.
C# Mail Gönderme Sorunları ve Tavsiyeler yazımda bu kadar arkadaşlar.
Derslerim gerçekten işinize yarıyorsa, gerçekten faydasını görüyorsanız bir teşekkür yorumu atarak ve yazılarımı sosyal medyada paylaşarak ya da çevrenize tavsiye ederek daha çok kişiye ulaşmamızı sağlayabilirsiniz. Böylece daha çok kişiye ulaşabiliriz. Zaten siteme ulaşıp ve bana mail atan arkadaşlar elimden geldiğince yardımcı olmaya çalıştığımı biliyorlar.
Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz… Bu dersimde github projemde yerini almıştır.
Hiçbir yerde bulamayacağınız kaliteli dersler için Takipte ve Sağlıcakla kalın.