ایجاد یک فایل 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');
- نوشتن بافر در دیسک: از ماژول
fsنود برای ذخیرهسازی فایل استفاده کنید.
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"
۲. ایجاد payload ایمیل 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 - اگر محتوای ایمیل شما شامل نشانهگذاری HTML باشد، مقدار
trueرا تنظیم کنید. - attachments - چندین شیء به آرایه
attachmentsاضافه کنید؛ هر کدام باید شاملnameوcontentرمزگذاری شده به Base64 باشد. - customHeaders - اگرچه در نمونه نشان داده نشده است، میتوانید یک نقشه
customHeadersاضافه کنید تا سرآیندهای MIME اضافی را شامل شود.
برای دریافت فهرست کامل فیلدهای قابل پیکربندی به EmailDto class reference مراجعه کنید.
بهترین شیوهها برای تولید EML
- آدرسهای ایمیل را اعتبارسنجی کنید قبل از ارسال آنها به API برای جلوگیری از خطاهای زمان اجرا.
- محتوای پیوست را به Base64 رمزگذاری کنید تا اطمینان حاصل شود که دادههای باینری به درستی منتقل میشوند.
- شیء Configuration را مجدداً استفاده کنید در فراخوانیهای متعدد API برای کاهش بار اضافی.
- خطاها را بهصورت مناسب مدیریت کنید با بستهبندی فراخوانی
createدر یک بلوکtry/catchو ثبت لاگ پاسخ. - فایلهای EML تولید شده را بهصورت ایمن ذخیره کنید, بهویژه اگر حاوی اطلاعات حساس باشند.
نتیجهگیری
ایجاد EML در Node.js تبدیل به یک فرآیند ساده و قابل تکرار میشود با استفاده از Aspose.3D Cloud SDK for Node.js. با دنبال کردن مراحل، مثال کد و بهترین روشهای ذکر شده در بالا، میتوانید بهطور قابل اطمینان ایمیلها را به فرمت EML برای بایگانی، انطباق یا پردازشهای بعدی صادر کنید. بهخاطر داشته باشید که اعتبارنامههای API خود را ایمن کنید و برای استفاده در محیط تولید یک لایسنس مناسب دریافت کنید؛ میتوانید گزینههای قیمتگذاری را بررسی کنید یا یک لایسنس موقت را از صفحه لایسنس موقت درخواست کنید. کدنویسی خوشی داشته باشید!
سوالات متداول
چگونه میتوانم EML را در Node.js با استفاده از Aspose.3D Cloud SDK ایجاد کنم؟
از کلاس EmailApi برای ساخت یک EmailDto استفاده کنید، سپس متد create را با فرمت 'Eml' فراخوانی کنید. مثال کامل در این مقاله کد دقیق را نشان میدهد.
کدام گزینهها را میتوانم هنگام ایجاد یک فایل EML سفارشیسازی کنم؟
میتوانید isBodyHtml را تغییر دهید، پیوستهای متعدد اضافه کنید و سرآیندهای MIME سفارشی را تعریف کنید. برای جزئیات به بخش پیکربندی / گزینهها مراجعه کنید.
آیا برای استفاده در تولید نیاز به مجوز است؟
یک مجوز معتبر برای استقرارهای تولیدی لازم است. یک مجوز موقت را از صفحه مجوز موقت دریافت کنید یا یک مجوز کامل را از فروشگاه Aspose خریداری کنید.