Ana içeriğe geç

E-posta kullanımı

EmailModule kaydı

app.module.ts
import { Module } from '@nestjs/common';
import { EmailModule, EmailProvider } from 'nestjs-notification-module';

@Module({
imports: [
EmailModule.register({
isGlobal: true,
provider: EmailProvider.SMTP,
defaultFromAddress: 'noreply@example.com',
host: 'smtp.example.com',
auth: { user: 'user', password: 'pass' },
}),
],
})
export class AppModule {}

E-posta gönder

sendAsync parametreleri

EmailService.sendAsync(args) aşağıdaki alanları alır:

AlanTipZorunluNotlar
fromstring❌ HayırdefaultFromAddress değerini override eder.
tostring | string[]✅ EvetAlıcı e-posta(lar).
subjectstring✅ EvetE-posta konusu.
contentstring✅ EvetE-posta içeriği (sağlayıcı’a göre değişir; çoğunlukla HTML).
ccstring[]❌ HayırCC alıcıları.
bccstring[]❌ HayırBCC alıcıları.
attachmentsAttachment[]❌ HayırE-postaya eklenecek dosyalar.

Attachment şekli:

AlanTipZorunluNotlar
contentstring✅ EvetDosya içeriği (genelde Base64, sağlayıcı’a göre değişir).
filenamestring✅ EvetDosya adı.
typestring✅ EvetMIME type (örn. "application/pdf").
encodingstring✅ Evetİçerik encoding’i (sağlayıcı’a göre değişir).
dispositionstring❌ HayırÖrn. "attachment" veya "inline".
mail.service.ts
import { Injectable } from '@nestjs/common';
import { EmailService } from 'nestjs-notification-module';

@Injectable()
export class MailService {
constructor(private readonly email: EmailService) {}

async sendWelcome(to: string) {
return this.email.sendAsync({
to,
subject: 'Welcome',
content: '<b>Hello</b>',
});
}
}
not

Args içinde from verilmezse modül defaultFromAddress kullanır.