在本文中,您将会了解到关于.NET发送电子邮件的最佳方法(System.Net.Mail有问题)的新资讯,同时我们还将为您解释.net发送邮件的相关在本文中,我们将带你探索.NET发送电子邮件的最佳方
在本文中,您将会了解到关于.NET发送电子邮件的最佳方法(System.Net.Mail有问题)的新资讯,同时我们还将为您解释.net 发送邮件的相关在本文中,我们将带你探索.NET发送电子邮件的最佳方法(System.Net.Mail有问题)的奥秘,分析.net 发送邮件的特点,并给出一些关于asp.net – System.Net.Mail新MailMessage随机发送重复的电子邮件?、asp.net – 在中等信任下,在GMail SMTP上发送电子邮件、asp.net – 检查该电子邮件地址是否适用于System.Net.Mail.MailAddress、asp.net-mvc – 从Asp.net MVC发送HTML电子邮件的最佳方式是什么?的实用技巧。
本文目录一览:- .NET发送电子邮件的最佳方法(System.Net.Mail有问题)(.net 发送邮件)
- asp.net – System.Net.Mail新MailMessage随机发送重复的电子邮件?
- asp.net – 在中等信任下,在GMail SMTP上发送电子邮件
- asp.net – 检查该电子邮件地址是否适用于System.Net.Mail.MailAddress
- asp.net-mvc – 从Asp.net MVC发送HTML电子邮件的最佳方式是什么?
.NET发送电子邮件的最佳方法(System.Net.Mail有问题)(.net 发送邮件)
System.Net.Mail看起来很可怕。 SmtpClient不会发出Quit命令(这可能是因为Microsoft(R)对以下规范不感兴趣),因此连接将保持打开状态。因此,如果有人尝试在该连接终止之前发送电子邮件,则可以从SMTP服务器收到有关打开的连接数太多的错误信息。这是Microsoft(R)完全不感兴趣的错误。看这里:
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=146711
另外,如果你环顾一些建议使用这个代码来解决这个问题:
smtpClient.ServicePoint.MaxIdleTime = 1; smtpClient.ServicePoint.ConnectionLimit = 1;
好的,是的,“解决”连接被打开的问题。但是,如果您愿意,可以在服务器上尝试这样做,导致进程(在这种情况下为w3wp.exe)正在运行的cpu跳转并保持100%,直到应用程序池被回收为止。无论什么原因,运行mscorwks.dll!的线程是CreateApplicationContext的罪魁祸首。
这具有非常好的副作用,如果您运行在持续100%cpu使用率的Web主机上,您将使您的应用程序池被禁用。所以这不像一些建议那么微不足道。
所以我的问题是怎么办?我需要做的是如此简单;然而,让这些“连接打开太多”的错误是不可接受的,100%的cpu使用率也是不可接受的。我不想购买第三方组件,而不是因为我很便宜,但是我购买了足够的组件和MSDN订阅,似乎很疯狂,为了简单的SMTP功能,需要支出$ 100- $ 300。
我看到设置MaxIdleTime更高可以帮助,但我怀疑。我不想让我的应用程序池被禁用,因为Microsoft不想遵循SMTP规范。
编辑:我查看了quiksoft.com组件,但它不支持SMTP身份验证,费用为$ 500。必须要解决这个问题。
解决方法
asp.net – System.Net.Mail新MailMessage随机发送重复的电子邮件?
Try Dim Attachment As String Attachment = path + myUniqueFileName Dim mailMessage As MailMessage = New MailMessage mailMessage.From = New MailAddress("Test@Test.com") mailMessage.Subject = "Report " + " " + myUniqueFileName mailMessage.IsBodyHtml = True mailMessage.To.Add(New MailAddress(Session("EmailAddress"))) mailMessage.Attachments.Add(New Attachment(Attachment)) mailMessage.Body = "Attached is your report" Dim smtp As SmtpClient = New SmtpClient smtp.Host = "mail.net" Dim NetworkCred As System.Net.NetworkCredential = New System.Net.NetworkCredential smtp.Credentials = New NetworkCredential("test","test") smtp.UseDefaultCredentials = False smtp.Send(mailMessage) Catch ex As Exception Dim message As String = ex.ToString Dim sb As New System.Text.StringBuilder() sb.Append("<script type = 'text/javascript'>") sb.Append("window.onload=function(){") sb.Append("alert('") sb.Append(message) sb.Append("\n") sb.Append(String.Format("{0:f2}",Convert.Todouble(TotalAmount))) sb.Append("')};") sb.Append("</script>") ClientScript.RegisterClientScriptBlock(Me.GetType(),"alert",sb.ToString()) End Try
图像按钮代码:
<asp:ImageButton ID="cmdFinish" runat="server" Height="38px" ImageUrl="~/Images/Finish.png" Width="99px" UseSubmitBehavior="false" OnClientClick="this.disabled = true; this.value = 'Sending...';" Text="Send" />
解决方法
这是我按钮的标记代码,以避免再次重新点击它:
<asp:Button ID="btnSend" runat="server" CssWidth="150px" UseSubmitBehavior="false" OnClientClick="this.disabled = true; this.value = 'Sending...';" Text="Send" />
注意OnClientClick =“this.disabled = true; this.value =’发送…’.
它将禁用您的按钮并在单击后更改其文本.
此外,为了避免在刷新页面时重新保存/重新提交/重新发送数据,我只是回忆起我的表单:
Response.Redirect("~/yourForm.aspx")
asp.net – 在中等信任下,在GMail SMTP上发送电子邮件
[SecurityException: Request for the permission of type 'System.Net.Mail.SmtpPermission,System,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089' Failed.]
检查我的machine.config和相关文件显示我的SMTP访问仅限于Connect.
<SecurityClass Name="SmtpPermission" Description="System.Net.Mail.SmtpPermission,PublicKeyToken=b77a5c561934e089"/>
和
<IPermissionversion="1" Access="Connect"/>
根据MSDN,Connect只允许端口25上的请求.但是Gmail服务器可以在端口587上工作.任何解决方法?建议?
解决方法
asp.net – 检查该电子邮件地址是否适用于System.Net.Mail.MailAddress
Dim mailAddress As MailAddress Try mailAddress = New MailAddress("testing@invalid@email.com") Catch ex As Exception 'Invalid email End Try
但是,而不是依赖于Try..Catch,是否有一种验证电子邮件地址对于MailAddress类型是100%有效的方法?
我知道有大量正则表达式函数用于验证电子邮件,但我正在寻找MailAddress类型用于验证其地址的函数。
解决方法
您的代码是验证.Net中电子邮件地址的理想方式。
asp.net-mvc – 从Asp.net MVC发送HTML电子邮件的最佳方式是什么?
编辑:到目前为止我的解决方案是使用模板引擎(NHaml,StringTemplate.net).它有效,但我不希望在我的网站上有第二个模板引擎.
解决方法
我们今天的关于.NET发送电子邮件的最佳方法(System.Net.Mail有问题)和.net 发送邮件的分享已经告一段落,感谢您的关注,如果您想了解更多关于asp.net – System.Net.Mail新MailMessage随机发送重复的电子邮件?、asp.net – 在中等信任下,在GMail SMTP上发送电子邮件、asp.net – 检查该电子邮件地址是否适用于System.Net.Mail.MailAddress、asp.net-mvc – 从Asp.net MVC发送HTML电子邮件的最佳方式是什么?的相关信息,请在本站查询。
本文标签: