Member 13142345 Ответов: 2

Как отформатировать тело письма в VB .NET windows form


У меня есть 2 текстовых поля для ввода пользователем темы письма и тела письма.

когда он введет название и тело и сохранит их, они будут храниться в базе данных.


когда он хочет отправить электронное письмо, он извлекает заголовок и тело из базы данных и отправляет электронное письмо

Все работает, и мы можем отправить почту пользователю.

Но когда пользователь вводит bodylike ниже и сохраняет в базе данных он сохраняется в строковом типе данных

добро пожаловать к пользователю
спасибо, что выбрали нас
мы рады видеть вас у себя
спасибо

когда мы извлекаем тело из базы данных и отправляем почту, то почта выглядит следующим образом
добро пожаловать к пользователю спасибо что выбрали нас мы рады видеть Вас спасибо


есть ли в любом случае форматировать тело и отправлять его так, как это пользователь вводит в текстовое поле

заранее спасибо

Что я уже пробовал:

Dim Fromemail As String = dt.Rows(0)("email").ToString()
                Dim password As String = dt.Rows(0)("password").ToString()
                Dim mailsubject As String = dt.Rows(0)("title").ToString()
                Dim mailbody As String = dt.Rows(0)("body").ToString()
                Dim portno As Integer = dt.Rows(0)("portno")
                Dim mail As MailMessage = New MailMessage

                mail.From = New MailAddress(Fromemail)
                mail.To.Add(New MailAddress(Toemail))
                mail.Subject = mailsubject
                mail.Body = mailbody

                mail.IsBodyHtml = True

                Dim client As SmtpClient = New SmtpClient("smtp.gmail.com", portno)
                client.EnableSsl = True
                client.UseDefaultCredentials = False
                client.Credentials = New System.Net.NetworkCredential(Fromemail, password)
                Try
                    client.Send(mail)
                    MessageBox.Show("Email Sent Successfully")
                Catch ex As Exception
                    MessageBox.Show("Sending email failed. Please Try again")
                End Try

2 Ответов

Рейтинг:
1

Member 14879230

отель La solucion sensillo Дебес энвиар ООН формата HTML в Комо Эль для проведения следующего шага например

DIM CONTENIDO as string = "<p>добро пожаловать к пользователю</p><p>спасибо, что выбрали нас</p>"
Dim strarray As String =
"<html>" +
"<тело> " +
"&ЛТ;п&ГТ; сайт listado де cliente&ЛТ;/п&ГТ; " +
"" + CONTENTIDO + "" + contener Дебе изменчивым ту &ЛТ;п&ГТ;resultado&ЛТ;/п&ГТ;
"</body> " +
"</html> """

ПОЧТА.Тело = strarray


Рейтинг:
0

pt1401

Ключевым моментом здесь является

mail.IsBodyHtml = True


HTML нуждается в тегах для форматирования, он не уважает символы CRLF,
Ты можешь попробовать
mail.Body = mailbody.Replace("\n", "<br />");

или что-то похожее.