Удаленный сертификат недействителен в соответствии с процедурой проверки ERROR в c # во время отправки почты - PullRequest
3 голосов
/ 18 февраля 2012

У меня есть свой собственный VPS (Windows Server 2008-R2, DNS и IIS установлены, удаленный доступ), и все в порядке с этим.
я установил MDaemon (для получения небольшого почтового сервера) в этом vps и настроил его по его документам.
теперь webadmin и webclient mdaemon в порядке, и я могу отправлять и получать по ним письма (gmail - yahoo - и т. д.)
я попытался подключить свой outlook 2010 к почте mdaemon и понял, что шифрование отключено на mdaemon (без шифрования все было в порядке, а outlook работал отлично)
Настройки учетной записи Outlook для этой почты без шифрования, как показано ниже (создается автоматически в Outlook):

enter image description here

enter image description here

enter image description here

Моя цель - отправлять письма (используя почтовую учетную запись mdaemon) с помощью кодов c #.
для включения шифрования почты mdaemon я зашел в меню безопасности и изменил его, как показано ниже:

enter image description here

как видите, я проверил две области:
1-включить ssl, starttls и stls
Сервер 2-smtp по возможности использует starttls
важная часть предыдущего изображения - сертификат mail.soscharge.com.
без создания этого сертификата (нажав кнопку создания сертификата на вкладке ssl и tls -> mdaemon) я не смог включить ssl из-за ошибки mdaemon, как показано ниже:

enter image description here

В настоящее время я попытался снова подключить Outlook 2010 к почтовой учетной записи mdaemon.
на этот раз я получил ошибку о сертификате, который говорит, что вы должны добавить недоверенный сертификат в доверенные зоны, поэтому я сделал это и смог успешно создать эту учетную запись, как показано ниже:

enter image description here

enter image description here

enter image description here

Я изменил mail.soscharge.com на imap.soscharge.com для сервера входящей почты, и это тоже сработало.

теперь код c # превращается ...

я написал коды ниже:

namespace CardCharge
{
    public partial class Email : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SendCardsByEmail(
                    "support@soscharge.com",
                    "FromExplain",
                    "To@gmail.com",
                    "Subject",
                    "htmlEmailBody",
                    "support@soscharge.com",
                    "blablabla"
                 );
        }

        private void SendCardsByEmail(string FromEmail, string FromExplain, string To, string Subject, string htmlEmailBody, string SenderEmail, string SenderPassword)
        {
            MailMessage mail = new MailMessage();
            mail.From = new MailAddress(FromEmail, FromExplain, System.Text.Encoding.UTF8);
            mail.To.Add(To);

            mail.SubjectEncoding = System.Text.Encoding.UTF8;
            mail.Subject = Subject;
            //mail.BodyFormat = MailFormat.Html; -> This Is For .Net 1.1
            mail.IsBodyHtml = true;
            mail.BodyEncoding = System.Text.Encoding.UTF8;
            mail.Body = htmlEmailBody;

            SmtpClient smtp = new SmtpClient();
            smtp.EnableSsl = true;
            smtp.UseDefaultCredentials = false;
            smtp.Credentials = new System.Net.NetworkCredential(SenderEmail, SenderPassword);
            smtp.Host = "smtp.soscharge.com";
            smtp.Port = 587;
            //smtp.Port = 25;
            smtp.Timeout = 18000000;

            try
            {
                smtp.Send(mail);

                Response.Write("Email Was Sent Successfully");
            }

            catch (System.Net.Mail.SmtpException exp)
            {
                Response.Write(exp.ToString());
            }
        }
    }
}

и это ошибка:

Удаленный сертификат недействителен в соответствии с проверкой процедура.

enter image description here

что означает эта ошибка и как я могу исправить эту ошибку?

очень ценю за внимание и помощь.

...