c# - 配置 web.config 来发送电子邮件?

标签 c# asp.net email azure web-config

我即将将我的第一个 ASP.NET 网站部署到 Azure: 我的网站中有一个联系表单,其中有 4 个文本框(电子邮件、姓名、主题和正文)和发送按钮。我使用此配置发送电子邮件:

 <system.net>
    <mailSettings>
      <smtp deliveryMethod="Network" from="Mohamed &lt;<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="96f8f7fbf3d6f9e3e2faf9f9fdb8f5f9fb" rel="noreferrer noopener nofollow">[email protected]</a>&gt;">
        <network host="Smtp.live.com" port="587" enableSsl="true" userName="<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="4d232c20280d22383921222226632e2220" rel="noreferrer noopener nofollow">[email protected]</a>" password="mypassword"/>
      </smtp>
    </mailSettings>
  </system.net>

这是发送按钮的处理程序

protected void Button1_Click(object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
            string fileName = Server.MapPath("~/App_Data/Message.txt");
            string mailBody = File.ReadAllText(fileName);

            mailBody = mailBody.Replace("##Name##", TextBoxName.Text);
            mailBody = mailBody.Replace("##Email##", TextBoxEmail.Text);
            mailBody = mailBody.Replace("##Subject##", TextBoxSubject.Text);
            mailBody = mailBody.Replace("##Body##", TextBoxBody.Text);
            MailMessage visitorMessage = new MailMessage();
            visitorMessage.Subject = "New Message: " + TextBoxSubject.Text;
            visitorMessage.Body = mailBody;

            visitorMessage.From = new MailAddress(TextBoxEmail.Text, TextBoxName.Text);
            visitorMessage.To.Add(new MailAddress("<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="4c222d21290c23393820232327622f2321" rel="noreferrer noopener nofollow">[email protected]</a>", "Mohamed"));
            visitorMessage.ReplyToList.Add(new MailAddress(TextBoxEmail.Text));
            SmtpClient mySmtpClient = new SmtpClient();
            mySmtpClient.Send(visitorMessage);
            LabelIRespond.Visible = true;

        }
    }

我将这些设置用于 IIS 服务器,显然它不适用于生产服务器。 请告诉我应该做什么更改才能启用此功能?

编辑 当我从表单发送消息时,该过程终止,并且我的电子邮件收到隐私警告。

最佳答案

这是一篇有关使用 Windows Azure 发送电子邮件的博客文章:

http://blog.smarx.com/posts/emailtheinternet-com-sending-and-receiving-email-in-windows-azure

TLDR - 不要在云主机上使用您的个人电子邮件发送电子邮件,这些服务可能会将云主机 IP 地址范围列入黑名单,以帮助防止垃圾邮件。在本地、云端设置合法的 SMTP 服务器,或者使用链接帖子中指出的第三方服务。

关于c# - 配置 web.config 来发送电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35634052/

相关文章:

C# SNMP 编程

javascript - 如何在 JavaScript 中运行 shell 命令

c# - ServiceStack ResponseFilterAttribute 未被调用

javascript - 从 Javascript 发送邮件

c# - 如何在silverlight中播放swf文件?

c# - 未创建 MySQL Entity Framework 表

c# - 浮点运算歧义

c# - 如何替换 ASP.NET Core View 类的 "Request"类方法?

php - 拉维尔 : I can't use Request object two times at the same function

android - 当打开手机时,我想向 android 中的给定电子邮件发送警报消息