验证Exchange服务器上的电子邮件地址

时间:2010-11-09 20:18:27

标签: vb.net smtp exchange-server email-validation

我允许用户管理存储在数据库中的通讯组列表。用户只能输入@mydomain.com的电子邮件。然后,基于Web的应用程序将获取分发列表并发送电子邮件。我想在从应用程序发送电子邮件之前验证该电子邮件是否有效。

要发送电子邮件我正在使用此代码:

    Dim SendTo As String = "ThisIsNotARealEmailAddress@mydomain.com"
    Dim SentFrom As String = "me@mydomain.com"
    Dim MessageBody As String = "blah blah blah"
    Dim MessageSubject As String = "This is the subject"


    Dim mm As New MailMessage(SentFrom, SendTo)
    mm.Subject = MessageSubject
    mm.IsBodyHtml = False
    mm.Priority = MailPriority.High
    mm.Body = MessageBody

    Dim smtp As New SmtpClient()
    smtp.Send(mm)

如果SendTo不是有效的电子邮件地址,则服务器会返回此错误:

Mailbox unavailable. The server response was: 5.1.1 <ThisIsNotARealEmailAddress@mydomain.com>... User unknown

在将电子邮件地址添加到数据库时,是否仍然要验证电子邮件,而不是在发送电子邮件时try catch阻止?

1 个答案:

答案 0 :(得分:2)

用户只是发送到您的域名?你控制域名?它的Windows域名?只需查询AD并从AD获取他们的电子邮件地址,而无需询问他们。那会有效吗?我认为这是一个Windows应用程序,而不是一个Web应用程序。