2012-12-20 28 views
1
if (txtEmail.Text != null) 
{ 
    try 
    { 
     SmtpClient sc = new SmtpClient("localhost", 587); 
     sc.Host = "smtp.gmail.com"; 
     sc.Credentials = new NetworkCredential("[email protected]", 
               "MyPassword"); 
     sc.DeliveryMethod = SmtpDeliveryMethod.Network; 
     sc.EnableSsl = true; 
     MailMessage mailMessage = new MailMessage(); 
     mailMessage.From = new MailAddress("[email protected]"); 
     mailMessage.Subject = "Sending Test"; 
     mailMessage.Body = "this is a test message your UserName is" 
          + txtUserName.Text; 
     mailMessage.IsBodyHtml = true; 
     string mailBox = txtEmail.Text.Trim(); 
     mailMessage.To.Add(mailBox); 
     sc.Send(mailMessage); 
     lblMessage.Text = "Mail send..."; 
    } 
    catch (Exception ex) 
    { 
     lblMessage.Text = ex.Message; 
    } 
} 
else 
{ 
    lblMessage.Text = "you should enter your email address"; 
} 

好吧,首先對不起的關於我弱的英語,但我閱讀了大量有關如何使用C#發送電子郵件的文章,我知道如何做到這一點。 ..獲取電子郵件地址,併發送

但我的問題是,當我想發送輸入的文本框電子郵件和我把例如

(E-mailAddress.text)到郵件地址之MailMessage.Add,

它給我扔了一個例外,說

(參數'地址'不能是一個空字符串。參數名:地址)

,並表明我充滿了E-mailAddress.text用,而不是像一個字符串有電子郵件地址或對象MAILMESSAGE「[email protected]」,甚至在進一步的我不能夠發電子郵件......如果有任何幫助,我會很高興

+2

您可以在此處添加您的代碼嗎?這會告訴我們你錯在哪裏。 –

+0

您可以發佈您迄今爲止開發的代碼和HTML的示例嗎? –

+0

請將您的代碼發佈到您將電子郵件地址添加到您的電子郵件對象的地方, – ryadavilli

回答

1

首先,我會改變

txtEmail.Text != null 

!string.IsNullOrEmpty(txtEmail.Text) 

那麼我會嘗試做這種方式:

mailMessage.To.Add(new MailAddress(txtEmail.Text.Trim())); 

,而不是

string mailBox = txtEmail.Text.Trim(); 
mailMessage.To.Add(mailBox); 

此外,我將實現一種驗證入場的方法d電子郵件地址以避免無效地址:)

+0

tanx Daniel非常有幫助 – Mamali

+0

歡迎:) –

0

檢查:

if (txtEmail.Text.Trim() != String.Empty) 

,而不是

if (txtEmail.Text != null) 
相關問題