Jak wyeliminować błąd protokołu SMTP „504 need to authenticate first”

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 843106 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Symptomy

W dziennikach aplikacji może zostać zarejestrowane jedno lub oba następujące zdarzenia:

Typ zdarzenia: Błąd
Źródło zdarzenia: MSExchangeTransport
Kategoria zdarzenia: Protokół SMTP
Identyfikator zdarzenia: 7004

Data: 1/13/2004
Godzina: Użytkownik:
Użytkownik: Brak
Komputer: NAZWA_KOMPUTERA
Opis: This is an SMTP protocol error log for virtual server ID 1, connection #29. The remote host "E2k3server1.contoso.com", responded to the SMTP command "xexch50" with "504 Need to authenticate first ". The full command sent was "XEXCH50 2336 3 ". This will probably cause the connection to fail.

Typ zdarzenia: Błąd
Źródło zdarzenia: MSExchangeTransport
Kategoria zdarzenia: Protokół SMTP
Identyfikator zdarzenia: 7010
Data: 1/13/2004
Godzina: Użytkownik:
Użytkownik: Brak Komputer: NAZWA_KOMPUTERA
Opis: This is an SMTP protocol log for virtual server ID 1, connection #30. The client at "6.5.2.4" sent a "xexch50" command, and the SMTP server responded with "504 Need to authenticate first ". The full command sent was "xexch50 1092 2". This will probably cause the connection to fail. These events indicate that the XEXCH50 protocol sink fired, but the exchange of the blobs failed between the servers listed in the events.

Uwaga: Zdarzenia o identyfikatorach 7004 i 7010 zostaną zarejestrowane tylko po podwyższeniu poziomu rejestrowania diagnostycznego dotyczącego źródła zdarzenia MSExchange do poziomu średniego lub wyższego.

Rozwiązanie

Aby rozwiązać ten problem, należy wykonać następujące kroki:
  1. Sprawdź, czy na wirtualnych serwerach SMTP działających na komputerach z programem Exchange Server w organizacji jest włączone zintegrowane uwierzytelnianie systemu Windows. Jeśli jest ono wyłączone, wykonaj następujące kroki:
    1. W programie Exchange System Manager rozwiń węzeł Administrative Groups, rozwiń węzeł Servers, rozwiń węzeł Exchange Server Name, rozwiń węzeł Protocols, a następnie rozwiń węzeł SMTP.
    2. Kliknij prawym przyciskiem myszy serwer wirtualny SMTP. (Domyślnie jest to Default SMTP Virtual Server).
    3. Kliknij polecenie Właściwości, kliknij kartę Dostęp, a następnie kliknij przycisk Uwierzytelnianie. Sprawdź, czy pole wyboru Zintegrowane uwierzytelnianie systemu Windows jest zaznaczone.
  2. Jeśli zintegrowane uwierzytelnianie systemu Windows zostało włączone, a zdarzenie nadal występuje, być może brakuje serwera wysyłającego, który został określony w zdarzeniu 7004 lub 7010, albo brakuje prawa SendAs na serwerze odbierającym. Jeśli te zdarzenia występują na serwerach wysyłającym i odbierającym, być może brakuje praw SendAs na każdym z nich. Prawo SendAs nie jest nadawane w sposób jawny. Zwykle jest ono dziedziczone w ramach członkostwa w grupie Exchange Domain Servers (EDS). Jeśli grupie EDS nie ODMÓWIONO dostępu do listy kontroli dostępu (ACE), być może serwer jest zagnieżdżony w innej grupie, której ODMÓWIONO dostępu do listy kontroli dostępu, lub grupa EDS jest zagnieżdżona w innych grupach, którym ODMÓWIONO dostępu do listy kontroli dostępu. Aby pomyślnie uruchomić polecenie XEXCH50, należy nadać prawo SendAs odpowiednim serwerom w organizacji programu Exchange.
  3. Sprawdź, czy między serwerami w organizacji programu Exchange są używane protokół TLS (Transport Layer Security) i kanał zabezpieczeń. W takiej sytuacji obiekty zdarzenia transportu STARTTLS zostaną uruchomione przed poleceniem AUTH. W późniejszej części sesji nie powiedzie się uruchomienie polecenia XEXCH50 z powodu braku polecenia AUTH.
  4. Jeśli uwierzytelnianie EXPS (Exchange Protocol Security) między serwerami działa nieprawidłowo, polecenie XEXCH50 nie będzie działać. Zdarzenia 1704 i 1706 rejestrowane w dzienniku aplikacji wskazują na błędy uwierzytelniania EXPS.

    Typ zdarzenia: Ostrzeżenie:
    Źródło zdarzenia: MSExchangeTransport
    Kategoria: Protokół SMTP
    Identyfikator zdarzenia: 1706
    Opis:
    EXPS is temporarily unable to provide protocol security with
    "<ServerName>.<Domain>.com". "CSessionContext::OnEXPSInNegotiate" called
    "HrServerNegotiateAuth" which failed with error code 0x8009030c
    ( i:\transmt\src\smtpsink\exps\expslib\context.cpp@1462 ).
    Dane: 0000:
    0c 03 09 80 ...?

    Uwaga: Kod błędu 0x8009030c oznacza SEC_E_LOGON_DENIEDHresult.

    Problemy te mogą być trudne do rozwiązania, ponieważ poświadczenia EXPS systemu Microsoft Windows są wymagane do przekazania tego polecenia AUTH. Do rozwiązania problemów ze zdarzeniami 7006 i 7004 można używać różnych narzędzi, w tym narzędzi NLTEST i NETDOM. Procedury rozwiązywania problemów mogą wymagać resetowania haseł do kont komputerów.

    Jeśli w dzienniku aplikacji zostały zarejestrowane zdarzenia 7006 i 7004, które opisano wcześniej w tym artykule, i za pomocą uwierzytelniania EXPS nie można ustalić przyczyny problemu, skontaktuj się z Pomocą techniczną firmy Microsoft. Jeśli w dzienniku aplikacji nie występują zdarzenia 7006 i 7004, przejdź do kroku 5. Więcej informacji na temat uwierzytelniania EXPS można znaleźć w sekcji Więcej informacji.
  5. Sprawdź, czy między serwerami w organizacji programu Exchange istnieje zapora lub zapora antywirusowa. Jeśli tak jest, należy sprawdzić, czy jest ona przyczyną problemu. Aby to zrobić, tymczasowo wyłącz zaporę.

