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;
}
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
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
Ayrıca, POP3 uzantıları için belirtimi okumak isteyebilirsiniz: https://www.rfc-editor.org/rfc/rfc2449.txt – jstedfast