Günümüzde e-posta göndermek, kullanıcı kaydı, parola sıfırlama,reklamlar veya pazarlama kampanyaları bir yana; artık güvenlik için çift faktörlü doğrulama gibi birçok dijital uygulama ve teknolojilerde veyahut web uygulamalarında yaygın bir özelliktir. Bu konumda sizlere, NodeMailer modülünün yardımıyla Node.js kullanarak farklı yöntemler deneyerek farklı çeşitlerde e-posta göndermeyi basit ve kısa anlatımlarla göstereceğim. Bahsettiğim şeyler projenizin kurulumunu yapmaktan, HTML e-postaları göndermeye ve e-posta ekleri yönetmeye/göndermeye kadar her şeyi ele alacağız. (Kodların içerisine türkçe açıklamalar ve türkçe klasör isimleri şeklinde değiştirdim.)
1. Node.js E-posta Projenize Başlarken
Başlarken yapacağımız ilk adım öncelikle e-posta göndermek için yeni bir Node.js projesi başlatmamız olacak.
-Bir Proje Klasörü Oluşturun-
1. Node.js E-posta Projenize Başlarken
Başlarken yapacağımız ilk adım öncelikle e-posta göndermek için yeni bir Node.js projesi başlatmamız olacak.
-Bir Proje Klasörü Oluşturun-
JavaScript:
mkdir emaildeneme
cd emaildeneme
-Ardından projenizin içindeki ''package.json" dosyasını aşağıdaki gibi yaparak bir dosya oluşturun(veya değiştirin)- :
JavaScript:
{
"name": "emaildeneme",
"version": "1.0.0",
"main": "index.js",
"dependencies": {
"nodemailer": "^6.0.0"
}
}
-Şimdi ise NodeMailer'ı yükleyeceğiz. Gerekli NodeMailer modülünü yüklemek için bu kodu çalıştırın: -
2. İlk E-postanızı Gönderme
Artık gerekli kurulumları,yüklemeleri, importları yaptığımıza göre basit bir e-posta göndererek başlayalım.
-Projeniz içerisinde 'index.js' adında bir dosya olacak ardından (eğer yoksa siz oluşturun) e-posta göndermek için aşağıdaki kodu ekleyin: -
JavaScript:
npm install nodemailer
2. İlk E-postanızı Gönderme
Artık gerekli kurulumları,yüklemeleri, importları yaptığımıza göre basit bir e-posta göndererek başlayalım.
-Projeniz içerisinde 'index.js' adında bir dosya olacak ardından (eğer yoksa siz oluşturun) e-posta göndermek için aşağıdaki kodu ekleyin: -
JavaScript:
import nodemailer from 'nodemailer';
const transporter = nodemailer.createTransport({
host: 'smtp.kendismtpadresiniz.com', //Buraya smtp server adresinizi alttaki port yazan yere ise smtp portunuzu girmelisiniz
port: 25 //Örnek verilmiştir
});
const mailOptions = {
from: '"ByPerPer" <kendiepostanı[email protected]>',
to: '[email protected]',
subject: 'ByPerPer'den bir mesaj!',
text: 'Selam, İyi günler nasılsın?',
html: '<p>Selam, İyi günler nasılsın?</p>'
};
//Aşağısı mail gönderme komutu ve error durumunda gösterilecek mesajları ve hatanın neden oluştuğunu gösteriyor. Bunun için 5.adıma bakın. Ve sürekli sürekli bu kodu kullanmayacağım çünkü her yerde aynı. Html posta gönderirkende aynı, ekli posta gönderirkende.
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
console.log('Hata:', error);
} else {
console.log('Email gönderildi:', info.response);
}
});
Kodunuzu Node.js kullanarak çalıştırın:
Kod:
node index.js
3. E-postanıza Reklam Ve Kampanya (Ekler) Ekleme
E-postanızla dosya göndermeniz gerekiyorsa NodeMailer modulü bunu kolaylaştırır.
Ekli olarak gönderilen e-posta örneği için aşağdaki kodu inceleyin.
JavaScript:
const mailOptions = {
from: '"ByPerPer Email" <kendiepostanı[email protected]>',
to: '[email protected]',
subject: 'Bir Kampanyamız Var!',
text: 'Lütfen ekteki dosyaları inceleyin.',
attachments: [
{
filename: 'reklamdosyasi.txt',
path: './reklamdosyasi.txt' // Kendi oluşturduğunuz dosyayı buraya ekleyebilirsiniz.
},
{
filename: 'test.txt',
content: 'Ürün fiyatlarımız güncellenmiştir. Size özel 2.ürüne %50 indirim kampanyası için web sitemizi ziyaret edin.' // Mesaj içeriği
}
]
};
4. HTML E-postaları Gönderme
HTML e-postaları, biçimlendirme, görseller, bağlantılar ve gerekli programlanmış yazılımlarla(javascript yöntemiyle eklenmesi gibi) mesajlarınızı daha ilgi çekici hale getirebilir.
HTML E-posta Örneği
HTML e-postaları, biçimlendirme, görseller, bağlantılar ve gerekli programlanmış yazılımlarla(javascript yöntemiyle eklenmesi gibi) mesajlarınızı daha ilgi çekici hale getirebilir.
HTML E-posta Örneği
JavaScript:
const mailOptions = {
from: '"ByPerPer Email" <kendiepostanı[email protected]>',
to: '[email protected]',
subject: 'HTML e-Mail',
html: '<h1>Merhaba,Değerli Üyemiz</h1><p>Bu bir HTML e-mail'dir.</p>'
};
5. Hataların Ele Alınması
Bu konudaki anlattığım bazı şeyleri öğrendiğinize göre uygulamanızın düzgün çalışmasını sağlamak için hataları ele almak ve bunları ortadan kaldırmak oldukça önemlidir. Projelerinizde oluşabilecek ve oluşmuş olan hataları görmek için NodeMailer bize böyle bir fırsat sunuyor. Gelin birlikte inceleyelim.
Hata İşleme Örneği
JavaScript:
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
console.log('Hata:', error.message);
} else {
console.log('Email Gönderildi:', info.response);
}
});
Node.js ve NodeMailer kullanarak e-posta göndermek görüldüğü gibi oldukça basittir. Sadece birkaç satır kodla HTML e-postaları gönderebilir veya normal düz metin gönderilebilir hatta dosyalar ekleyebilir ve hataları etkili bir şekilde görüp gereken düzenlemeleri yapabilir veya yönetebilirsiniz. İhtiyacınıza göre özel e-posta hizmetleriyle entegrasyon yapabilir ve e-posta kuyruklarını yönetme gibi daha gelişmiş özellikleri keşfedebilirsiniz.
Değerli vaktinizi çaldığım için özür dilerim, umarım faydalı olabilmişimdir. Faydalı olduysam konuyu beğenmeyi unutmayın.
Moderatör tarafında düzenlendi:
