指定的字符串不是电子邮件地址所需的格式

时间:2012-04-09 03:28:53

标签: asp.net vb.net

我在此代码中遇到问题

Imports Microsoft.VisualBasic
Imports System.Net.Mail
Public Class SendEmail

    Private _Mailto As String = ""
    Public Property Mailto() As String
        Get
            Return _Mailto
        End Get
        Set(ByVal value As String)
            _Mailto = value
        End Set
    End Property
    Private _MailSub As String = ""
    Public Property MailSub As String
        Get
            Return _MailSub
        End Get
        Set(ByVal value As String)
            _MailSub = value
        End Set
    End Property
    Private _MailBody As String = ""
    Public Property MailBody As String
        Get
            Return _MailBody
        End Get
        Set(ByVal value As String)
            _MailBody = value
        End Set
    End Property
    Private _Msg As String = ""
    Public ReadOnly Property Msg As String
        Get
            Return _Msg
        End Get
    End Property


    Public Sub email()
        Try
            Dim mail As New MailMessage()
            Dim SmtpServer As New SmtpClient("smtp.gmail.com")
            mail.From = New MailAddress("email@gmail.com")
            mail.[To].Add(_Mailto)
            mail.Subject = _MailSub
            mail.Body = _MailBody
            ' mail.Headers.Add("In-Reply-To", 1)
            SmtpServer.Port = 587
            SmtpServer.Credentials = New System.Net.NetworkCredential("email@gamil.com", "password")

            SmtpServer.EnableSsl = True
            SmtpServer.Send(mail)

            _Msg = " Check Your Mail "
        Catch ex As Exception
            _Msg = ex.Message
        End Try

    End Sub
End Class

,例外是:指定的字符串不是电子邮件地址所需的格式:任何灵魂?

1 个答案:

答案 0 :(得分:0)

看起来您正在将_MailTo初始化为空字符串(“”),然后将“收件人”电子邮件地址设置为该值。除非您将该字段的值设置为某个有效的电子邮件地址,否则电子邮件发件人将无法将空字符串识别为有效的电子邮件地址。

(如果您从给定代码外部设置MailTo属性,则需要提供代码以显示您设置它的位置以及值是什么。)