首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在使用SmtpClient和MailMessage时抑制电子邮件验证

如何在使用SmtpClient和MailMessage时抑制电子邮件验证
EN

Stack Overflow用户
提问于 2010-06-09 15:30:27
回答 2查看 1.8K关注 0票数 4

当使用SmtpClient和MailMessage (.net 3.5)发送电子邮件时,“收件人”电子邮件地址在发送前会得到验证。我有一大堆带点(.)的电子邮件地址。在at-sign之前,当您尝试使用SmtpClient发送消息时,会导致FormatException。这实际上是一件好事,因为根据规范,at-sign前的点是无效的。不幸的是,这些电子邮件存在于现实世界中,如果你使用你喜欢的电子邮件客户端发送它们,它们就会被递送。

我的问题是,是否可以抑制通过SmtpClient/MailMessage进行的电子邮件验证?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-09 15:55:01

这可能是尝试发送电子邮件后出现的错误。

您是否可以提供一些CallStack,以便我们可以查看抛出异常的确切位置

更新:根据reflector的反汇编代码,这个问题只能通过升级到VS2010和.NET 4.0来解决

较低版本的System.Net程序集无法解决此问题

票数 2
EN

Stack Overflow用户

发布于 2010-06-09 15:46:32

编辑:尝试了VB2005中的示例代码,我也得到了异常。下面的代码在VB2010 Express中运行良好,但似乎是一个错误,现在已经修复了。MSDN引用来自4.0文档,该代码片段不在MSDN页面的早期版本中。

我现在不能尝试,但是你的电子邮件地址到底是怎么格式化的?MailAddress类的文档指出,它支持用户名中的连续点和尾随点。例如,用户...名称..@主机。(引用自here)。

编辑:添加示例。

代码语言:javascript
复制
Try
    Dim smtpClient As New SmtpClient()
    smtpClient.Host = "mailserver"
    Dim fromAddress As New MailAddress("from@test.com")
    Dim toAddresses As New MailAddress("test.test.@test.com")
    Using message As New MailMessage()
         message.From = fromAddress
         message.To.Add(toAddresses)

         message.IsBodyHtml = False
         message.Subject = "test"
         smtpClient.Send(message)
    End Using
    TextBox1.Text = "OK"
Catch ex As SmtpException
    TextBox1.Text = ex.ToString()
End Try
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3003837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档