2016-06-27 9 views
0

나는 Mailkit/Mimekit을 처음 사용하며 Easymail에서 이전하는 과정에 있습니다. 아래 코드는Mailkit (C#)을 사용하여 메일을 보낼 때의 문제

Unable to read data from the transport connection: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. 

이 내가 시도 캐치 문을 사용하고 난 후 시도 캐치를 제거하면 그것은 나에게

2.0.0 Ok: queued as 3rdP7Y5ZrzzJp60 

로 출력을 제공하는 경우에이다라는 오류 메시지 제공 내 SMTP 서버가 정상적으로 작동하므로 예상되는 출력은 어느 것입니까? 왜 이런 일이 발생 했습니까? 난 그냥 서버가

string ReturnEmail = "[email protected]"; 
string ReturnName = "Return xxxxxxx"; 
string FromEmail = "[email protected]"; 
string FromName = "xxxxxxx"; 
string SenderEmail = "[email protected]"; 
string SenderName = "xxxxxxx";  
string TextBody = @"Text Body"; 
string HtmlBody = string.Format(@"HTML Body"); 
string Subject = "Retrouvez-nous à la e à l’occasion de la Coupe du Monde de Combiné Nordique"; 
string ToName = "XXX"; 
string ToEmail = "[email protected]"; 
string MailServer = "XX.XXX.XX.XXX"; 
int Result = 0; 
var message = new MimeMessage(); 

MailboxAddress RecepientAddress = new MailboxAddress(ToName, ToEmail); 
message.From.Add(new MailboxAddress(FromName, FromEmail)); 

var builder = new BodyBuilder(); 

builder.TextBody = TextBody; 
builder.HtmlBody = HtmlBody; 

List<MailboxAddress> To = new List<MailboxAddress>(); 
To.Add(RecepientAddress); 

message.Subject = Subject; 
message.Body = builder.ToMessageBody(); 
message.Sender = new MailboxAddress(SenderName, SenderEmail); // Sender Address 
message.To.Add (RecepientAddress);  
var client = new SmtpClient(new ProtocolLogger("smtp.txt")); // logging SMTP connections 
client.Timeout = 20; 

// client.Connect(MailServer, 25); 
try 
{ 
    client.Connect(MailServer, 25); 
} 
catch (SmtpCommandException ex) 
{ 
    Console.WriteLine("Error trying to connect: {0}", ex.Message); 
    Console.WriteLine("\tStatusCode: {0}", ex.StatusCode);    
} 
catch (SmtpProtocolException ex) 
{ 
    Console.WriteLine("Protocol error while trying to connect: {0}", ex.Message);    
} 
catch (Exception ex) 
{ 
    Console.WriteLine(ex.Message);    
} 
+0

왜 당신이 20 밀리 초 클라이언트 제한 시간을 설정 않았다

client.Timeout = 20; 
? – jstedfast

+0

난 그냥 기본 시간 제한을 설정하려고했는데 2000으로 늘려야 할까? – Krylor

+0

이미 합리적인 기본 설정이 있습니다. 설정하지 않아도됩니다. – jstedfast

답변

1

이 줄을 제거 응답하지 않는 오류를 잡으려고 노력하고 있어요 :