Crear un archivo EML de forma programática es esencial cuando necesitas archivar correos electrónicos, integrarte con sistemas heredados o automatizar notificaciones. Aspose.3D Cloud SDK for Node.js ofrece una biblioteca sencilla que se encarga del trabajo pesado, permitiéndote centrarte en la lógica de negocio. En este tutorial aprenderás cómo crear EML en Node.js, verás un ejemplo completo en funcionamiento, explorarás los comandos cURL equivalentes y descubrirás las mejores prácticas para una exportación de correo electrónico fiable.

Cómo crear EML en Node.js - Paso a paso

  1. Instalar el SDK y configurar las claves API: Use npm para agregar el paquete y crear un objeto Configuration con sus credenciales de cliente.
const { Configuration } = require('@asposecloud/email');

const config = new Configuration({
       clientId: 'YOUR_CLIENT_ID',
       clientSecret: 'YOUR_CLIENT_SECRET'
   });
  1. Inicializar el cliente EmailApi: Pase la configuración al constructor EmailApi.
const { EmailApi } = require('@asposecloud/email');
const emailApi = new EmailApi(config);

Para obtener más detalles, consulte la referencia de EmailApi.

  1. Crear un EmailDto con remitente, destinatario, asunto, cuerpo y adjunto: El DTO contiene todos los componentes del correo electrónico.
    const { EmailDto, MailAddress } = require('@asposecloud/email');
    

const email = new EmailDto({ from: new MailAddress({ address: ‘sender@example.com’, displayName: ‘Sender Name’ }), to: [new MailAddress({ address: ‘recipient@example.com’, displayName: ‘Recipient Name’ })], subject: ‘Test Email generated via Aspose.Email Cloud SDK’, body: ‘Hello,\n\nThis is a test email created with Aspose.Email Cloud SDK for Node.js.\n\nBest regards,\nNode.js’, isBodyHtml: false, attachments: [{ name: ‘sample.txt’, content: Buffer.from(‘Sample attachment content’).toString(‘base64’) }] });


