将 ASP.Net System.Net.Mail 设置移动到 Web.config
Posted
技术标签:
【中文标题】将 ASP.Net System.Net.Mail 设置移动到 Web.config【英文标题】:Moving ASP.Net System.Net.Mail settings to Web.config 【发布时间】:2012-11-16 13:52:45 【问题描述】:我们正在使用此编码从 ASP.Net 代码隐藏 Vb.Net 文件发送电子邮件。
这些编码中的任何一个都可以放在 Web.config 文件中吗?
Protected Sub EmailStudentList()
' Get the rendered html.
'-----------------------
Dim SB As New StringBuilder()
Dim SW As New StringWriter(SB)
Dim htmlTW As New HtmlTextWriter(SW)
GridViewSummary.RenderControl(htmlTW)
' Get the HTML into a string.
' This will be used in the body of the email report.
'---------------------------------------------------
Dim dataGridHTML As String = SB.ToString()
Dim SmtpServer As New SmtpClient()
SmtpServer.Credentials = New Net.NetworkCredential("ourEmailUsername@gmail.com", "ourPassword")
SmtpServer.Port = 587
SmtpServer.Host = "smtp.gmail.com"
SmtpServer.EnableSsl = True
ObjMailMessage = New MailMessage()
Try
ObjMailMessage.From = New MailAddress("ourEmail@gmail.com", "Some text is here.", System.Text.Encoding.UTF8)
ObjMailMessage.To.Add(New MailAddress("BoardOfDirectors@gmail.com", "Emad-ud-deen", System.Text.Encoding.UTF8))
ObjMailMessage.Subject = "List of enrolled students for the board of directors"
ObjMailMessage.Body = dataGridHTML
ObjMailMessage.IsBodyHtml = True
ObjMailMessage.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure
SmtpServer.Send(ObjMailMessage)
Catch ex As Exception
MsgBox(ex.ToString())
End Try
End Sub
【问题讨论】:
【参考方案1】: <system.net>
<mailSettings>
<smtp from="ourEmail@gmail.com">
<network defaultCredentials="false"
userName="ourEmailUsername@gmail.com"
password="ourPassword"
host="smtp.gmail.com"
enableSsl="true"
port="587"/>
</smtp>
</mailSettings>
</system.net>
【讨论】:
非常感谢您的快速回复!非常有帮助。 :-)【参考方案2】:您不能在配置文件中放置“代码”,但可以移动一些设置。
http://msdn.microsoft.com/en-us/library/w355a94k.aspx
<configuration>
<system.net>
<mailSettings>
<smtp deliveryMethod="network">
<network
host="localhost"
port="25"
defaultCredentials="true"
/>
</smtp>
</mailSettings>
</system.net>
</configuration>
【讨论】:
很高兴为您提供帮助。看起来我们都得到了同样令人放心的答案。【参考方案3】:我已将其中一些项目放在 web.config` 中。
<system.net>
<mailSettings>
<smtp>
<network host="<<Host IP Address>>" port="<<Host Port Number>>" userName="" password=""/>
</smtp>
</mailSettings>
<defaultProxy useDefaultCredentials="false">
<proxy bypassonlocal="true" usesystemdefault="false"/>
</defaultProxy>
</system.net>
以下链接也可能有所帮助:
Element (Network Settings)
【讨论】:
以上是关于将 ASP.Net System.Net.Mail 设置移动到 Web.config的主要内容,如果未能解决你的问题,请参考以下文章
ASP.net MVC 5 项目 SMTP 功能错误 [重复]
.NET 发送电子邮件的最佳方法(System.Net.Mail 有问题)