2016-10-07 7 views
0

나는 클라우드 (asp.net)에 서버를 가지고 있으며, 내 고객이 자신의 전자 메일 계정으로 내 응용 프로그램에서 전자 메일을 보낼 수 있도록 mailkit을 설치합니다. 내 문제의mailkit sendMail doubt

하나는 그가 서버에서 3 이메일을 보낼 수 있으며, 그 다음 이메일이 거부 된 이메일입니다 :

"메시지 : 연결된 파티 제대로 응답하지 않았기 때문에 연결 시도가 실패 연결된 호스트가 213.190.193.29:25 SPAM ""

다른 문제는 그들이 자신의 메일로 보내 그가를 접수에 있다는 것입니다 "응답하지 않았기 때문에 일정 기간 후, 또는 설정된 연결 에 실패했습니다.

도와 드릴까요?

+0

코드를 표시 할 수 있습니까? 구현을 모르는 경우 오류를 진단하기가 어려울 수 있습니다. 스팸으로 신고되는 이메일과 관련하여 수신자 측에 있습니다. 귀하의 이메일 주소는 안전한 발신자 목록에 추가되어야합니다. – user1666620

+0

저는 오늘 사무실에서 일하고 있지 않습니다. 나는 내일 코드를 넣을거야! 내 신청서는 연결을 테스트하기 위해 동일한 이메일에 Outlook과 같은 이메일 테스트를 전송합니다. 동일한 주소가 스팸으로 간주되는 것이 이상합니다. –

+0

SMTP 서버는 짧은 기간에 자주 연결할 수있는 횟수가 제한됩니다. 시각. 이것은 대부분 문제 일 수 있습니다. – jstedfast

답변

0
{ 
     emailID = ""; 
     // Nova Mensagem 
     var message = new MimeMessage(); 
     try 
     { 
      // Acede aos parâmetros do email caso este seja do gestobrigweb gmail.com 
      if (emailSettings.email == "[email protected]") { 
       EmailProvider provider = new EmailProviders().GetEmailProvider(Convert.ToInt32(ConfigurationManager.AppSettings["gestObrigWebProviderID"])); 

       if (emailSettings.provider == null) 
        emailSettings.provider = provider; 
      } 

      // UserName 
      string userName = emailSettings.email; 
      // Password 
      if (userPass == "") 
       userPass = cripter.Decrypt(emailSettings.pass); 

      // From 
      message.From.Add(new MailboxAddress(emailSettings.email, emailSettings.email)); 

      // TO 
      if (recipient.Contains(";")) 
       foreach (string recipt in recipient.Split(';')) 
        message.To.Add(new MailboxAddress(recipt, recipt)); 
      else 
       if (recipient.Contains(",")) 
        foreach (string recipt in recipient.Split(',')) 
         message.To.Add(new MailboxAddress(recipt, recipt)); 
       else 
        message.To.Add(new MailboxAddress(recipient, recipient)); 


      // Se Assume CC 
      if (assumeCC) 
       message.Cc.Add(new MailboxAddress(emailSettings.email,emailSettings.email)); 

      // Destinatário 
      if (cc != "") 
      { 
       if (cc.Contains(";")) 
        foreach (string emailCC in cc.Split(';')) 
        message.Cc.Add(new MailboxAddress(emailCC,emailCC)); 
       else 
        message.Cc.Add(new MailboxAddress(cc, cc)); 
      } 

      // Assunto 
      message.Subject = subject; 

      // Body (Mensagem) 
      var bodyBuilder = new BodyBuilder(); 
      bodyBuilder.HtmlBody = body; 
      message.Body = bodyBuilder.ToMessageBody(); 

      // Envio 
      using (var client = new SmtpClient()) 
      { 
       // For demo-purposes, accept all SSL certificates (in case the server supports STARTTLS) 
       client.ServerCertificateValidationCallback = (s, c, h, e) => true; 

       client.Connect(emailSettings.emailServer, emailSettings.serviceType, false); 

       // Note: since we don't have an OAuth2 token, disable 
       // the XOAUTH2 authentication mechanism. 
       client.AuthenticationMechanisms.Remove("XOAUTH2"); 

       // Note: only needed if the SMTP server requires authentication 
       client.Authenticate(userName, userPass); 

       client.Send(message); 
       client.Disconnect(true); 
       return true; 
      } 

     }