C# 如何使用SMTP发送安全电子邮件

C# 如何使用SMTP发送安全电子邮件,c#,asp.net,encryption,smtp,security,C#,Asp.net,Encryption,Smtp,Security,我目前正在使用谷歌应用程序发送SMTP电子邮件。如果我的项目部署了一些我将要发送的信息,这些信息将是保密的,我希望确保传输是安全的。有人能告诉我我需要做什么来确保我通过google apps smtp服务器使用smtp发送安全的电子邮件吗?smtp.google.com 非常感谢您的帮助 据我所知,为了做到这一点,我需要强制使用Https和SSL证书。我不知道这是不是真的?您可以使用“smtp.EnableSsl=true”来启用SSL以确保安全 MailMessage mail = new M

我目前正在使用谷歌应用程序发送SMTP电子邮件。如果我的项目部署了一些我将要发送的信息,这些信息将是保密的,我希望确保传输是安全的。有人能告诉我我需要做什么来确保我通过google apps smtp服务器使用smtp发送安全的电子邮件吗?smtp.google.com

非常感谢您的帮助


据我所知,为了做到这一点,我需要强制使用Https和SSL证书。我不知道这是不是真的?

您可以使用“smtp.EnableSsl=true”来启用SSL以确保安全

MailMessage mail = new MailMessage();
            mail.To.Add("" + to + "");
            mail.From = new MailAddress("" + from + "");
            mail.Subject = "Email using Gmail";
            string Body = "Hi, this mail is to test sending mail" +
                          "";
            mail.Body = Body;
            mail.IsBodyHtml = true;
            Attachment at = new Attachment(Server.MapPath("~/ExcelFile/TestCSV.csv"));
            mail.Attachments.Add(at);
            mail.Priority = MailPriority.High;
            SmtpClient smtp = new SmtpClient();
            smtp.Host = "smtp.gmail.com"; //Or Your SMTP Server Address
            smtp.Credentials = new System.Net.NetworkCredential(""+ username +"", ""+ password +"");
            smtp.EnableSsl = true;
            smtp.Port = 587;
            smtp.Send(mail);

为了加强网络安全,您必须使用SSL。为了加强从Web服务器到邮件服务器的数据的安全性,您需要通过SSL发送邮件。为了保护触发邮件操作的HTTP请求的安全,您需要通过HTTP强制实施SSL


但问题是在什么背景下的安全?如果您需要网络安全以确保第三方无法窃听或操纵,那么SSL就是您的选择。

上面的代码与我的代码非常相似,几乎完全相同。这样代码就可以发送一封安全的电子邮件了?那代码需要我这边的证书吗?还是我用谷歌?我需要在我的网站上强制使用Https吗?我需要购买一个正确的证书吗?我不能只将EnableSsl=“True”添加到我的smtp配置中?是的,您需要购买一个。但是现在购买PositiveSSL、RapidSSL等非常便宜。服务器必须购买证书,而不是客户端。