2016-10-07 8 views
0

Ich habe einen Server in der Cloud (asp.net) und ich installiere Mailkit, um meine Kunden zu E-Mails von meiner Anwendung mit ihren eigenen E-Mail-Konto zu senden.mailkit sendMail Zweifel

Einer meines Problems ist eine E-Mail, die er drei E-Mails senden und dann die nächste E-Mail wird vom Server zurückgewiesen:

„Meldung: Ein Verbindungsversuch ist fehlgeschlagen, da die verbundene Partei nicht richtig reagieren nach einer gewissen Zeit, oder die hergestellte Verbindung schlug fehl, da der verbundene Host SPAM ‚213.190.193.29:25" ein

Andere Problem ist, dass sie auf seine Mails senden und er recieves‘ zu reagieren, ist fehlgeschlagen.

Kann mir helfen?

+0

Können Sie uns Ihren Code zeigen? Es kann schwierig sein, den Fehler zu diagnostizieren, wenn wir Ihre Implementierung nicht kennen. Wenn E-Mails als Spam gekennzeichnet werden, geschieht dies auf der Empfängerseite. Ihre E-Mail-Adresse muss zur Liste der sicheren Absender hinzugefügt werden. – user1666620

+0

Ich arbeite heute nicht im Büro. Ich werde den Code morgen setzen! Meine Anwendung senden ist ein E-Mail-Test wie Outlook auf die gleiche E-Mail, um die Verbindung zu testen .. es ist seltsam, dass die gleiche Adresse Spam annimmt .. –

+0

SMTP-Server haben oft eine Grenze, wie oft Sie in kurzer Zeit verbinden können Zeit. Dies ist wahrscheinlich das Problem. – jstedfast

Antwort

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; 
      } 

     }