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

  1. SDK’yı kurun ve API anahtarlarını yapılandırın: Paketi eklemek için npm kullanın ve istemci kimlik bilgilerinizle bir Configuration nesnesi oluşturun.
const { Configuration } = require('@asposecloud/email');

const config = new Configuration({
       clientId: 'YOUR_CLIENT_ID',
       clientSecret: 'YOUR_CLIENT_SECRET'
   });
  1. EmailApi istemcisini başlatın: Yapılandırmayı EmailApi yapı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.

  1. 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')
       }]
   });
  1. EML dosyasını oluşturun: create metodunu 'Eml' formatı ile çağırın. Metod bir ikili tampon döndürür.
const emlBuffer = await emailApi.create(email, 'Eml');
  1. Arabelleği diske yaz: Dosyayı kaydetmek için Node’un fs modü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.

  1. 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"
  1. E-posta JSON yükünü oluşturun (email.json olarak 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=="
    }
  ]
}
  1. 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 true olarak ayarlayın.
  • attachments - attachments dizisine birden fazla nesne ekleyin; her biri bir name ve Base64‑kodlu content içermelidir.
  • customHeaders - Örnekte gösterilmemiş olsa da, ek MIME başlıkları eklemek için bir customHeaders haritası 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ı bir try/catch bloğ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.

Daha Fazla