我正在使用VB.NET发送电子邮件。 电子邮件的示例可能如下所示:
姓名:(姓名)
电邮地址:(电邮地址)
电话号码:(电话号码)
以下代码段有效。它只是在线之间放置太多的间距。我已经尝试摆脱System.Environment.NewLine,但我的行不再格式化了。
我也尝试过不使用StringBuilder,它也没有正确格式化。
'Email Generation ----------------------------------------------------
Dim builder As New StringBuilder
builder.AppendLine("Name: " + Name + System.Environment.NewLine")
builder.AppendLine("Email Address: " + EmailAddress+ System.Environment.NewLine")
builder.AppendLine("Phone Number: " + PhoneNumber+ System.Environment.NewLine")
emailBody = builder.ToString
任何建议肯定会有所帮助!
谢谢!
答案 0 :(得分:1)
确保您拥有正确的编码,如果您没有使用< br>然后需要将IsBodyHtml设置为false。这是一个简单的例子:
Dim server As New SmtpClient
Dim email As New MailMessage
server.UseDefaultCredentials = False
server.Credentials = New System.Net.NetworkCredential("x", "x")
server.Port = 25
server.EnableSsl = False
server.Host = "x"
email.From = New MailAddress("x")
email.To.Add("x")
email.BodyEncoding = System.Text.Encoding.UTF8
Dim s = "Name: " + vbNewLine + "Email: " + vbNewLine + "Phone"
email.Body = s
server.Send(email)
我用“x”
替换了所有凭证/地址答案 1 :(得分:1)
如果使用html格式而不是纯文本,请尝试以下
Dim fullName As String = "Karen Payne"
Dim emailAddress As String = "payne@gmail.com"
Dim phoneNumber As String = "555-334-1111"
Dim content =
<body>
<table>
<tr>
<td>Name: <%= fullName %></td>
</tr>
<tr>
<td>Email address: <%= emailAddress %></td>
</tr>
<tr>
<td>Phone number: <%= phoneNumber %></td>
</tr>
</table>
</body>
如果这还有太多空间让你告诉我。