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

React Native 发送邮件正文并排显示,如何实现内容逐行换行排列?

问题根因

你当前直接将未编码的内容拼接进mailto链接,换行符没有被正确转换为邮件客户端可识别的格式,导致所有内容挤在同一行,同时未编码的用户输入也可能存在特殊字符导致链接失效的风险。

解决方法

你只需要调整邮件正文的构造逻辑,加入换行符并对URL参数做编码处理即可:

  • 在设备信息和用户评论之间插入换行符\n,用户在多行输入框中输入的换行也会自带\n,编码后可被正常识别
  • 对邮件主题、正文这类参数做URL编码,确保特殊字符被正确转义
  • 邮件地址数组显式转为逗号分隔的字符串,避免隐式转换的兼容性问题

修改后的核心代码

const [comment, setComment] = useState('')

let brand = DeviceInfo.getBrand();
let model = DeviceInfo.getModel()

// 构造正文,设备信息单独占一行,后面接用户评论
const body = `${brand} ${model}\n${comment}`
const emailAddress = ['example@gmail.com', 'example2@gmail.com'];
// 编码参数,拼接链接
const emailStr = emailAddress.join(',')
const subject = encodeURIComponent('Error')
const encodedBody = encodeURIComponent(body)
const url = `mailto:${emailStr}?subject=${subject}&body=${encodedBody}`;

修改后生成的链接会自动将\n转换为邮件正文可识别的%0A换行符,设备信息、用户输入的多行内容都会逐行展示,符合你预期的效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 02:24:04