首页 > 解决方案 > 如何在字符串 smtpjs 中添加换行符

问题描述

我试图在 SMTPJS 的正文中换行

        Email.send({
        Host: "smtp.gmail.com",
        Username : "adventureboots.manager@gmail.com",
        Password : "gabriela2600",
        
        To : "bernardoolisan@gmail.com",
        From : "adventureboots.manager@gmail.com",
        Subject : "Compra AdventureBoots de " + name + " " + apellido,
        Body : "ADVENTUREBOOTS!\n" + name + " " + apellido + "\nDATOS DE DISEÑO" + "\nModelo | " + modelo +"\nTalla | " + talla + "\nColor | " + color + "\nColor De Costuras | " + color_de_costura + "\nMaterial | " + material + "\nDATOS DE DIRECCION" + "\nDirección | " + direccion + "\nLugar | " + vivienda + "\nCiudad | " + ciudad + "\nCodigo Postal | " + codigo_postal + "\nCONTACTO" + "\nTelefono | " + telefono + "\nEmail | " + email
    })

当我看到邮件 \n 不工作时,你知道吗?

标签: javascriptsmtpnewlinesmtpjs

解决方案


我们可以尝试使用带有 br 标签的 HTML(这就是它在 OP 中的作用):

<br>

或者,在 JS 中我们可以使用模板文字(也称为模板字符串)。

`some text ${aVariable} some other text`

即使它不起作用,分配给 body 属性的字符串也会看起来更清晰。

const obj = {Body : `ADVENTUREBOOTS!
${name} ${apellido}
DATOS DE DISEÑO
Modelo ${modelo}
Talla ${talla}`};

JS 片段:

    const name = "John";
    const apellido = "Green"
    
    const obj = {Body : `ADVENTUREBOOTS!
    ${name} ${apellido} ...`};
    
    console.log(obj);

由于我们使用 SMTP,如果上述解决方案不起作用,您可能需要根据简单邮件传输协议规范创建一个字符串:规范 2.3.7:

“[消息数据] 行由零个或多个数据字符组成,以 > 序列 ASCII 字符“CR”(十六进制值 0D)结尾,紧接着是 ASCII >字符“LF”(十六进制值 0A)。

ASCII 表


推荐阅读