Todos los productos
Search
Centro de documentos

Direct Mail:SMTP-Nodejs

Última actualización: Sep 03, 2026

Envíe correos electrónicos mediante el servicio SMTP de Direct Mail con Node.js y nodemailer.

Requisitos previos

Antes de empezar, asegúrese de contar con lo siguiente:

  • Direct Mail activado y una cuenta SMTP creada en la consola de Direct Mail.

  • Su dirección de remitente verificada. El campo from en su código debe coincidir con esta dirección; de lo contrario, se rechazará el mensaje.

  • Su nombre de usuario y contraseña SMTP obtenidos en la consola.

Instalar nodemailer

npm install nodemailer --save

Enviar un correo electrónico

A continuación, el ejemplo usa variables de entorno para almacenar las credenciales SMTP.

Establezca sus credenciales como variables de entorno:

export SMTP_USER="username@userdomain"
export SMTP_PASS="your-smtp-password"
const nodemailer = require('nodemailer');

// Create a reusable transporter. You only need to create this once.
const transporter = nodemailer.createTransport({
    host: 'smtpdm.aliyun.com',
    port: 25,
    secure: true, // use SSL
    auth: {
        user: process.env.SMTP_USER, // your Direct Mail SMTP username
        pass: process.env.SMTP_PASS  // your Direct Mail SMTP password
    }
});

const mailOptions = {
    from: 'NickName<username@userdomain>', // sender address — must match your verified sender address
    to: 'x@x.com, xx@xx.com',             // recipients (comma-separated)
    cc: 'haha<xxx@xxx.com>',              // CC recipients
    bcc: 'haha<xxxx@xxxx.com>',           // BCC recipients
    subject: 'Hello',
    text: 'Hello world',                   // plain text body
    html: '<b>Hello world</b><img src="cid:01" style="width:200px;height:auto">', // HTML body
    attachments: [
        {
            filename: 'text0.txt',
            content: 'hello world!'
        },
        {
            filename: 'text1.txt',
            path: './app.js'
        },
        {
            filename: 'test.JPG',
            path: './Desert.jpg',
            cid: '01'              // content ID referenced in HTML body
        }
    ]
};

transporter.sendMail(mailOptions, (error, info) => {
    if (error) {
        return console.error(error);
    }
    console.log('Message sent:', info.response);
});
Importante

El campo from debe coincidir con la dirección de remitente verificada en su cuenta de Direct Mail. Si no coinciden, se producirán errores de autenticación al enviar el mensaje.