如何在字符串smtpjs中添加换行符

How to add a newline in string 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 不起作用时,有什么想法吗?

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

<br>

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

`some text ${aVariable} some other text`

即使它不起作用,分配给正文的字符串 属性 看起来也会干净得多。

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,如果上述解决方案不起作用,您可能需要根据 Simple Mail Transfer Protocol spec 创建一个字符串: 规范 2.3.7:

"[message data] Lines consist of zero or more data characters terminated by >the sequence ASCII character "CR" (hex value0D) followed immediately by ASCII >character "LF" (hex value 0A).

ASCII table