Express.js ile E-posta Gönderimi Nasıl Yapılır?
Express.js ile E-posta Gönderimi Nasıl Yapılır?
Günümüz dijital dünyasında, e-posta ile iletişim kurmak her zamankinden daha önemli hale geldi. Web uygulamalarında kullanıcılarla iletişim kurmanın yanı sıra, bildirimler, kullanıcı onayları veya pazarlama amaçlı e-postalar göndermek için de kullanılır. Bu makalede, Express.js kullanarak bir Node.js uygulamasında e-posta göndermenin temel yollarını öğreneceksiniz.
Node.js ve Express.js ile E-posta Göndermeye Giriş
Node.js, sunucu tarafında JavaScript kodu çalıştırmak için kullanılan popüler bir platformdur. Express.js ise, Node.js üzerinde çalışan ve web uygulamaları geliştirmeyi kolaylaştıran bir framework'tür. E-posta gönderimi için genellikle nodemailer
kütüphanesi kullanılır. Bu kütüphane, SMTP (Simple Mail Transfer Protocol) protokolü üzerinden e-posta gönderimini basit bir şekilde gerçekleştirmenizi sağlar.
Nodemailer Kütüphanesini Kurma
Öncelikle, projenizde nodemailer
kütüphanesini kurmanız gerekiyor. Aşağıdaki komutu terminalde çalıştırarak bu işlemi gerçekleştirebilirsiniz:
npm install nodemailer
E-posta Gönderen Bir Uygulama Oluşturma
Aşağıda, Express.js ile bir e-posta gönderme işlemini basit bir şekilde yapan örnek bir uygulama bulunmaktadır:
const express = require('express');
const nodemailer = require('nodemailer');
const app = express();
const PORT = process.env.PORT || 3000;
// E-posta gönderim ayarları
let transporter = nodemailer.createTransport({
host: 'smtp.example.com',
port: 587,
secure: false, // true for 465, false for other ports
auth: {
user: 'your-email@example.com', // Gmail'de OAUTH2 kullanmıyorsanız e-posta adresiniz
pass: 'your-password', // E-posta şifreniz
},
});
app.get('/send-email', (req, res) => {
let mailOptions = {
from: 'sender@example.com', // Gönderen e-posta adresi
to: 'recipient@example.com', // Alıcı e-posta adresi
subject: 'Test E-postası', // E-posta konusu
text: 'Merhaba, bu bir test e-postasıdır!', // E-posta içeriği
};
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
return res.status(500).send(error.toString());
}
res.status(200).send('E-posta gönderildi: ' + info.response);
});
});
app.listen(PORT, () => {
console.log(`Server ${PORT} portunda çalışıyor.`);
});
Yukarıdaki kod, bir Express.js sunucusu kurar ve belirli bir URL yoluna /send-email
GET isteği yapıldığında bir e-posta gönderir. createTransport
fonksiyonu ile e-posta sunucusu yapılandırması yapılır. Uygulamayı çalıştırdığınızda, belirtilen URL'ye bir GET isteği gönderdiğinizde e-postanın gönderileceğini göreceksiniz.
Sonuç
Express.js ile e-posta göndermek, kullanıcılarınızla etkileşim kurmanın etkili bir yoludur. nodemailer
kütüphanesini kullanarak çok çeşitli e-posta senaryolarını gerçekleştirebilir ve uygulamanızı daha etkileşimli hale getirebilirsiniz. Uygulamanızda e-postayla ilgili tüm yapılandırmaları doğru bir şekilde yapmayı unutmayın ve kullanım kısıtlamalarını kontrol edin. E-posta gönderimiyle ilgili daha fazla bilgi için resmi Nodemailer belgesine göz atabilirsiniz.
Yorum Gönder