Створення файлу EML програмно є важливим, коли потрібно архівувати електронні листи, інтегруватися зі старими системами або автоматизувати сповіщення. Aspose.3D Cloud SDK for Node.js надає просту бібліотеку, яка виконує важку роботу, дозволяючи зосередитися на бізнес‑логіці. У цьому підручнику ви дізнаєтеся, як створити EML у Node.js, побачите повний робочий приклад, розглянете еквівалентні команди cURL і відкриєте найкращі практики для надійного експорту електронної пошти.
Як створити EML у Node.js - крок за кроком
- Встановіть SDK та налаштуйте ключі API: Використайте npm, щоб додати пакет, і створіть об’єкт
Configurationз вашими обліковими даними клієнта.
const { Configuration } = require('@asposecloud/email');
const config = new Configuration({
clientId: 'YOUR_CLIENT_ID',
clientSecret: 'YOUR_CLIENT_SECRET'
});
- Ініціалізуйте клієнт EmailApi: Передайте конфігурацію конструктору
EmailApi.
const { EmailApi } = require('@asposecloud/email');
const emailApi = new EmailApi(config);
Для отримання докладної інформації перегляньте довідку EmailApi.
- Створіть EmailDto з відправником, одержувачем, темою, тілом та вкладенням: DTO містить усі компоненти електронного листа.
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')
}]
});
- Створіть файл EML: Викличте
createз форматом'Eml'. Метод повертає двійковий буфер.
const emlBuffer = await emailApi.create(email, 'Eml');
- Записати буфер на диск: Використовуйте модуль
fsNode для збереження файлу.
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}`);
Повний приклад коду: створення файлу EML за допомогою Node.js
Наступний код демонструє повний робочий процес від налаштування до створення файлу.
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);
}
})();
Примітка: Цей приклад коду демонструє основну функціональність. Перш ніж використовувати його у вашому проєкті, переконайтеся, що оновили всі шляхи до файлів та значення конфігурації, щоб вони відповідали вашому реальному середовищу, перевірте, що всі необхідні залежності правильно встановлені, і ретельно протестуйте у вашому середовищі розробки. Якщо ви зіткнулися з будь‑якими проблемами, будь ласка, зверніться до офіційної документації або зв’яжіться з командою підтримки для отримання допомоги.
Генерація EML через REST API за допомогою cURL
Нижче наведено команди cURL, які виконують ту ж саму операцію через REST API.
- Отримати токен доступу
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"
- Створіть електронний лист у форматі JSON (збережіть як
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=="
}
]
}
- Запит на генерацію 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
Ці команди дозволяють створювати файл EML без написання коду Node.js. Для отримання додаткових відомостей перегляньте офіційну документацію API.
Вимоги та налаштування для Aspose.3D Cloud SDK
Щоб почати використовувати SDK, вам потрібен Node.js (v12 або новіший) та обліковий запис Aspose Cloud.
npm install aspose3dcloud
Ви також можете завантажити пакет безпосередньо зі сторінки випуску. Після встановлення створіть безкоштовний обліковий запис Aspose Cloud, отримайте ваші clientId і clientSecret і зберігайте їх у безпеці.
Тонке налаштування параметрів генерації електронної пошти
SDK надає кілька властивостей, які ви можете налаштувати:
- isBodyHtml - Встановіть
true, якщо тіло вашого електронного листа містить розмітку HTML . - attachments - Додайте кілька об’єктів до масиву
attachments; кожен повинен міститиnameі Base64‑закодованийcontent. - customHeaders - Хоча у прикладі це не показано, ви можете додати карту
customHeadersдля включення додаткових MIME‑заголовків.
Зверніться до документації класу EmailDto щоб отримати повний список налаштовуваних полів.
Кращі практики генерації EML
- Перевіряйте електронні адреси перед їх надсиланням до API, щоб уникнути помилок під час виконання.
- Кодуйте вміст вкладення у формат Base64 щоб забезпечити правильну передачу двійкових даних.
- Повторно використовуйте об’єкт Configuration у кількох викликах API, щоб зменшити накладні витрати.
- Обробляйте помилки коректно шляхом обгортання виклику
createу блокtry/catchта журналювання відповіді. - Зберігайте згенеровані файли EML безпечно, особливо якщо вони містять конфіденційну інформацію.
Висновок
Створення EML у Node.js стає простим, повторюваним процесом за допомогою Aspose.3D Cloud SDK for Node.js. Дотримуючись кроків, прикладу коду та найкращих практик, описаних вище, ви можете надійно експортувати електронні листи у формат EML для архівування, відповідності вимогам або подальшої обробки. Не забудьте захистити свої облікові дані API та отримати відповідну ліцензію для використання у продакшені; ви можете ознайомитися з варіантами ціноутворення або запросити тимчасову ліцензію на сторінці тимчасової ліцензії. Успішного кодування!
FAQs
How do I create EML in Node.js using Aspose.3D Cloud SDK?
Використовуйте клас EmailApi для створення EmailDto, потім викличте create з форматом 'Eml'. Повний приклад у цій статті показує точний код.
Які параметри я можу налаштувати під час створення файлу EML?
Ви можете перемикати isBodyHtml, додавати кілька вкладень і визначати власні MIME‑заголовки. Дивіться розділ Configuration / Options для деталей.
Чи потрібна ліцензія для використання у продакшені?
Для продакшн-розгортань потрібна дійсна ліцензія. Отримайте тимчасову ліцензію на сторінці тимчасових ліцензій або придбайте повну ліцензію через магазин Aspose.