2012-04-23 23 views
5

tôi có thể sử dụng mã này để gửi email trên máy chủ Exchange của tôiThêm nhiều dòng để cơ thể củ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 

Nhưng làm thế nào tôi có thể thêm nhiều dòng cho cơ thể?

+0

Điều gì xảy ra khi chuẩn bị một chuỗi tin nhắn với nhiều dòng và thêm tất cả chúng vào nhau với thuộc tính cơ thể? – Steve

Trả lời

8

Chỉ coi nó như đối tượng văn bản thông thường, nơi bạn có thể sử dụng Environment.NewLine hoặc vbNewLine giữa các câu.

StringBuilder là hữu ích ở đây:

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

mail.Body = sb.ToString() 
1

Giống như này?

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

sau đó

mail.Body = myMessage 
3

tôi sẽ tạo ra một biến cho cơ thể của bạn và sau đó thêm rằng đến mail.Body vì vậy nó sẽ giống như thế này.

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 

Điều đó sẽ nối thêm ngắt dòng và bạn nên có mỗi dòng riêng trong email.

2

Nếu cơ thể của tin nhắn của bạn cần phải ở định dạng HTML, thêm <br> thẻ ngay trong chuỗi của bạn. vbCrLfStringBuilder không hoạt động nếu nội dung ở định dạng HTML.

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

Nếu không ở định dạng HTML, các câu trả lời khác ở đây có vẻ là tốt.

Các vấn đề liên quan