Posta kutusu kullanılamıyor. Sunucu yanıtı şuydu: 5.7.1 abc@xyz.com için aktarılamıyor [kapalı]


84

ASP.NET kullanarak postayı göndermeye çalıştığımda " Posta kutusu kullanılamıyor. Sunucu yanıtı: 5.7.1 abc@xyz.com için geçiş yapılamıyor " mesajı alıyorum. Site, IIS7, Windows 2008 sunucusu üzerinde konuşlandırılmıştır.

Web sitesi IIS6 ve Windows 2003 Sunucusunda düzgün çalışıyordu . IIS7, 2008'de konuşlandırdım, bana bu hatayı vermeye başladı.

Bunu daha önce deneyimleyen oldu mu?



Stack Overflow, programlama ve geliştirme soruları için bir sitedir. Stack Exchange ağında başka bir site kullanın .
jww

Yanıtlar:


115

Aahh anladım ... çalıştırdım :)

Teşekkürler Christopher, önerin doğru.

Ancak, "Varsayılan SMTP Sanal Sunucusu" nu bulmak zordu;)

Web sitenizi dağıtmak için IIS7 kullansanız bile, SMTP sunucusunu yapılandırmak için IIS6 Yöneticisi'ni açmanız gerekir (neden?).

İşlerin yürümesi için SMTP sunucusunu aşağıdaki gibi yapılandırdım:

  1. Denetim Masası -> Yönetim Araçlarını kullanarak IIS6 Yöneticisini açın.
  2. SMTP Sanal Sunucusu özelliklerini açın.
  3. Genel sekmesinde, "Tümü Atanmamış" yerine Web sunucusunun IP adresini ayarlayın.
  4. Erişim sekmesinde, Aktarma düğmesine tıklayın, bu Aktarma Kısıtlamaları iletişim kutusunu açacaktır.
  5. Aktarma bilgisayarları listesine, SMTP sunucusu üzerinden e-postaları geçirebilmeleri / aktarabilmeleri için geri döngü IP adresini, yani 127.0.0.1 ve Web sunucusunun IP adresini ekleyin.

3
Bunun IIS 6'da yönetilmesi gerekmesinin nedeni, IIS
7.X'in

5
Web.config dosyamda smtp sunucuma "localhost" adıyla atıfta bulunuyordum. 3. adımı izlediysem, bu çözüm başarısız oldu; 3. adımı atladıysam işe yaradı. Teşekkürler :)
Paul Suart

1
Bu aynı zamanda IIS8 ve sunucu 2012 için de geçerlidir
Isaac Bolinger

Office 365'imizdeki bir hesap aracılığıyla e-posta göndermek için bir aktarıcı kullanıyoruz. Web sunucusunun smtp sunucusunu kullanmasak bile smtp sunucusunu IIS 6'ya yüklemem gerekiyor mu? Bu, IIS 10 çalıştıran bir Windows Server 2016 üzerindedir. Bu sorun için herhangi bir önerisi veya çözümü olan var mı? Şimdiden teşekkür ederim!
Nathan

Çok teşekkür ederim! Sorunumu çözdüm.
Nanou Ponette

20

cevap burada yatıyor ... IIS Ayarları

IIS -> Varsayılan SMTP Sanal Sunucusu -> Özellikler -> Erişim -> Röle kısıtlamaları yalnızca ilgilendiğiniz IP'leri ekler veya hariç tutar, sorunu çözmelidir.


2
"Varsayılan SMTP Sanal Sunucusu" nerede? IIS7 kullanıyorum. IIS6'da "SMTP Sanal Sunucusu" var ama IIS'de ve değil mi?
Vinod T. Patil

18

Aynı sorunla karşı karşıyaydım ve Vinod'un cevabındaki (çok açık bir şekilde ifade edilmiş) adımları izledim, ancak bu daha sonra farklı bir hata yarattı:

Taşıma bağlantısından veri okunamıyor: net_io_connectionclosed

Biraz daha araştırma yaptım ve etrafı
araştırdım ve (bunun neden işe yaradığından emin değilim) şu şekilde çözdüm : - IIS6.0 yönetim konsoluna geri dönerek
- SMTP Sanal Sunucu özelliklerini aç
- Genel sekmesinde 'IP'yi değiştirerek Adres: '(Tümü Atanmamış)' olarak 'geri ayarlanıyor'

Bunun neden işe yaradığından emin değilim, ancak gelecekte aynı sorunla karşılaşan birine yardımcı olacağını umuyoruz.


15

Bir resim bin kelimeye bedeldir ..

IIS6 yöneticisini bulduğunuzda (IIS aramanın 2 sonuç döndürebileceğini buldum) SMTP sunucu özelliklerine gidin ve ardından 'Erişim'e gidin ve ardından röle düğmesine basın.

Sonra hepsini seçebilir veya sadece 127.0.0.1 gibi belirli iplere izin verebilirsiniz.

SMTP Geçişi


5

İyi sunulan cevap için Vinod'a teşekkürler.

Yukarıdaki adımları izlediğimde Mick Byrne ile aynı hatayı aldım. Tüm Atanmamışlar'a geri döndürmek onu sıraladı, ancak birkaç şey daha ayarlamam gerekiyordu:

  • SMTP Sanal Sunucusunda Güvenlik Sekmesindeki kullanıcılara sitemin altında çalıştığı kullanıcıyı ekle.
  • Web.config dosyamdaki mailSettings> network> host özniteliğindeki değeri, localhost'un (ana bilgisayar dosyasında 127.0.0.1'i işaret eden) aksine belirli sunucu IP'si (örneğin 192.168.100.120) olarak değiştirdim.

Umarım bu, birini birkaç dakika uğraşmaktan kurtarır.


4

Bu sorunu web.config dosyamın system.net kısmındaki posta ayarlarını değiştirerek çözebildim:

<mailSettings>
    <smtp deliveryMethod="Network">
        <network host="yourserver" defaultCredentials="true"/>
    </smtp>
</mailSettings>

2

Exchange 2010'unuz varsa :

(Benim durumumda, hata mesajı "abc@xyz.com için" içermiyordu)

Bu, bir alma konektörünün nasıl ekleneceğini gösterir: http://exchangeserverpro.com/how-to-configure-a-relay-connector-for-exchange-server-2010/

Ancak burada bulunan bir adımı da gerçekleştirmem gerekiyordu: http://recover-email.blogspot.com.au/2013/12/how-to-solve-exchange-smtp-server-error.html

  • Exchange Yönetim Kabuğu'na gidin ve komutu çalıştırın
  • Get-ReceiveConnector "JiraTest" | Add-ADPermission -User "NT AUTHORITY \ ANONYMOUS LOGON" -ExtendedRights "ms-Exch-SMTP-Accept-Any-Recipient"

Bunun üzerinde çalışırken, etkilenen sunucunun PowerShell konsolunda hata giderilene kadar aşağıdakileri çalıştırdım:

Send-MailMessage -From "myemail@server.com.au" -To "myemail@server.com.au" -Subject "Test Email" -Body "This is a test"

1

Benim durumumda hataya neyin sebep olduğunu paylaşmak istedim. Bunu anlamak için birkaç saat harcayın, umarım birisine biraz zaman kazandırır.

Garip bir şekilde, alan için Enable drop directory quotaayar etkinleştirilirken hata ortaya çıktı .

görüntü açıklamasını buraya girin

Uzman değilim ve teknik açıklamayı bilmiyorum, ancak belirtilen ayarı kaldırmak sorunu çözdü.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.