At oprette en EML fil programmatisk er vigtigt, når du har brug for at arkivere e‑mails, integrere med ældre systemer eller automatisere meddelelser. Aspose.3D Cloud SDK for Node.js leverer et enkelt bibliotek, der håndterer det tunge løft, så du kan fokusere på forretningslogik. I denne vejledning vil du lære, hvordan du opretter EML i Node.js, se et komplet fungerende eksempel, udforske tilsvarende cURL‑kommandoer og opdage bedste praksis for pålidelig e‑mail‑eksport.
Sådan oprettes EML i Node.js - Trin for trin
- Installer SDK’en og konfigurer API-nøgler: Brug npm til at tilføje pakken og opret et
Configuration-objekt med dine klientoplysninger.
const { Configuration } = require('@asposecloud/email');
const config = new Configuration({
clientId: 'YOUR_CLIENT_ID',
clientSecret: 'YOUR_CLIENT_SECRET'
});
- Initialiser EmailApi-klienten: Overfør konfigurationen til
EmailApi-konstruktøren.
const { EmailApi } = require('@asposecloud/email');
const emailApi = new EmailApi(config);
For flere detaljer, se EmailApi reference.
- Opret en EmailDto med afsender, modtager, emne, brødtekst og vedhæftning: DTO’en indeholder alle e‑mail‑komponenterne.
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')
}]
});
- Generer EML-filen: Kald
createmed formatet'Eml'. Metoden returnerer en binær buffer.
const emlBuffer = await emailApi.create(email, 'Eml');
- Skriv bufferten til disk: Brug Node’s
fs-modul til at gemme filen.
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}`);
Komplet kodeeksempel: Opret EML-fil med Node.js
Følgende kode demonstrerer hele arbejdsprocessen fra konfiguration til filoprettelse.
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);
}
})();
Bemærk: Dette kodeeksempel demonstrerer kernefunktionaliteten. Før du bruger det i dit projekt, skal du sikre dig, at du opdaterer alle filstier og konfigurationsværdier, så de matcher dit faktiske miljø, bekræfter at alle nødvendige afhængigheder er korrekt installeret, og tester grundigt i dit udviklingsmiljø. Hvis du støder på problemer, så henvis til den officielle dokumentation eller kontakt supportteamet for assistance.
Generer EML via REST API med cURL
Nedenfor er cURL‑kommandoerne, der udfører den samme handling gennem REST‑API’en.
- Få en adgangstoken
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"
- Opret e‑mail‑JSON payload (gem som
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=="
}
]
}
- Anmod om EML‑generering
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
Disse kommandoer giver dig mulighed for at generere en EML‑fil uden at skrive nogen Node.js‑kode. For flere detaljer, se den officielle API‑dokumentation.
Forudsætninger og opsætning for Aspose.3D Cloud SDK
For at begynde at bruge SDK’en, skal du have Node.js (v12 eller nyere) og en Aspose Cloud-konto.
npm install aspose3dcloud
Du kan også downloade pakken direkte fra udgivelsessiden. Efter installationen skal du oprette en gratis Aspose Cloud‑konto, hente din clientId og clientSecret og holde dem sikre.
Finjustering af e‑mailgenereringsindstillinger
SDK’en eksponerer flere egenskaber, du kan justere:
- isBodyHtml - Sæt til
true, hvis din e‑mail‑krop indeholder HTML markup. - attachments - Tilføj flere objekter til
attachments‑arrayet; hver skal indeholde etnameog Base64‑kodetcontent. - customHeaders - Selvom det ikke vises i eksemplet, kan du tilføje et
customHeaders‑kort for at inkludere yderligere MIME‑headers.
Se EmailDto class reference for en komplet liste over konfigurerbare felter.
Bedste praksis for EML-generering
- Valider e‑mailadresser før du sender dem til API’et for at undgå køretidsfejl.
- Base64‑kod vedhæftningsindhold for at sikre, at binære data overføres korrekt.
- Genbrug Configuration‑objektet på tværs af flere API‑kald for at reducere overhead.
- Håndter fejl på en elegant måde ved at pakke
create‑kaldet ind i entry/catch‑blok og logge svaret. - Gem genererede EML‑filer sikkert, især hvis de indeholder følsomme oplysninger.
Konklusion
At oprette EML i Node.js bliver en simpel, gentagelig proces med Aspose.3D Cloud SDK for Node.js. Ved at følge trinnene, kodeeksemplet og de bedste praksisser, der er beskrevet ovenfor, kan du pålideligt eksportere e‑mails til EML‑formatet til arkivering, overholdelse eller efterfølgende behandling. Husk at sikre dine API‑legitimationsoplysninger og skaffe en korrekt licens til produktionsbrug; du kan undersøge prisoptioner eller anmode om en midlertidig licens på den midlertidige licensside. God kodning!
Ofte stillede spørgsmål
Hvordan opretter jeg EML i Node.js ved hjælp af Aspose.3D Cloud SDK?
Brug EmailApi-klassen til at opbygge en EmailDto, og kald derefter create med formatet 'Eml'. Det komplette eksempel i denne artikel viser den nøjagtige kode.
Hvilke indstillinger kan jeg tilpasse, når jeg opretter en EML-fil?
Du kan skifte isBodyHtml, tilføje flere vedhæftede filer og definere brugerdefinerede MIME-overskrifter. Se afsnittet Konfiguration / Indstillinger for detaljer.
Er en licens påkrævet til produktionsbrug?
En gyldig licens er påkrævet til produktionsimplementeringer. Få en midlertidig licens fra den midlertidige licensside eller køb en fuld licens gennem Aspose-butikken.