2012-01-23 17 views
8

Próbuję uwierzytelnić się wobec GMail SMTP Server przy użyciu mechanizmu uwierzytelniania LOGIN. AUTH LOGIN jest reklamowany jako obsługiwany w odpowiedzi na polecenie EHLO, ale kiedy próbuję wysłać AUTH LOGIN na serwer, otrzymuję odpowiedź "504 5.7.4 Nierozpoznany typ uwierzytelniania". Oto okno dialogowe między serwerem a klientem:GMail AUTH LOGIN SMTP Authentication

S: 220 mx.google.com ESMTP d9sm13589149wiy.2 
C: EHLO client 
S: 250-mx.google.com at your service, [x.x.x.x] 
S: 250-SIZE 35882577 
S: 250-8BITMIME 
S: 250-AUTH LOGIN PLAIN XOAUTH 
s: 250 ENHANCEDSTATUSCODES 
C: AUTH LOGIN 
S: 504 5.7.4 Unrecognized Authentication Type d9sm13589149wiy.2 

Czy robię coś nie tak?

+1

Jakie jest Twoje źródło poprawności? Nie widzę, aby AUTH LOGIN stał się właściwym dokumentem RFC, tylko szkic od Cyrusa (?) I specyfikację rozszerzenia od Microsoft. (Microsoft dodaje funkcję nazwy użytkownika AUTH LOGIN, którą zauważyliście.) Z pewnością brzmi to, że Google powinno wspierać AUTH LOGIN (bez nazwy użytkownika), ale wygląda na mniej jednoznaczne, niż można się było spodziewać. –

+0

@EdwardThomson - Cóż, ta wersja RFC od Cyrusa była jedyną referencją, jaką widziałem podczas uwierzytelniania LOGIN. Zakładam, że przez to rozszerzenie Microsoft masz na myśli [MS-XLOGIN] (http://msdn.microsoft.com/en-us/library/cc433484 (v = exchg.80) .aspx). Jeśli tak, to idealnie odpowiada na moje pytanie! – silentser

+0

tak, ale moje czytanie dokumentu Microsoft sprawia, że ​​całkiem zrozumiałe jest, że Gmail powinien obsługiwać "AUTH LOGIN", jak również "AUTH LOGIN username". –

Odpowiedz

1

Co ja dowiedziałem się, że gdy używam "AUTH LOGIN base64username", co tak naprawdę nie działa LOGIN, wygląda na to, że działa:

S: 220 mx.google.com ESMTP n3sm42168657wiz.9 
C: EHLO client 
S: 250-mx.google.com at your service, [x.x.x.x] 
S: 250-SIZE 35882577 
S: 250-8BITMIME 
S: 250-AUTH LOGIN PLAIN XOAUTH 
S: 250 ENHANCEDSTATUSCODES 
C: AUTH LOGIN base64username 
S: 334 UGFzc3dvcmQ6 
C: base64password 
S: 235 2.7.0 Accepted 
1

Zastosowanie STARTTLS najpierw negocjować z SSL lub TLS wymiana zabezpieczeń, a następnie przypomnieć EHLO, a następnie można, myślę, użyj równinie i logowania mechanizmami