отправка электронной почты в vb.net на странице в формате HTML

0

Я создал форму электронной почты в 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"
  • 0
    вам просто нужно удалить двойную запятую "txtboxvalue.text", чтобы получить значение
Показать ещё 1 комментарий
Теги:

1 ответ

0
Лучший ответ

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

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

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

  • 0
    Такью Надим. Это решено.
  • 0
    рад, что это сработало, рад помочь вам!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню