【问题标题】:\n is removed from my email body\n 已从我的电子邮件正文中删除
【发布时间】:2015-12-21 05:31:18
【问题描述】:

我正在使用 JavaScript 来制定 mailto: URI,但由于某种原因,\n 字符不起作用。

我的字符串是这样构造的:

var emailBody = "This is the first line!\n" + "This is the next line.\n" + "And so on and so forth.\n";

然后我形成一个像这样的 URL:

var mailToLink = 'mailto:' + emailTo
               + '?subject=' + emailSubject
               + '&body=' + emailBody;

并指示浏览器导航到该 URI:

var win = window.open(mailToLink, 'emailWindow');

我的电子邮件客户端在窗口中打开草稿电子邮件,但所有“行”都连续显示。我看不到换行符,除了那些由于电子邮件客户端的自然换行而呈现的换行符。

如何在换行符不变的情况下生成这封电子邮件?

【问题讨论】:

  • 如何将该字符串从 JavaScript 数据结构转换为电子邮件的内容?
  • 您的电子邮件是 HTML 格式吗?在这种情况下,您需要使用<br />
  • 完全取决于很多我们看不到的东西。我从来没有听说过 JavaScript 会生成电子邮件。
  • 我正在使用 window.open(mailToLink, 'emailWindow');
  • 我创建了一个变量:mailToLink = 'mailto:' + emailTo + ?subject=' + emailSubject + '&body=' + emailBody;

标签: html email uri mailto


【解决方案1】:

我创建一个变量:mailToLink = 'mailto:' + emailTo + ?subject=' + emailSubject + '&body=' + emailBody;

URL 中不能有文字换行。

在将每个值添加到 URL 字符串时,您应该通过 the encodeURIComponent() function 传递每个值(这将处理所有具有特殊含义的字符,包括换行符、+% 等)。

【讨论】:

  • 绝对的天才!像魅力一样工作!我很高兴,因为我在 Stack 的其他任何地方都看不到这样的答案!接受你的正确和赞成,好先生。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-21
  • 1970-01-01
  • 1970-01-01
  • 2012-05-27
  • 1970-01-01
  • 2013-09-04
相关资源
最近更新 更多