mailkit sendMail сомневается

У меня есть сервер в облаке (asp.net), и я устанавливаю mailkit, чтобы мои клиенты могли отправлять электронные письма из моего приложения со своей учетной записью электронной почты.

Одна из моих проблем - это электронное письмо, на которое он может отправить 3 электронных письма, а затем следующее сообщение будет отклонено сервером:

"Сообщение: попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через некоторое время, или не удалось установить соединение, потому что подключенный хост не смог ответить 213.190.193.29:25"

Другая проблема заключается в том, что они отправляют на его почту, и он получает "СПАМ".

Можете мне помочь?

1 ответ

    {
        emailID = "";
        // Nova Mensagem 
        var message = new MimeMessage();
        try
        {
            // Acede aos parâmetros do email caso este seja do gestobrigweb gmail.com
            if (emailSettings.email == "gestobrigweb@gmail.com") {
                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;
            }

        }
Другие вопросы по тегам