The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required error

” The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required” hatası mail gönderimi sırasında authentication sağlanamamasından kaynaklanan bir hatadır.

Daha önce .net de mail gönderimi ile ilgili Mail Gönderme yazısını paylaşmıştım. Mail gönderiminin nasıl yapıldığı için yazıya bakılabilir.

Bu hata aşağıdaki hatalardan kaynaklı olabilir. Genelde 3. seçenek çözüm olacaktır. Ben bu şekilde çözdüm en azından 🙂

  1. Gmail hesabı kullanıcı adı ve şifresinin yanlış girilmesi
  2. SSL ayarlarının true yapılmamış olmaması. EnableSsl = true; olması gerekmektedir. Yukarıda bahsettiğim yazıda örnek kullanımı mevcuttur.
  3. Less Secure Apps Settings    Ben bu adımda hata yaşamıştım. Gmail güvenlik sebebiyle daha az güvenli uygulamalara erişim için izin vermiyor. Erişim yapmaya .alıştığınızda mail adresinize bu durumu bildiren bir mail geliyor. Mavi ile belirtilen kısımdaki linke tıklayarak ayarın yapıldığı sayfaya gidebilirsiniz. Capturemail  Link aşaüıdaki sayfaya yönlendirecektir. Aşağıdaki şekilde ayarı açarak bu hatayı geçebilirsiniz.Capturemail2
  4. Uygulama Lokasyonundan Erişim  Gmailinizin o lokasyondan erişilebiliyor olması gerekir.

 

 

Advertisements

Karşılaşılan Hatalar

The specified -35628-   port is in used.  hatası : Bu hata IIS Express’in başka projeler için çalıştırıldığını gösterir. Bunun için çalıştırılan projeyi durdurmak gerekir. Hangi projelerin IIS Express üzerinde çalıştığını görmek için FILE -> Open -> Web Site dediğinizde karşınıza çıkan pencerede Local IIS kısmını kontrol edebilirsiniz. Burada ki çalışmaları durdurduğunuzda hatayı geçmiş olacaksınız.

enter image description here

 

VS  invalid token ‘using’ in class struct or interface member declaration   error :

Bu hatanın sebebi tırnak içerisindeki ifadenin bir metod içerisinde yer alınmamasıdır. İfade metod içerisinde doğru syntax ile yazıldığında hata geçilecektir.

 

CS0433: The type ‘ASP.global_asax’ exists in both ‘c:\windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\fa3cb89b\2b019286\assembly\dl3\1697fe05\5259d9ff_b5e6d101\App_global.asax.DLL’ and ‘c:\windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\fa3cb89b\2b019286\App_global.asax.gq6hfbr1.dll’   

Siteyi publish edip filezilla ile yükledikten sonra browserda karşınıza bu hata gelmesi halinde bin klasörünün altında App_global.asax.compiled dosyasını silerek hatayı geçebilirsiniz. En azından ben bu şekilde geçtim 🙂

An exception of type ‘System.Threading.ThreadAbortException’ occurred in mscorlib.dll and wasn’t handled before a managed/native boundary  : 

Tools -> Options -> Debugging -> General -> menüsünün altında ki Break when exceptions cross AppDomain or managed/native boundaries seçeneğinde ki check’i kaldırmanız halinde hata düzelecektir.

Hatalar ve Çözümleri

MVC : Entity ‘de bir değişiklik yapıp kaydetmeye çalıştığımızda ” Validation failed for one or more entities. See ‘EntityValidationErrors’ property for more details ” şeklinde bir hata alıyorsak  en olası sebebi şunlar olabilir  :

  1. Veritabanında (database) NULL olamaz olarak yapılandırılmış (Allow Nulls işareti kaldırılmış) bir alana NULL değer girmeye çalışmak
  2. Belirtilen üst sınır dışında veri giriyi yapmaya çalışmak, örneğin, nvarchar(5) olan bir alana 5 karakterden uzun veri girişi yapmaya çalışmak.

Çözüm olarak try catch bloğunda

catch (DbEntityValidationException e)
{
     foreach (var eve in e.EntityValidationErrors)
     {
           Response.Write(string.Format("Entity türü \"{0}\" şu hatalara sahip \"{1}\" Geçerlilik hataları:", eve.Entry.Entity.GetType().Name, eve.Entry.State));
       foreach (var ve in eve.ValidationErrors)
       {
         Response.Write(string.Format("- Özellik: \"{0}\", Hata: \"{1}\"", ve.PropertyName, ve.ErrorMessage));
        }
         Response.End();
         }



şeklinde bir kod parçasıyla hangi property’den dolayı hata alındığını görebiliriz.

C#  :  System.InvalidCastException: Specific cast is not valid (Belirtilen atama geçerli değil ) hatası : Bu hata iletilecek datanın beklenen şekilde alınmadığı ya da atandığı datatable, list vs. ile uyumlu olmadığından dolayı verilebiliyor. Bu hatayla entity’de sp’den aldığım datayı datatable atarken aldım. Sp’nin döndüğü cursor’u kontrol ettiğimde bir kolonun , den sonraki ondalık kısım da uzun bir rakamlar dizisi geldiğini gördüm. Round ile kolonun 3 haneli gelmesini sağlayınca hata düzeldi.

SQL :String or binary data would be truncated : Bu hata tabloya insert etmek ettiğiniz kayıttan dolayı alınabilir. Insert edilen kolonun length’i ile gelen data genişliği uyuşmamaktadır. Kolon length’i arttırılabilir.

MVC : Httpcontext current does not contain a definition hatası : Sebebi Controlller class’ı da HTTPCOntext isimli bir property’ye sahiptir. Buradaki HTTPContext’in altında Current property’si olmadığı için hata alınır.

HttpContext.Current kısmını System.Web.HttpContext.Current şeklinde değiştirmek gerekir.

Youtube – ERR_CONNECTION_TIMED_OUT hatası

Browserlarda youtube’a bağlanmak istediğinizde Connection time out uyarısı alıyorsanız bilgisayarınızın C:\Windows\System32\drivers\etc klasörünün altındaki hosts dosyasını notepad’de açarak en altta yazan 64.15.117.54  www.youtube.com satırını kaldırarak sorunu aşabilirsiniz.