2014-09-21 1 views
0

Я создал форму электронной почты в vb.net, но мне нужно отправить почту, используя html-формат, который я сделал, который также работает, но когда я получаю почту, значение, написанное в текстовом поле не приходит по электронной почте. в чем проблема?отправка электронной почты в vb.net на HTML-форматированной странице

Imports System 
Imports System.Net.Mail 
Imports System.Net 
Imports System.IO 
Imports System.Configuration 

Partial Class Form 
    Inherits System.Web.UI.Page 

    Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load 

    End Sub 

    Protected Sub submit_button_Click(sender As Object, e As EventArgs) Handles submit_button.Click 
     SendHTMLMail() 
    End Sub 
    ' Method Which is used to Get HTML File and replace HTML File values with dynamic values and send mail 
    Public Sub SendHTMLMail() 
     Dim reader As New StreamReader(Server.MapPath("html.html")) 
     Dim readFile As String = reader.ReadToEnd() 
     Dim myString As String = "" 
     myString = readFile 
     myString = myString.Replace("$$Company_Name$$", "Company_Name") 
     myString = myString.Replace("$$Contact_Person_Name$$", "Txt_ContactPerson.Text") 
     myString = myString.Replace("$$Contact_Person_Mobile_No$$", "Txt_Contact_No.Text") 
     myString = myString.Replace("$$Telephone_No$$", "Txt_TelNo.Text") 
     myString = myString.Replace("$$Email_Id$$", "Txt_Email.Text") 
     myString = myString.Replace("$$Registered_Address$$", "Txt_Address.Text") 
     myString = myString.Replace("$$Year_Of_Commencement_Of_Business$$", "Txt_CommenceYear.Text") 
     myString = myString.Replace("$$Income_TAX_PAN_No$$", "Txt_IncomeTax.Text") 
     myString = myString.Replace("$$CST_No$$", "Txt_CSTNo.Text") 
     myString = myString.Replace("$$VAT_TIN_No$$", "Txt_VatNo.Text") 
     myString = myString.Replace("$$Type_Of_Business_Entity$$", "RadioButtonList1.SelectedValue.ToString") 
     myString = myString.Replace("$$Full_Details$$", "") 
     myString = myString.Replace("$$Business_History$$", "Txt_BusinessHistory.Text") 
     myString = myString.Replace("$$No_Of_Employees$$", "Txt_NoOfEmployees.Text ") 
     myString = myString.Replace("$$Annual_Turnover$$", "") 
     myString = myString.Replace("$$References$$", "") 

     Dim MyMailMessage As New MailMessage() 
     MyMailMessage.From = New MailAddress("[email protected]", "Eternal") 
     MyMailMessage.To.Add("[email protected]") 

     MyMailMessage.Subject = "Eternal" 
     MyMailMessage.Body = myString.ToString() 
     MyMailMessage.IsBodyHtml = True 

     ' Dim SMTPServer As New SmtpClient("smtp.gmail.com") 
     Dim SMTPServer As New SmtpClient() 
     SMTPServer.Host = "208.91.198.227" 
     SMTPServer.Port = 587 

     SMTPServer.Credentials = New System.Net.NetworkCredential("[email protected]", "admin123") 
     'SMTPServer.EnableSsl = True 
     Try 
      SMTPServer.Send(MyMailMessage) 
      Response.Write("Successfull") 

     Catch ex As SmtpException 
      Response.Write(ex) 
     End Try 

    End Sub 
End Class 
+1

Основываясь только на вышесказанном, вы ** не ** получаете указанные значения «Text» указанного/любого элемента управления. например '' Txt_ContactPerson.Text "' – EdSF

+0

Вам просто нужно удалить двойную запятую «txtboxvalue.text», чтобы получить значение – BNN

+0

см. Мой ответ ниже – BNN

ответ

0

Для receving значение любого текстового поля, которое пользователь вставил, значение не должно быть в двойных кавычках. В функции SendHTMLmail(), то второй параметр, где вы хотите получить значение текстового поля для захвата, у просто нужно удалить двойные кавычки

myString = myString.Replace("$$Contact_Person_Name$$", Txt_ContactPerson.Text) 

Попробуйте это для каждого текстового поля, значение которого и хочет захватить. Надеюсь, поможет.

+0

Thakyou Nadeem. Это Решено. – 2014-09-23 11:35:39

+0

рад, что он сработал, приятно вам помочь. – BNN

Смежные вопросы