2016-04-01 16 views
0
kullanarak Exchange Server'a giriş yapma hatası

Gelen postalar için bir Exchange Server posta kutusunu izleyen bir uygulama var. Diğer sistemler üzerinde çalışıyor, ancak müşterilerimizden biri için hata alıyoruz: -ERR Command is not valid in this state.Komutu Kullanma Geçerli değil POP 3

Kullanarak giriş yapmayı denediğimizde aynı hata mesajını aldığımız için kodun kendisiyle ilgili bir şey olduğunu sanmıyorum. Telnet. Hata, kullanıcı geçtiğinde gelir. Sadece referans için, giriş kodumu aşağıya ekledim.

try 
{ 
    tcpClient = new TcpClient(Host, Port); 
} 
catch (SocketException e) { ... } 
String response = ""; 

try 
{ 
    streamReader = GetStreamReader(tcpClient); 
    response = streamReader.ReadLine(); 
    if (response.StartsWith("+OK")) 
    { 
     response = SendReceive("USER ", UserName.Trim() + "@" + Domain.Trim()); 
     if (response.StartsWith("+OK")) 
      response = SendReceive("PASS ", Password); 
    } 
} 
catch (Exception e) { ... } 

Ve SendReceive yöntem aşağıdaki gibidir:

private String SendReceive(String command, String parameter) 
{ 
    String result = null; 
    try 
    { 
     String myCommand = command.ToUpper().Trim() + " " + parameter.Trim() + Environment.NewLine; 
     byte[] data = System.Text.Encoding.ASCII.GetBytes(myCommand.ToCharArray()); 
     tcpClient.GetStream().Write(data, 0, data.Length); 
     result = streamReader.ReadLine(); 
    } 
    catch { } // Not logged in... 
    return result; 
} 

cevap

1

Bazı POP3 sunucuları bağlantısı SSL ile sürece USER komut/kadar kullanılmak üzere izin vermez. Başka bir deyişle, önce STLS komutunu kullanmanız (destekleniyorsa) ya da başarısız olursa, bir SASL kimlik doğrulama mekanizması kullanmanız gerekebilir.

Daha fazla bilgi için CAPA komutunun sonuçlarını kontrol edin.

Oh, ve utanmaz fiş: kendi rulonuzu döndürmek yerine MailKit kullanın.

+0

Yanıt için teşekkür ederiz. Zaten kontrol ettik ve SSL etkin değil. Bağlantı noktası 110'a bağlanıyoruz. MailKit çok daha kolay olurdu ama şirketim kendi kodlarını oluşturmayı tercih ediyor. – Tim

+0

Daha fazla yardım istiyorsanız, en azından POP3 sunucusunun desteklediği yeteneklerin listesini sağlamanız gerekir (örn. CAPA komutunun sonuçları). – jstedfast

+0

Ayrıca, POP3 uzantıları için belirtimi okumak isteyebilirsiniz: https://www.rfc-editor.org/rfc/rfc2449.txt – jstedfast

İlgili konular