2016-10-07 37 views
0

我在云(asp.net)的服务器,我安装mailkit提供我的客户从我的应用程序发送电子邮件与他们的电子邮件拥有账户。mailkit Sendmail的疑惑

我的一个问题是,他可以发送3封电子邮件,并通过服务器那么接下来的电子邮件被拒绝的电子邮件:

“消息:连接尝试失败,因为连接的方没有 未正确响应在一段时间之后,或已建立的连接 失败,因为连接的主机未能响应213.190.193.29:25"

另一个问题是,他们发送给他的邮件,他临危一个‘SPAM’

可以帮我吗?

+0

你能告诉我们你的代码?当我们不知道您的实现时,可能很难诊断错误。关于电子邮件被标记为垃圾邮件,这是在收件人的一面。您的电子邮件地址需要添加到安全发件人列表中。 – user1666620

+0

我今天不在办公室工作。我明天就把代码放进去! 我aplication发送的,如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; 
      } 

     }