Więcej informacji

Aby uzyskać dodatkowe informacje o sposobie podwyższania poziomu rejestrowania diagnostycznego w celu rozwiązania problemów dotyczących transportowania, kliknij następujące numery artykułów w celu wyświetlenia tych artykułów z bazy wiedzy Microsoft Knowledge Base:
821910 How to troubleshoot for Exchange Server 2003 transport issues
257265 General troubleshooting for transport issues in Exchange 2000 Server and in Exchange Server 2003

Inne sytuacje, w których może wystąpić zdarzenie 7004 z błędem 504

Wystąpienia zdarzenia 7004 z błędem 504 można się spodziewać, gdy serwer określony w opisie zdarzenia 7004 to komputer z programem Exchange 2000 Server lub komputer z programem Exchange Server 2003 znajdujący się w innej organizacji programu Exchange, lub gdy nie skonfigurowano żadnego łącznika do obsługi zaufania między lasami w różnych organizacjach programu Exchange. Aby uzyskać dodatkowe informacje o wersjach z wieloma lasami, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
828770 Resolve anonymous senders functionality in Microsoft Exchange 2003
Uwaga: Zobacz sekcję „Authentication in cross-forest scenarios” w artykule 828770.

Wystąpienia zdarzenia 7004 z błędem 504 można się również spodziewać, gdy serwerem jest zewnętrzny serwer internetowy (Exchange 2000 Server lub Exchange Server 2003).

