Creare un file EML in modo programmatico è fondamentale quando è necessario archiviare le email, integrarsi con sistemi legacy o automatizzare le notifiche. Aspose.3D Cloud SDK for Node.js fornisce una libreria semplice che gestisce il lavoro pesante, consentendoti di concentrarti sulla logica di business. In questo tutorial imparerai come creare EML in Node.js, vedrai un esempio completo funzionante, esplorerai i comandi cURL equivalenti e scoprirai le migliori pratiche per un’esportazione affidabile delle email.

Come creare EML in Node.js - Passo dopo passo

  1. Installa l’SDK e configura le chiavi API: Usa npm per aggiungere il pacchetto e creare un oggetto Configuration con le tue credenziali client.
const { Configuration } = require('@asposecloud/email');

const config = new Configuration({
       clientId: 'YOUR_CLIENT_ID',
       clientSecret: 'YOUR_CLIENT_SECRET'
   });
  1. Inizializzare il client EmailApi: Passare la configurazione al costruttore EmailApi.
const { EmailApi } = require('@asposecloud/email');
const emailApi = new EmailApi(config);

Per ulteriori dettagli, consultare il riferimento EmailApi.

  1. Crea un EmailDto con mittente, destinatario, oggetto, corpo e allegato: Il DTO contiene tutti i componenti dell’email.
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')
       }]
   });
  1. Genera il file EML: Chiama create con il formato 'Eml'. Il metodo restituisce un buffer binario.
const emlBuffer = await emailApi.create(email, 'Eml');
  1. Scrivi il buffer su disco: Usa il modulo fs di Node per salvare il file.
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}`);

Esempio di codice completo: Crea file EML con Node.js

Il codice seguente dimostra l’intero flusso di lavoro dalla configurazione alla creazione del file.

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: Questo esempio di codice dimostra la funzionalità principale. Prima di usarlo nel tuo progetto, assicurati di aggiornare tutti i percorsi dei file e i valori di configurazione per corrispondere al tuo ambiente reale, verifica che tutte le dipendenze richieste siano correttamente installate e testa accuratamente nel tuo ambiente di sviluppo. Se incontri problemi, consulta la documentazione ufficiale o contatta il team di supporto per assistenza.

Genera EML tramite API REST con cURL

Di seguito sono riportati i comandi cURL che eseguono la stessa operazione tramite l’API REST.

  1. Ottieni un token di accesso
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. Crea il payload JSON dell’email JSON (salva come 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. Richiesta generazione 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

Questi comandi ti consentono di generare un file EML senza scrivere alcun codice Node.js. Per ulteriori dettagli, consulta la documentazione ufficiale dell’API.

Prerequisiti e configurazione per Aspose.3D Cloud SDK

Per iniziare a utilizzare l’SDK, è necessario Node.js (v12 o successivo) e un account Aspose Cloud.

npm install aspose3dcloud

Puoi anche scaricare il pacchetto direttamente dalla pagina di rilascio. Dopo l’installazione, crea un account gratuito Aspose Cloud, ottieni il tuo clientId e clientSecret e conservali in modo sicuro.

Ottimizzazione delle opzioni di generazione delle email

L’SDK espone diverse proprietà che è possibile regolare:

  • isBodyHtml - Imposta su true se il corpo della tua email contiene markup HTML.
  • attachments - Aggiungi più oggetti all’array attachments; ciascuno deve includere un name e il content codificato in Base64.
  • customHeaders - Anche se non mostrato nell’esempio, è possibile aggiungere una mappa customHeaders per includere intestazioni MIME aggiuntive.

Fare riferimento al riferimento della classe EmailDto per un elenco completo dei campi configurabili.

Migliori pratiche per la generazione di EML

  • Convalidare gli indirizzi email prima di inviarli all’API per evitare errori di runtime.
  • Codificare in Base64 il contenuto dell’allegato per garantire che i dati binari vengano trasmessi correttamente.
  • Riutilizzare l’oggetto Configuration in più chiamate API per ridurre l’overhead.
  • Gestire gli errori in modo elegante avvolgendo la chiamata create in un blocco try/catch e registrando la risposta.
  • Archiviare i file EML generati in modo sicuro, soprattutto se contengono informazioni sensibili.

Conclusione

Creare EML in Node.js diventa un processo semplice e ripetibile con l’Aspose.3D Cloud SDK for Node.js. Seguendo i passaggi, l’esempio di codice e le migliori pratiche descritti sopra, è possibile esportare le email nel formato EML in modo affidabile per l’archiviazione, la conformità o l’elaborazione successiva. Ricorda di proteggere le credenziali API e di ottenere una licenza adeguata per l’uso in produzione; puoi esplorare le opzioni di prezzo o richiedere una licenza temporanea nella pagina della licenza temporanea. Buon coding!

FAQ

Come creo un EML in Node.js usando Aspose.3D Cloud SDK?
Utilizza la classe EmailApi per creare un EmailDto, quindi chiama create con il formato 'Eml'. L’esempio completo in questo articolo mostra il codice esatto.

Quali opzioni posso personalizzare quando creo un file EML?
È possibile attivare/disattivare isBodyHtml, aggiungere più allegati e definire intestazioni MIME personalizzate. Vedi la sezione Configurazione / Opzioni per i dettagli.

È necessaria una licenza per l’uso in produzione?
È necessaria una licenza valida per le distribuzioni in produzione. Ottieni una licenza temporanea dalla pagina della licenza temporanea o acquista una licenza completa tramite lo store Aspose.

Vedi di più