Programlı olarak bir EML dosyası oluşturmak, e‑postaları arşivlemeniz, eski sistemlerle entegrasyon sağlamanız veya bildirimleri otomatikleştirmeniz gerektiğinde önemlidir. Aspose.3D Cloud SDK for Node.js bu ağır işi halleden, iş mantığınıza odaklanmanızı sağlayan basit bir kütüphane sunar. Bu öğreticide Node.js’te EML nasıl oluşturulacağını öğrenecek, tam çalışan bir örnek görecek, eşdeğer cURL komutlarını inceleyecek ve güvenilir e‑posta dışa aktarımı için en iyi uygulamaları keşfedeceksiniz.
Node.js’te EML Oluşturma - Adım Adım
- SDK’yı kurun ve API anahtarlarını yapılandırın: Paketi eklemek için npm kullanın ve istemci kimlik bilgilerinizle bir
Configurationnesnesi oluşturun.
const { Configuration } = require('@asposecloud/email');
const config = new Configuration({
clientId: 'YOUR_CLIENT_ID',
clientSecret: 'YOUR_CLIENT_SECRET'
});
- EmailApi istemcisini başlatın: Yapılandırmayı
EmailApiyapıcısına geçirin.
const { EmailApi } = require('@asposecloud/email');
const emailApi = new EmailApi(config);
Daha fazla ayrıntı için, EmailApi referansı adresine bakın.
- Gönderici, alıcı, konu, gövde ve ek içeren bir EmailDto oluşturun: DTO, tüm e-posta bileşenlerini tutar.
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 dosyasını oluşturun:
createmetodunu'Eml'formatı ile çağırın. Metod bir ikili tampon döndürür.
const emlBuffer = await emailApi.create(email, 'Eml');
- Arabelleği diske yaz: Dosyayı kaydetmek için Node’un
fsmodülünü kullanın.
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}`);
Tam Kod Örneği: Node.js ile EML Dosyası Oluşturma
Aşağıdaki kod, yapılandırmadan dosya oluşturulmasına kadar tüm iş akışını gösterir.
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);
}
})();
Not: Bu kod örneği temel işlevselliği gösterir. Projenizde kullanmadan önce, dosya yollarını ve yapılandırma değerlerini gerçek ortamınıza uygun şekilde güncellediğinizden, tüm gerekli bağımlılıkların doğru şekilde yüklendiğinden emin olun ve geliştirme ortamınızda kapsamlı bir şekilde test edin. Herhangi bir sorunla karşılaşırsanız, lütfen resmi belgeler adresine bakın veya destek ekibi ile iletişime geçin.
cURL ile REST API üzerinden EML Oluşturma
Aşağıda, aynı işlemi REST API üzerinden gerçekleştiren cURL komutları bulunmaktadır.
- Erişim belirteci alın
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"
- E-posta JSON yükünü oluşturun (
email.jsonolarak kaydedin)
{
"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 oluşturma isteği
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
Bu komutlar, herhangi bir Node.js kodu yazmadan bir EML dosyası oluşturmanıza olanak tanır. Daha fazla ayrıntı için, resmi API belgelerine bakın.
Önkoşullar ve Aspose.3D Cloud SDK Kurulumu
SDK’yi kullanmaya başlamak için Node.js (v12 veya daha yeni bir sürüm) ve bir Aspose Cloud hesabına ihtiyacınız var.
npm install aspose3dcloud
Paketi doğrudan sürüm sayfası üzerinden de indirebilirsiniz. Kurulumdan sonra ücretsiz bir Aspose Cloud hesabı oluşturun, clientId ve clientSecret değerlerinizi alın ve güvenli bir şekilde saklayın.
E-posta Oluşturma Seçeneklerini İnce Ayarlama
SDK, ayarlayabileceğiniz çeşitli özellikler sunar:
- isBodyHtml - E-posta gövdeniz HTML işaretlemesi içeriyorsa
trueolarak ayarlayın. - attachments -
attachmentsdizisine birden fazla nesne ekleyin; her biri birnameve Base64‑kodlucontentiçermelidir. - customHeaders - Örnekte gösterilmemiş olsa da, ek MIME başlıkları eklemek için bir
customHeadersharitası ekleyebilirsiniz.
Yapılandırılabilir alanların tam listesi için EmailDto sınıf referansı başvurun.
EML Oluşturma için En İyi Uygulamalar
- E-posta adreslerini doğrulayın API’ye göndermeden önce çalışma zamanı hatalarını önlemek için.
- Ek içeriğini Base64‑kodlayın ikili verinin doğru iletilmesini sağlamak için.
- Configuration nesnesini yeniden kullanın birden fazla API çağrısı arasında yükü azaltmak için.
- Hataları nazikçe ele alın
createçağrısını birtry/catchbloğuna sararak ve yanıtı kaydederek. - Oluşturulan EML dosyalarını güvenli bir şekilde saklayın, özellikle hassas bilgiler içeriyorsa.
Sonuç
Node.js’te EML oluşturmak, Aspose.3D Cloud SDK for Node.js ile basit ve tekrarlanabilir bir süreç haline gelir. Yukarıda belirtilen adımları, kod örneğini ve en iyi uygulamaları izleyerek, e-postaları arşivleme, uyumluluk veya sonraki işleme için EML formatına güvenilir bir şekilde dışa aktarabilirsiniz. API kimlik bilgilerinizi güvence altına almayı ve üretim kullanımı için uygun bir lisans almayı unutmayın; fiyatlandırma seçeneklerini inceleyebilir veya geçici lisans sayfası üzerinden geçici bir lisans talep edebilirsiniz. İyi kodlamalar!
FAQs
Node.js’de Aspose.3D Cloud SDK kullanarak EML nasıl oluşturabilirim?
EmailApi sınıfını kullanarak bir EmailDto oluşturun, ardından 'Eml' formatıyla create metodunu çağırın. Bu makaledeki tam örnek, kesin kodu gösterir.
EML dosyası oluştururken hangi seçenekleri özelleştirebilirim?
isBodyHtml değerini değiştirebilir, birden fazla ek ekleyebilir ve özel MIME başlıkları tanımlayabilirsiniz. Ayrıntılar için Configuration / Options bölümüne bakın.
Üretim kullanımında lisans gerekli mi?
Geçerli bir lisans, üretim dağıtımları için gereklidir. Geçici bir lisansı geçici lisans sayfasından edinebilir veya Aspose mağazası üzerinden tam bir lisans satın alabilirsiniz.