2012-04-23 6 views
5

Hinzufügen ich diesen Code verwenden, um eine E-Mail auf meinem Exchange-Servermehr Zeilen Körper von SMTP-E-Mail 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 

Aber wie kann ich mehrere Zeilen, um den Körper zu senden hinzufügen?

+0

Was ist falsch beim Vorbereiten einer Zeichenfolge Nachricht mit mehreren Zeilen und fügen Sie das alles zusammen zu der Körpereigenschaft? – Steve

Antwort

8

Behandeln Sie es einfach wie ein normales Textobjekt, wo Sie Environment.NewLine oder vbNewLine zwischen Sätzen verwenden können.

StringBuilder ist hier nützlich:

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

mail.Body = sb.ToString() 
1

Wie das?

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

dann

mail.Body = myMessage 
3

würde ich eine Variable für Ihren Körper schaffen und dann das zu dem mail.Body hinzufügen, so dass es in etwa so aussehen würde.

Das wird die Zeilenumbrüche anhängen und Sie sollten jede Zeile für sich in der E-Mail haben.

2

funktionieren, wenn der Körper Ihrer Nachricht im HTML-Format sein muss, fügen Sie die <br>-Tags direkt in Ihrem String. vbCrLf und StringBuilder funktionieren nicht, wenn der Text im HTML-Format vorliegt.

Wenn es nicht im HTML-Format ist, scheinen die anderen Antworten hier gut zu sein.

Verwandte Themen