【问题标题】:Multi-line email body in JSXJSX 中的多行电子邮件正文
【发布时间】:2019-04-25 16:15:11
【问题描述】:

我正在尝试使用以下方法创建具有多行正文的电子邮件:

<a href={"mailto:" + this.state.emailsToNotify + 
         "?subject=" + this.state.mname 
         + "&body=Please, review: " + "\n" + this.state.mname + "\n" + "at " + emailBody 

        }>
    <button style={button4TableStyleObject('#007a86', '#ebf5ff', '#ff3900 #ff3900')} >{'Notify Selected'} </button>
</a>

但是 Outlook 使用单行打开此电子邮件。有没有办法让它多行?我使用带有双引号的"\n",但没有运气。

【问题讨论】:

    标签: javascript ecmascript-6 jsx


    【解决方案1】:

    您必须对传入mailto: url 的参数进行编码。换行可以使用%0A:

    &lt;a href="mailto:foo@example.com?body=First%20line%0Asecond%20line%0A%0ANew%20paragraph"&gt;your message here&lt;/a&gt;

    为了不必手动执行此操作,您可以使用encodeURIComponent()

    console.log(encodeURIComponent(`first line
    second line
    
    paragraph`));

    【讨论】:

    • 既然你提到它,我相信存在:encodeURIComponent 我会尝试两个!谢谢
    • 当你发表评论时,我刚刚更新了我的答案,包括encodeURIComponent():)
    • 我认为encodeURIComponent() 是正确的选择,因为在Windows 上换行符是%0D%0A
    • 大多数客户端应该很好地处理常规的\n换行符,独立于操作系统,并且由于您不知道邮件收件人的目标操作系统,您必须使用@987654330 @ 无论如何,如果你想确定的话。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-04
    • 1970-01-01
    • 1970-01-01
    • 2016-04-12
    • 1970-01-01
    • 2017-01-16
    相关资源
    最近更新 更多