2012-04-09 26 views
0

に必要な形で私はこのコード指定された文字列が電子メールアドレス

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 protected]") 
      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 protected]", "password") 

      SmtpServer.EnableSsl = True 
      SmtpServer.Send(mail) 

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

    End Sub 
End Class 

に問題を持っておらず、例外がある:指定された文字列は、E-のために必要な形式ではありませんメールアドレス:any soultion ??

答えて

0

空の文字列( "")に_MailToを初期化してから、 "To"メールアドレスをその値に設定しているようです。そのフィールドの値を有効な電子メールアドレスに設定しない限り、電子メール送信者は空の文字列を有効な電子メールアドレスとして認識しません。

(あなたが与えられたコードの外からのMailToプロパティを設定している場合、あなたはそれを設定し、どのような価値があるしている場所を表示するようにコードを提供する必要があります。)

+0

このコードは、フォーム内に存在し、構成されて"txtemail" 保護されたサブSend_Clickと呼ばれるボタンやテキストボックスの(オブジェクトとしてByVal送信者、System.EventArgsとしてByVal e)は新のsendEmail objemail.Mailto = txtEmail.Text objemail.emailとしてSend.Click 薄暗いobjemail() を処理しますLabelEmail.Text = "電子メールが送信されました" End Sub –

+0

@Alaahafethburghall:あなたが最近投稿したもので質問を更新してください。コードはコメント領域で読みにくいです。 – StriplingWarrior

+1

@Alaahafethburghall:また、送信ボタンをクリックする前に、入力した内容をテキストボックスに表示します。デバッガでコードを実行して、コードが実行されているときに_MailTo値の値が何であるかを確認しましたか? – StriplingWarrior

関連する問題