配置web.config发送电子邮件?

时间:2016-02-25 17:20:58

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

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

 <system.net>
    <mailSettings>
      <smtp deliveryMethod="Network" from="Mohamed &lt;name@outlook.com&gt;">
        <network host="Smtp.live.com" port="587" enableSsl="true" userName="name@outlook.com" 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("name@outlook.com", "Mohamed"));
            visitorMessage.ReplyToList.Add(new MailAddress(TextBoxEmail.Text));
            SmtpClient mySmtpClient = new SmtpClient();
            mySmtpClient.Send(visitorMessage);
            LabelIRespond.Visible = true;

        }
    }

我将这些设置用于IIS服务器,显然它不能与生产服务器一起使用。 请告诉我应该进行哪些更改才能启用此功能?

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

1 个答案:

答案 0 :(得分:1)

这是一篇关于使用windows azure发送电子邮件的博文:

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

TLDR - 不要在云主机上使用您的个人电子邮件发送电子邮件,这些服务可能是黑名单云主机IP地址范围,以帮助防止垃圾邮件。获得一个合法的SMTP服务器,可以在云端,也可以在云中使用第三方服务设置,或者使用第三方服务。