2012-04-23 43 views
5

mogę użyć tego kodu, aby wysłać e-mail na mój serwer ExchangeDodawanie wielu linii do ciała SMTP email VB.NET

Try 
     Dim SmtpServer As New SmtpClient 
     Dim mail As New MailMessage 
     SmtpServer.Credentials = New Net.NetworkCredential() 
     SmtpServer.Port = 25 
     SmtpServer.Host = "email.host.com" 
     mail = New MailMessage 
     mail.From = New MailAddress("[email protected]") 
     mail.To.Add("[email protected]") 
     mail.Subject = "Equipment Request" 
     mail.Body = "This is for testing SMTP mail from me" 


     SmtpServer.Send(mail) 

    catch ex As Exception 
     MsgBox(ex.ToString) 
    End Try 

ale jak mogę dodać kilka linii do ciała?

+0

Co złego jest w przygotowaniu komunikatu tekstowego z wieloma liniami i dodać to wszystko do właściwości ciała? – Steve

Odpowiedz

8

Po prostu potraktuj to jak normalny obiekt tekstowy, w którym możesz używać między zdaniami Environment.NewLine lub vbNewLine.

StringBuilder jest przydatna tutaj:

Dim sb As New StringBuilder 
sb.AppendLine("Line One") 
sb.AppendLine("Line Two") 

mail.Body = sb.ToString() 
1

takiego?

Dim myMessage as String = "This is for testing SMTP mail from me" + Environment.NewLine 
myMessage = myMessage + "Line1" + Environment.NewLine 

następnie

mail.Body = myMessage 
3

Chciałbym utworzyć zmienną na swoim ciele, a następnie dodać, że do mail.Body tak to będzie wyglądać mniej więcej tak.

Try 
    Dim strBody as string = "" 
    Dim SmtpServer As New SmtpClient 
    Dim mail As New MailMessage 
    SmtpServer.Credentials = New Net.NetworkCredential() 
    SmtpServer.Port = 25 
    SmtpServer.Host = "email.host.com" 
    mail = New MailMessage 
    mail.From = New MailAddress("[email protected]") 
    mail.To.Add("[email protected]") 
    mail.Subject = "Equipment Request" 
    strBody = "This is for testing SMTP mail from me" & vbCrLf 
    strBody += "line 2" & vbCrLf 
    mail.Body = strBody 

    SmtpServer.Send(mail) 

catch ex As Exception 
    MsgBox(ex.ToString) 
End Try 

Że dołączy podziały wiersza i powinieneś mieć każdą linię na jego własny w mailu.

2

Jeśli ciało wiadomości musi być w formacie HTML, dodaj <br> tagów prawo w ciąg. vbCrLf i StringBuilder nie działają, jeśli treść jest w formacie HTML.

Dim mail As New MailMessage 
mail.IsBodyHtml = True 
mail.Body = "First Line<br>" 
mail.Body += "Second Line<br>" 
mail.Body += "Third Line" 

Jeśli nie jest w formacie HTML, pozostałe odpowiedzi wydają się być dobre.

Powiązane problemy