Jeśli łącznikiem usługi poczty internetowej (IMS, Internet Mail Service) serwera Exchange 5.5 jest program Msexcimc.exe w wersji 5.5.2657.72 lub nowszej, a serwer Exchange 5.5 znajduje się w domenie poczty e-mail zewnętrznej wobec komputera wysyłającego z programem Exchange 2000 Server lub Exchange Server 2003, łącznik odbierający IMS programu Exchange 5.5 nie rozpozna polecenia XEXCH50 otrzymanego z komputera wysyłającego z programem Exchange Server. Zdarzenie 7004 z błędem „505 Authentication required” występuje w dzienniku aplikacji na komputerze wysyłającym z programem Exchange Server zwykle wtedy, gdy poczta z komputera z programem Exchange 2000 Server lub Exchange Server 2003 jest wysyłana przez Internet do komputera z programem Exchange 5.5 Server w zewnętrznej domenie e-mail. Jednym ze sposobów rozwiązania tego problemu jest pominięcie wysyłania polecenia XEXCH50 na zewnątrz organizacji programu Exchange, w której znajduje się komputer z programem Exchange 2000 Server lub Exchange Server 2003.

Aby rozwiązać ten problem na komputerze z programem Exchange 2000 Server lub Exchange Server 2003, należy ustawić wartość klucza rejestru SuppressExternal na 1. Uniemożliwi to programowi Exchange Server wysyłanie polecenia XEXCH50 poza organizację programu Exchange. Aby uzyskać dodatkowe informacje dotyczące sposobu tworzenia klucza rejestru SuppressExternal i ustawiania jego wartości na 1, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
818222 Messages remain in an outbound queue until a non-delivery report is generated when you send e-mail to a remote domain

Dodatkowe symptomy, które mogą towarzyszyć wystąpieniu zdarzeń 7004 i 7010

Jeśli polecenie XEXCH50 działa niepoprawnie, na co wskazuje wystąpienie zdarzeń 7004 i 7010, można zauważyć następujące symptomy:
  • Wystąpi problem z replikacją folderu publicznego na komputery z programami Exchange 2000 Server i Exchange Server 2003.
  • Wystąpi problem z wysyłaniem poczty do folderów publicznych.
  • Tworzenie zwykłych dzienników wiadomości może nie działać lub wiadomości dziennika mogą być zduplikowane. Aby uzyskać dodatkowe informacje na temat rozwiązywania problemów dotyczących tworzenia dzienników wiadomości, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
    843105 Troubleshooting message journaling in Exchange Server 2003 and in Exchange 2000 Server
  • Tworzenie dzienników kopert dotyczących raportów w organizacji programu Exchange może nie działać.
  • Ustawienia powiadamiania o dostarczeniu do grup dystrybucyjnych mogą działać niepoprawnie.
  • Funkcja rozszerzania grupy dystrybucyjnej może działać niepoprawnie.
  • Uprawnienia i ograniczenia grupy dystrybucyjnej mogą działać w nieoczekiwany sposób.
  • Funkcja wysyłania poczty do ukrytych grup dystrybucyjnych może działać w nieoczekiwany sposób.
  • Wiadomości do adresatów alternatywnych mogą być duplikowane.
  • Usługa inteligentnego filtrowania wiadomości (IMF, Intelligent Message Filtering) może działać w nieoczekiwany sposób.

Więcej informacji na temat polecenia XEXCH50

Polecenie XEXCH50 jest rozszerzeniem protokołu ESMPT programu Exchange, które służy do przekazywania pewnych właściwości, takich jak właściwości kopert, właściwości wiadomości oraz właściwości adresatów. XEXCH50 jest poleceniem krótkim. W przypadku pomyślnego wykonania polecenia XEXCH50 odpowiedź zawiera wartość oznaczającą pomyślne ukończenie operacji oraz duży obiekt binarny (BLOB, Binary Large Object) o zmiennym rozmiarze. (Jego rozmiar odpowiada rozmiarowi pierwszego argumentu polecenia XEXCH50).

Więcej informacji na temat protokołu TLS i polecenia STARTTLS

Polecenie STARTTLS jest opisane w specyfikacji RFC 2487 o nazwie SMTP Service Extension for Secure SMTP over TLS. Aby wyświetlić tę specyfikację RFC, odwiedź następującą witrynę organizacji IETF w sieci Web:
ftp://ftp.ietf.org/rfc/rfc2487.txt
Uwaga: Aby ułatwić ochronę komunikacji, można skonfigurować usługę Microsoft SMTP Service do szyfrowania transmisji SMTP przy użyciu protokołu TLS (Transport Layer Security). Jest to możliwe dzięki poleceniu STARTTLS protokołu SMTP.

