2010-11-11 27 views
6

bir .NET sitesinde bir e-posta göndermeye çalışan, aşağıdaki hata ile karşılaştı ediliyor:Posta kutusu kullanılamıyor hata

Mailbox unavailable. The server response was: No such user here 

bu hata kodu etmiyor e-posta adresine göndermeye çalışıyor ise görünür mü Var mı?

Teşekkürler.

Artık bu hata hakkında daha fazla bilgi sahibiyim. E-postalar 'noreply @ [domain]' adresinden gönderilir. E-postalar aynı alanın bir e-posta adresine gönderildiğinde, e-postalar sorunsuz bir şekilde gönderilir. Bu hata, yalnızca gönderilmekte olan e-posta adresleri aynı alandan olmadığında görünür. Bunun herhangi bir kullanım olup olmadığını bilmiyorum?

cevap

0

Ben tam problemin emin değilim, ama sorun bir şeydi bulundu: ardındaki koduyla nasıl erişebileceğiniz g sunucu geçişi ile ilgili. Sorun şimdi çözüldü!

1

Bu smtp sorunu böyle web.config dosyasında SMTP sunucusu bilgisi ayarı

deneyin gibi geliyor:

<system.net> 
     <mailSettings> 
      <smtp deliveryMethod="Network"> 
       <network defaultCredentials="false" host="mail.blah.com" password="xxxx" port="25" userName="[email protected]"/> 
      </smtp> 
     </mailSettings> 
</system.net> 

Bu web.config bu bölümünü detaylandırma iyi bir yazıdır ve

http://dotnetslackers.com/Community/blogs/kaushalparik/archive/2008/09/06/accessing-web-config-file-smtp-mail-settings-programmatically.aspx

+1

Cevabınız için teşekkür ederiz - Bunun site olarak sorun olup olmayacağından emin değilim. Hata oluşmuş en az 2 yıl boyunca yayınlanmıştır ve e-postalar gönderilmeden önce bu hata mesajını hiç almadılar.Bu hata iletisinin başka bir nedeni olabilir mi? – Leah

9

Bu, NetworkCredentials ile bir etki alanı belirttiğinizde gerçekleşir. Bir etki alanı belirlerseniz (üçüncü bağımsız değişken), yalnızca o alandaki geçerli posta kutularına gönderebilirsiniz. Alanın dışındaki herhangi bir adrese gönderebilmek için onu dışarıda bırakın.

var client = new SmtpClient("smtp.server.com"); 
client.UseDefaultCredentials = false; 

// The following will be able to send to anyone outside the domain. 
client.Credentials = new NetworkCredential("user", "password"); 

// The following will only work when sending to users on server.com 
client.Credentials = new NetworkCredential("user", "password", "server.com"); 
+0

Hala işe yaramıyor –

3

2.0 platformundan 4.0'a geçtiğinizde bu durum oluşabilir. Burada açıklandığı gibi IIS'ye varsayılan kimlik bilgileri ve etki alanı kullanmadığınızı açıkça belirtmeniz gerekir. web.config'de aşağıdaki sözdizimini kullanın:

<network host="mail.younameit.com" port="25" 
userName="[email protected]" password="youchoose" 
defaultCredentials="false" clientDomain=""/> 

son iki parametre Bu sorunu gidermek için çok önemlidir.

5

Parolanız yanlış olabilir. Posta sunucusundaki parolayı sıfırlamak zorunda kaldım, sonra hata gitti.

+0

Bu benim için böyleydi. Ve neden 'Geçersiz kimlik bilgileri' veya 'Yetkilendirme başarısız' gibi bir şey almıyoruz? 'Böyle bir kullanıcı yok' ve alıcının e-posta adresi gerçekten kafa karıştırıcı. –

+0

Aynı problemim var ... ve şifre değiştirerek çözüldü – Ratul

1

Bu Q/A, benzer bir durumda benim için yararlı oldu. Bizim için anahtar gerçek, hata sadece farklı bir etki alanındaki e-posta adresleri için oluştu. Yeni webhost/mail sunucu kurulumumuzun bu şekilde kasten yapılandırıldığını öğrendim. (Aynı barındırma ortaklığına sahip bir öncekilerden biri değildi.) Bazı uygulama kodu veya Web.config ayarları kombinasyonu sorunumuzu çözmüş olabilir, ancak en doğrudan yol alan adımızda bir yanıtsız hesap oluşturmaktı. şimdi [email protected] geçerli ve dış adreslere gönderilmesine izin verildi.

Kodda veya Web.config'de herhangi bir değişiklik yapılması gerekmedi. İkincisi sadece "from" ve "host" olarak adlandırılır ve hosting ortamımızda kimlik bilgilerine gerek yoktur. (Nominalini "from" olarak değiştirdiğimizde, alanımızdaki numaralı geçerli başka bir adres için geçersiz kılmamız gerekir.

İlgili konular