在 SMTP 电子邮件 VB.NET 的正文中添加多行
Posted
技术标签:
【中文标题】在 SMTP 电子邮件 VB.NET 的正文中添加多行【英文标题】:Adding multiple lines to body of SMTP email VB.NET 【发布时间】:2012-05-04 05:35:48 【问题描述】:我可以使用此代码在我的 Exchange 服务器上发送电子邮件
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("myemail@email.com")
mail.To.Add("otheremail@email.com")
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
但是如何在正文中添加多行?
【问题讨论】:
准备多行字符串消息并将其全部添加到 body 属性有什么问题? 【参考方案1】:将其视为普通文本对象,您可以在句子之间使用Environment.NewLine
或vbNewLine
。
StringBuilder
在这里很有用:
Dim sb As New StringBuilder
sb.AppendLine("Line One")
sb.AppendLine("Line Two")
mail.Body = sb.ToString()
【讨论】:
【参考方案2】:像这样?
Dim myMessage as String = "This is for testing SMTP mail from me" + Environment.NewLine
myMessage = myMessage + "Line1" + Environment.NewLine
然后
mail.Body = myMessage
【讨论】:
【参考方案3】:我会为您的正文创建一个变量,然后将其添加到 mail.Body,使其看起来像这样。
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("myemail@email.com")
mail.To.Add("otheremail@email.com")
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
这将附加换行符,您应该在电子邮件中拥有自己的每一行。
【讨论】:
【参考方案4】:尝试字符串中的system.environment.newline
...应该可以工作
【讨论】:
【参考方案5】:如果您的邮件正文需要采用 html 格式,请在您的字符串中添加<br>
标签。如果正文是 HTML 格式,vbCrLf
和 StringBuilder
将不起作用。
Dim mail As New MailMessage
mail.IsBodyHtml = True
mail.Body = "First Line<br>"
mail.Body += "Second Line<br>"
mail.Body += "Third Line"
如果不是 HTML 格式,这里的其他答案似乎都不错。
【讨论】:
【参考方案6】:对我有用的是在字符串中使用 ..
strBody = "This is for testing SMTP mail from me<BR> line 2"
【讨论】:
以上是关于在 SMTP 电子邮件 VB.NET 的正文中添加多行的主要内容,如果未能解决你的问题,请参考以下文章