2016-10-07 39 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; 
      } 

     }