Więcej informacji na temat uwierzytelniania EXPS

X-EXPS to nazwa polecenia programu Exchange Server, które przypomina polecenie AUTH. Składnia poleceń i odpowiedzi dotyczących danych zależy od wybranego pakietu AUTH, takiego jak LOGIN, NTLM, GSSAPI lub innego. Aby uzyskać więcej informacji, zobacz specyfikację RFC polecenia AUTH.

Mimo że skrót EXPS oznacza Exchange Protocol Security, jedynym protokołem, do którego się on odnosi, jest SMTP. Niektóre polecenia używane w programach Exchange 2000 Server i Exchange Server 2003 są właściwe dla tych produktów i tworzą rodzinę poleceń ESMTP. Są znane pod nazwą poleceń ESMTP X. Aby uzyskać dodatkowe informacje na temat poleceń ESMTP X, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base.
812455 Definitions of verbs that are used between 2 Exchange servers
Jeśli nazwy ehlo, która jest wysyłana i anonsowana, nie będzie można odnaleźć w organizacji programu Exchange, funkcje (EXPS) uwierzytelniania interfejsu GSSAPI serwera odbierającego nie zmienią się. Nazwa ehlo zostanie zignorowana, tak jakby nigdy nie została zaanonsowana. Zasadniczo serwer wysyłający nie próbuje przeprowadzać uwierzytelniania.

Wyniki śledzenia w Monitorze sieci pokazały, że po poleceniu XEXCH50 serwer wysyłający nigdy nie przeprowadza uwierzytelniania GSSAPI i rejestruje błąd protokołu SMTP o treści „504 need to authenticate”. Aby rozwiązać ten problem, sprawdź poprawność w pełni kwalifikowanej nazwy domeny we właściwościach serwera wirtualnego SMTP.

Aby sprawdzić poprawność ustawień dostarczania dotyczących serwera wirtualnego SMTP, wykonaj następujące kroki:
  1. Kliknij przycisk Start, wskaż polecenie Wszystkie programy, wskaż polecenie Microsoft Exchange, a następnie kliknij polecenie System Manager.
  2. Jeśli pole wyboru Display administrative groups jest zaznaczone, rozwiń węzeł Administrative Groups, a następnie rozwiń węzeł First Administrative Group.

    Aby wyświetlić grupy administracyjne, należy kliknąć prawym przyciskiem myszy organizację użytkownika, kliknąć polecenie Properties, kliknąć, aby zaznaczyć pole wyboru Display administrative groups, kliknąć przycisk OK dwa razy, a następnie ponownie uruchomić program Exchange System Manager.
  3. Rozwiń węzeł Servers, rozwiń węzeł nazwa serwera Exchange użytkownika, rozwiń węzeł Protocols, a następnie kliknij polecenie SMTP.
  4. W prawym okienku kliknij prawym przyciskiem myszy pozycję Default SMTP Virtual Server, a następnie kliknij polecenie Properties.
  5. Kliknij kartę Delivery, a następnie kliknij przycisk Advanced.
  6. Sprawdź, czy w polu Fully-qualified domain name znajduje się rzeczywista w pełni kwalifikowana nazwa domeny serwera.
Uwaga: W tym polu może się znajdować nazwa systemu NetBIOS lub w pełni kwalifikowana nazwa domeny.

Jeśli nazwę znajdującą się w polu Fully-qualified domain name zmieniono przy próbie sfałszowania nazwy odpowiedzi 220 lub sfałszowania nazw nagłówków otrzymanych, które zdefiniowano w specyfikacji RFC 2821, wystąpią symptomy wymienione w sekcji „Symptomy”.

Dodatkowo należy sprawdzić, czy między serwerami nie dochodzi do opuszczania pakietów. Należy sprawdzić, czy zapora nie blokuje rozszerzonych poleceń protokołu SMTP, takich jak XEXCH50.

Właściwości

Numer ID artykułu: 843106 - Ostatnia weryfikacja: 26 listopada 2007 - Weryfikacja: 5.1
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange 2000 Enterprise Server
  • Microsoft Exchange 2000 Server Standard Edition
Słowa kluczowe: 
kbprb KB843106

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com