4. **Generar el archivo EML**: Llame a `create` con el formato `'Eml'`. El método devuelve un búfer binario.  
```javascript
const emlBuffer = await emailApi.create(email, 'Eml');
  1. Escribir el búfer en disco: Utilice el módulo fs de Node para guardar el archivo.
const fs = require('fs');
const path = require('path');

const outputFile = path.resolve(__dirname, 'output.eml');
fs.writeFileSync(outputFile, emlBuffer);
console.log(`EML file successfully created at: ${outputFile}`);

Ejemplo completo de código: crear archivo EML con Node.js

El siguiente código muestra el flujo de trabajo completo, desde la configuración hasta la creación del archivo.

const fs = require('fs');
const path = require('path');
const {
    EmailApi,
    EmailDto,
    MailAddress,
    Configuration
} = require('@asposecloud/email');

// -----------------------------------------------------
// 1. Install the SDK and configure API keys
// -----------------------------------------------------
const clientId = 'YOUR_CLIENT_ID';
const clientSecret = 'YOUR_CLIENT_SECRET';

const config = new Configuration({
    clientId: clientId,
    clientSecret: clientSecret,
    // baseUrl is optional; default is https://api.aspose.cloud
});

const emailApi = new EmailApi(config);

// -----------------------------------------------------
// 2. Initialize Email object and set properties
// -----------------------------------------------------
const email = new EmailDto({
    from: new MailAddress({
        address: 'sender@example.com',
        displayName: 'Sender Name'
    }),
    to: [
        new MailAddress({
            address: 'recipient@example.com',
            displayName: 'Recipient Name'
        })
    ],
    subject: 'Test Email generated via Aspose.Email Cloud SDK',
    body: 'Hello,\n\nThis is a test email created with Aspose.Email Cloud SDK for Node.js.\n\nBest regards,\nNode.js',
    isBodyHtml: false,
    // Optional: add a simple text attachment
    attachments: [
        {
            name: 'sample.txt',
            // Content must be Base64‑encoded
            content: Buffer.from('Sample attachment content').toString('base64')
        }
    ]
});

// -----------------------------------------------------
// 3. Generate EML file with Node.js
// -----------------------------------------------------
(async () => {
    try {
        // 'Eml' tells the service to return the message in .eml format
        const emlBuffer = await emailApi.create(email, 'Eml');

// Write the binary buffer to a file
        const outputFile = path.resolve(__dirname, 'output.eml');
        fs.writeFileSync(outputFile, emlBuffer);
        console.log(`EML file successfully created at: ${outputFile}`);
    } catch (error) {
        console.error('Failed to create EML:', error);
    }
})();

Nota: Este ejemplo de código demuestra la funcionalidad principal. Antes de usarlo en su proyecto, asegúrese de actualizar cualquier ruta de archivo y valores de configuración para que coincidan con su entorno real, verifique que todas las dependencias requeridas estén correctamente instaladas y pruebe exhaustivamente en su entorno de desarrollo. Si encuentra algún problema, consulte la documentación oficial o póngase en contacto con el equipo de soporte para obtener ayuda.

Generar EML mediante API REST con cURL

A continuación se muestran los comandos cURL que realizan la misma operación a través de la API REST.

  1. Obtener un token de acceso
curl -X POST "https://api.aspose.cloud/connect/token" \
        -H "Content-Type: application/x-www-form-urlencoded" \
        -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
  1. Crear la carga útil del correo electrónico en JSON (guárdela como email.json)
{
  "from": { "address": "sender@example.com", "displayName": "Sender Name" },
  "to": [{ "address": "recipient@example.com", "displayName": "Recipient Name" }],
  "subject": "Test Email generated via Aspose.Email Cloud SDK",
  "body": "Hello,\n\nThis is a test email created with Aspose.Email Cloud SDK for Node.js.\n\nBest regards,\nNode.js",
  "isBodyHtml": false,
  "attachments": [
    {
      "name": "sample.txt",
      "content": "U2FtcGxlIGF0dGFjaG1lbnQgY29udGVudA=="
    }
  ]
}
  1. Solicitar generación de EML
curl -X POST "https://api.aspose.cloud/email/create?format=Eml" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d @email.json --output output.eml

Estos comandos le permiten generar un archivo EML sin escribir ningún código Node.js. Para obtener más detalles, consulte la documentación oficial de la API.

Requisitos y configuración para Aspose.3D Cloud SDK

Para comenzar a usar el SDK, necesitas Node.js (v12 o posterior) y una cuenta de Aspose Cloud.

npm install aspose3dcloud

También puedes descargar el paquete directamente desde la página de lanzamiento. Después de la instalación, crea una cuenta gratuita de Aspose Cloud, obtén tu clientId y clientSecret, y mantenlos seguros.

Opciones de ajuste fino de generación de correo electrónico

El SDK expone varias propiedades que puedes ajustar:

  • isBodyHtml - Establezca en true si el cuerpo de su correo electrónico contiene marcado HTML.
  • attachments - Añada varios objetos al arreglo attachments; cada uno debe incluir un name y content codificado en Base64.
  • customHeaders - Aunque no se muestra en el ejemplo, puede agregar un mapa customHeaders para incluir encabezados MIME adicionales.

Consulte la referencia de la clase EmailDto para obtener una lista completa de los campos configurables.

Mejores prácticas para la generación de EML

  • Validar direcciones de correo electrónico antes de enviarlas a la API para evitar errores en tiempo de ejecución.
  • Codificar en Base64 el contenido del adjunto para garantizar que los datos binarios se transmitan correctamente.
  • Reutilizar el objeto Configuration en múltiples llamadas a la API para reducir la sobrecarga.
  • Manejar errores de forma elegante envolviendo la llamada create en un bloque try/catch y registrando la respuesta.
  • Almacenar de forma segura los archivos EML generados, especialmente si contienen información sensible.

Conclusión

Crear EML en Node.js se convierte en un proceso simple y repetible con el Aspose.3D Cloud SDK for Node.js. Siguiendo los pasos, el ejemplo de código y las mejores prácticas descritas arriba, puedes exportar correos electrónicos al formato EML de manera fiable para archivado, cumplimiento o procesamiento posterior. Recuerda asegurar tus credenciales de API y obtener una licencia adecuada para uso en producción; puedes explorar opciones de precios o solicitar una licencia temporal en la página de licencia temporal. ¡Feliz codificación!

Preguntas frecuentes

¿Cómo crear EML en Node.js usando Aspose.3D Cloud SDK?
Utilice la clase EmailApi para crear un EmailDto, luego llame a create con el formato 'Eml'. El ejemplo completo en este artículo muestra el código exacto.

¿Qué opciones puedo personalizar al crear un archivo EML?
Puede alternar isBodyHtml, agregar varios archivos adjuntos y definir encabezados MIME personalizados. Consulte la sección Configuración / Opciones para obtener más detalles.

¿Se requiere una licencia para uso en producción?
Se requiere una licencia válida para implementaciones en producción. Obtenga una licencia temporal en la página de licencia temporal o compre una licencia completa a través de la tienda Aspose.

Ver más