You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MimeKit.BodyBuilder HtmlBody中<br>与 换行失效问题求助

解决HTML邮件换行失效问题

针对你遇到的<br>标签和\n转义字符无法实现换行的问题,可从以下几个方向排查解决:

1. 完善HTML结构

当前的HtmlBody缺少<body>标签,部分邮件客户端对不完整的HTML解析存在兼容问题。补充完整结构后换行标签更易被识别:

Content = new MimeKit.BodyBuilder()
{
    HtmlBody = $"<html><body>Feedback: {feedback.feedback}<br>WiWoUserID: {user.WiWoUserID}<br>Email: {userEmail}<br>Telefoonnummer: {user.PhoneNumber}</body></html>"
}

2. 对动态内容进行HTML转义

如果feedback.feedback、user.WiWoUserID等变量包含特殊字符(如<、>、&),会破坏HTML结构导致<br>失效。使用WebUtility.HtmlEncode对变量内容转义:

// 需引用System.Net命名空间
var encodedFeedback = WebUtility.HtmlEncode(feedback.feedback);
var encodedUserId = WebUtility.HtmlEncode(user.WiWoUserID.ToString());
var encodedEmail = WebUtility.HtmlEncode(userEmail);
var encodedPhone = WebUtility.HtmlEncode(user.PhoneNumber);

Content = new MimeKit.BodyBuilder()
{
    HtmlBody = $"<html><body>Feedback: {encodedFeedback}<br>WiWoUserID: {encodedUserId}<br>Email: {encodedEmail}<br>Telefoonnummer: {encodedPhone}</body></html>"
}

3. 确认邮件服务的内容处理逻辑

检查_emailService.Send方法是否正确传递BodyBuilder生成的HTML内容,是否存在将HTML强制转换为纯文本的逻辑。MimeKit的BodyBuilder设置HtmlBody后,会自动生成正确的text/html类型邮件体,若服务端有额外处理可能导致格式丢失。

4. 验证邮件客户端视图

部分邮件客户端默认以纯文本模式显示邮件,需手动切换到HTML视图查看效果,确认换行是否生效。

内容的提问来源于stack exchange,提问作者NietTeDoen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 13:07:31