Skrzynka pocztowa niedostępna. Odpowiedź serwera: 5.7.1 Nie można przekazać adresu abc@xyz.com [zamknięte]


84

Otrzymuję komunikat „ Skrzynka pocztowa niedostępna. Odpowiedź serwera: 5.7.1 Nie można przekazać adresu abc@xyz.com ”, 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ł?



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.

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.


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.


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


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.


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>

2

Jeśli masz Exchange 2010 :

(W moim przypadku komunikat o błędzie nie zawierał „for abc@xyz.com”)

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 "myemail@server.com.au" -To "myemail@server.com.au" -Subject "Test Email" -Body "This is a test"

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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.