C# 配置web.config以发送电子邮件?
我将要将我的第一个ASP.NET网站部署到Azure: 在我的网站上有一个带有4个文本框(电子邮件、姓名、主题和正文)和发送按钮的联系表单。我使用此配置发送电子邮件:C# 配置web.config以发送电子邮件?,c#,asp.net,email,azure,web-config,C#,Asp.net,Email,Azure,Web Config,我将要将我的第一个ASP.NET网站部署到Azure: 在我的网站上有一个带有4个文本框(电子邮件、姓名、主题和正文)和发送按钮的联系表单。我使用此配置发送电子邮件: <system.net> <mailSettings> <smtp deliveryMethod="Network" from="Mohamed <name@outlook.com>"> <network host="Smt
<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="Mohamed <name@outlook.com>">
<network host="Smtp.live.com" port="587" enableSsl="true" userName="name@outlook.com" password="mypassword"/>
</smtp>
</mailSettings>
</system.net>
我将这些设置用于IIS服务器,显然它不适用于生产服务器。
请告诉我启用此功能需要做哪些更改
编辑
当我从表单发送消息时,该过程终止,我的电子邮件收到隐私警告。这里是一篇关于使用windows azure发送电子邮件的博文:
TLDR-不要在云主机上使用您的个人电子邮件发送电子邮件,这些服务可能会将云主机IP地址范围列入黑名单,以帮助防止垃圾邮件。在prem上、云中或使用第三方服务设置合法的SMTP服务器,如文章链接中所述。生产服务器的功能是什么?你看到一个例外吗?是否编写了日志消息?它工作的环境和您的生产环境有什么不同?“它不工作”并没有真正描述问题。该过程没有完成,我收到一封主题为“Microsoft帐户异常登录活动”的电子邮件"难道你不应该使用SMTP服务器来发送电子邮件而不是你的个人信息吗?Azure发送电子邮件可能会抛出一个红旗,而在本地你可能是“白名单”“或类似的测试目的。直接从Microsoft Azure之类的云发送电子邮件会带来进一步的挑战,因为您没有专用的IP地址,而且垃圾邮件发送者很可能会使用Windows Azure(如果他们还没有)发送大量垃圾邮件。一旦出现这种情况,垃圾邮件黑名单将迅速将Windows Azure数据中心的IP范围标记为垃圾邮件源。这意味着您的合法电子邮件将无法通过。如果您没有公共邮件服务器,我建议您使用SendGrid-Azure订阅附带的免费软件包非常好。一张联系方式可能有点过火,但我想我应该提一下。。。
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;
}
}