Skrzynka pocztowa niedostępna. Odpowiedź serwera: 5.7.1 Nie można przekazać adresu [email protected] [zamknięte]

84

Otrzymuję komunikat „ Skrzynka pocztowa niedostępna. Odpowiedź serwera: 5.7.1 Nie można przekazać adresu [email protected] ”, gdy próbuję wysłać pocztę za pomocą programu ASP.NET. Witryna jest wdrażana na serwerze IIS7, Windows 2008.

Witryna działała poprawnie w usługach IIS6 i Windows 2003 Server . Wdrożyłem go na IIS7, 2008 zaczął powodować ten błąd.

Czy ktoś wcześniej tego doświadczył?

Vinod T. Patil
źródło
Stack Overflow to witryna zawierająca pytania dotyczące programowania i programowania. Skorzystaj z innej witryny w sieci Stack Exchange .
jww

Odpowiedzi:

115

Ach, rozumiem ... mam to działa :)

Dzięki Christopher, twoja sugestia jest poprawna.

Jednak znalezienie „Domyślnego wirtualnego serwera SMTP” było trudne;)

Nawet jeśli używasz usług IIS7 do wdrażania swojej witryny internetowej, musisz otworzyć Menedżera usług IIS6, aby skonfigurować serwer SMTP (dlaczego?).

Skonfigurowałem serwer SMTP w następujący sposób, aby wszystko działało:

  1. Otwórz Menedżera IIS6 za pomocą Panelu sterowania -> Narzędzia administracyjne.
  2. Otwórz właściwości serwera wirtualnego SMTP.
  3. Na karcie Ogólne ustaw adres IP serwera sieci Web zamiast „Wszystkie nieprzypisane”.
  4. Na karcie Dostęp kliknij przycisk Przekaźnik, co spowoduje otwarcie okna dialogowego Ograniczenia przekazywania.
  5. Na liście komputerów przekazujących dodaj adres IP pętli zwrotnej, tj. 127.0.0.1 i adres IP serwera WWW, aby mogły przekazywać / przekazywać wiadomości e-mail przez serwer SMTP.
Vinod T. Patil
źródło
3
Powodem, dla którego musi to być zarządzane w IIS 6, jest to, że IIS 7.X nie ma własnego składnika serwera SMTP, więc używa IIS 6.
MemeDeveloper
5
W moim web.config odnosiłem się do mojego serwera smtp przez nazwę „localhost”. Jeśli wykonałem krok 3, to rozwiązanie zawiodło; jeśli pominąłem krok 3, zadziałało. Dzięki :)
Paul Suart
1
Dotyczy to również IIS8 i serwera 2012
Isaac Bolinger,
Używamy przekaźnika do wysyłania wiadomości e-mail za pośrednictwem konta w naszej usłudze Office 365. Czy nadal muszę instalować serwer smtp w usługach IIS 6, mimo że nie używamy serwera smtp serwera internetowego. Dotyczy to systemu Windows Server 2016 z usługami IIS 10. Czy ktoś ma jakieś sugestie lub rozwiązanie tego problemu? Z góry dziękuję!
Nathan
Dziękuję Ci bardzo! Rozwiązał mój problem.
Nanou Ponette,
20

oto odpowiedź ... Ustawienia IIS

IIS -> Domyślny serwer wirtualny SMTP -> Właściwości -> Dostęp -> Ograniczenia przekazywania po prostu dodaj lub wyklucz adresy IP, na których Ci zależy, powinno rozwiązać problem.

Christophera Kleina
źródło
2
gdzie jest „Domyślny wirtualny serwer SMTP”? Używam IIS7. W IIS6 jest "wirtualny serwer SMTP", ale w IIS i tak nie jest?
Vinod T. Patil
18

Miałem do czynienia z identycznym problemem i wykonałem (bardzo jasno określone) kroki w odpowiedzi Vinod, jednak spowodowało to inny błąd:

