Créer un fichier EML de manière programmatique est essentiel lorsque vous devez archiver des e‑mails, intégrer des systèmes hérités ou automatiser les notifications. Aspose.3D Cloud SDK for Node.js fournit une bibliothèque simple qui prend en charge les tâches lourdes, vous permettant de vous concentrer sur la logique métier. Dans ce tutoriel, vous apprendrez comment créer un EML avec Node.js, consulter un exemple complet fonctionnel, explorer les commandes cURL équivalentes et découvrir les meilleures pratiques pour une exportation fiable des e‑mails.

Comment créer un EML avec Node.js - Étape par étape

  1. Installez le SDK et configurez les clés API : Utilisez npm pour ajouter le package et créez un objet Configuration avec vos identifiants client.
const { Configuration } = require('@asposecloud/email');

const config = new Configuration({
       clientId: 'YOUR_CLIENT_ID',
       clientSecret: 'YOUR_CLIENT_SECRET'
   });
  1. Initialiser le client EmailApi : Passez la configuration au constructeur EmailApi.
const { EmailApi } = require('@asposecloud/email');
const emailApi = new EmailApi(config);

Pour plus de détails, consultez la référence EmailApi.

  1. Créer un EmailDto avec l’expéditeur, le destinataire, l’objet, le corps et la pièce jointe : Le DTO contient tous les composants de l’e‑mail.
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. Générer le fichier EML: Appelez create avec le format 'Eml'. La méthode renvoie un tampon binaire.
const emlBuffer = await emailApi.create(email, 'Eml');
  1. Écrire le tampon sur le disque : Utilisez le module fs de Node pour enregistrer le fichier.
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}`);

Exemple complet de code : créer un fichier EML avec Node.js

Le code suivant montre l’ensemble du flux de travail, de la configuration à la création du fichier.

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);
    }
})();

Note : Cet exemple de code démontre la fonctionnalité principale. Avant de l’utiliser dans votre projet, assurez‑vous de mettre à jour tous les chemins de fichiers et les valeurs de configuration pour qu’ils correspondent à votre environnement réel, vérifiez que toutes les dépendances requises sont correctement installées et testez soigneusement dans votre environnement de développement. Si vous rencontrez des problèmes, veuillez consulter la documentation officielle ou contacter l’équipe de support pour obtenir de l’aide.

Générer un EML via l’API REST avec cURL

Voici les commandes cURL qui effectuent la même opération via l’API REST.

  1. Obtenir un jeton d’accès
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. Créer le payload JSON de l’e‑mail (enregistrez-le sous 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. Demande de génération 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

Ces commandes vous permettent de générer un fichier EML sans écrire de code Node.js. Pour plus de détails, consultez la documentation officielle de l’API.

Prérequis et configuration pour Aspose.3D Cloud SDK

Pour commencer à utiliser le SDK, vous avez besoin de Node.js (v12 ou version ultérieure) et d’un compte Aspose Cloud.

npm install aspose3dcloud

Vous pouvez également télécharger le package directement depuis la page de publication. Après l’installation, créez un compte gratuit Aspose Cloud, obtenez votre clientId et votre clientSecret, et conservez‑les en sécurité.

Options de réglage fin de génération d’e-mails

Le SDK expose plusieurs propriétés que vous pouvez ajuster :

  • isBodyHtml - Définissez sur true si le corps de votre e‑mail contient du balisage HTML .
  • attachments - Ajoutez plusieurs objets au tableau attachments ; chacun doit inclure un name et un content encodé en Base64.
  • customHeaders - Bien que non affiché dans l’exemple, vous pouvez ajouter une carte customHeaders pour inclure des en‑têtes MIME supplémentaires.

Consultez la référence de la classe EmailDto pour obtenir la liste complète des champs configurables.

Meilleures pratiques pour la génération d’EML

  • Valider les adresses e‑mail avant de les envoyer à l’API pour éviter les erreurs d’exécution.
  • Encoder le contenu des pièces jointes en Base64 pour garantir que les données binaires sont transmises correctement.
  • Réutiliser l’objet Configuration sur plusieurs appels API afin de réduire la surcharge.
  • Gérer les erreurs de manière élégante en enveloppant l’appel create dans un bloc try/catch et en consignant la réponse.
  • Stocker les fichiers EML générés en toute sécurité, surtout s’ils contiennent des informations sensibles.

Conclusion

Créer des fichiers EML en Node.js devient un processus simple et reproductible avec le Aspose.3D Cloud SDK for Node.js. En suivant les étapes, l’exemple de code et les meilleures pratiques décrits ci‑dessus, vous pouvez exporter de manière fiable les e‑mails au format EML pour l’archivage, la conformité ou le traitement en aval. N’oubliez pas de sécuriser vos identifiants d’API et d’obtenir une licence appropriée pour la production ; vous pouvez explorer les options tarifaires ou demander une licence temporaire sur la page de licence temporaire. Bon codage !

FAQ

Comment créer un EML en Node.js avec Aspose.3D Cloud SDK ?
Utilisez la classe EmailApi pour créer un EmailDto, puis appelez create avec le format 'Eml'. L’exemple complet dans cet article montre le code exact.

Quelles options puis‑je personnaliser lors de la création d’un fichier EML ?
Vous pouvez basculer isBodyHtml, ajouter plusieurs pièces jointes et définir des en‑têtes MIME personnalisés. Consultez la section Configuration / Options pour plus de détails.

Une licence est-elle requise pour une utilisation en production ?
Une licence valide est requise pour les déploiements en production. Obtenez une licence temporaire depuis la page de licence temporaire ou achetez une licence complète via la boutique Aspose.

Voir plus