Nie można odczytać danych z połączenia transportowego: net_io_connectionclosed

Zrobiłem trochę więcej kopania i grzebania w okolicy i (chociaż nie jestem pewien, dlaczego to zadziałało) rozwiązałem to przez:
- Wracając do konsoli zarządzania IIS6.0
- Otwórz właściwości wirtualnego serwera SMTP
- Na karcie Ogólne, zmieniając 'IP Adres: „ustawianie z powrotem na„ (wszystkie nieprzypisane) ”

Nie jestem pewien, dlaczego to działa, ale mam nadzieję, że pomoże to komuś, kto stanie przed tym samym problemem w przyszłości.

Mick Byrne
źródło
15

Ponieważ obraz jest wart tysiąca słów ...

Po znalezieniu menedżera IIS6 (stwierdziłem, że wyszukiwanie IIS może zwrócić 2 wyniki) przejdź do właściwości serwera SMTP, a następnie „Dostęp”, a następnie naciśnij przycisk przekazywania.

Następnie możesz wybrać wszystkie lub zezwolić tylko na określone adresy IP, takie jak 127.0.0.1

Przekaźnik SMTP

Lee Englestone
źródło
5

Dziękuję Vinod za dobrze przedstawioną odpowiedź.

Otrzymałem ten sam błąd, co Mick Byrne, kiedy wykonałem powyższe kroki. Przełączenie z powrotem na All Unassigned posortowało to, ale musiałem też poprawić kilka innych rzeczy:

  • Dodaj użytkownika, w ramach którego działała moja witryna, do użytkowników na karcie Zabezpieczenia na serwerze wirtualnym SMTP.
  • Zmieniono wartość atrybutu mailSettings> network> host w moim web.config na określony adres IP serwera (na przykład 192.168.100.120) w przeciwieństwie do localhost (który wskazywał na 127.0.0.1 w pliku hosts).

Mam nadzieję, że zaoszczędzi to komuś kilku minut zabawy.

NikG
źródło
4

Udało mi się rozwiązać ten problem, zmieniając ustawienia poczty w części system.net mojego pliku web.config:

<mailSettings>
    <smtp deliveryMethod="Network">
        <network host="yourserver" defaultCredentials="true"/>
    </smtp>
</mailSettings>
patrickbadley
źródło
2

Jeśli masz Exchange 2010 :

(W moim przypadku komunikat o błędzie nie zawierał „for [email protected]”)

To pokazuje, jak dodać złącze odbiorcze: http://exchangeserverpro.com/how-to-configure-a-relay-connector-for-exchange-server-2010/

Ale musiałem też wykonać krok znaleziony tutaj: http://recover-email.blogspot.com.au/2013/12/how-to-solve-exchange-smtp-server-error.html

  • Przejdź do Exchange Management Shell i uruchom polecenie
  • Get-ReceiveConnector "JiraTest" | Add-ADPermission -User „NT AUTHORITY \ ANONIMOUS LOGON” -ExtendedRights „ms-Exch-SMTP-Accept-Any-Recipient”

Pracując nad tym, uruchomiłem następujące czynności na konsoli PowerShell serwera, którego dotyczy problem, aż błąd zniknął:

Send-MailMessage -From "[email protected]" -To "[email protected]" -Subject "Test Email" -Body "This is a test"
Todd
źródło
1

Chciałem się podzielić, co spowodowało błąd w moim przypadku. Poświęć kilka godzin, aby to rozgryźć, więc miejmy nadzieję, że pomoże to komuś zaoszczędzić trochę czasu.

Co dziwne, błąd został zgłoszony po włączeniu Enable drop directory quotaustawienia dla domeny.

wprowadź opis obrazu tutaj

Nie jestem ekspertem i nie znam wyjaśnienia technicznego, ale odznaczenie wspomnianego ustawienia rozwiązało problem.

Morfeusz
źródło