NodeJS ile SMTP Mail Gönderme

Merhaba arkadaşlar bugün NodeJS platformu kullanarak yaptığımız projelerde nasıl mail göndericeğimizi görücez.

Bu işlem için nodemailer paketinden yararlanıcaz.Öncelikle bu paketi projemize dahil edelim.Bunun için proje dizinimizde

npm install nodemailer --save

Komutu ile paketimizi projemize dahil ettik. –save tag’ı ilede package.json dosyamıza dahil ettik.

 var transporter = nodemailer.createTransport({
                    host: 'mail.server.com',
                    port: 587,
                    secure: false, // true for 465, false for other ports
                    tls:{
                        rejectUnauthorized: false
                    },
                    auth: {
                        user: "mail user", // generated ethereal user
                        pass: "password"// generated ethereal password
                    }
                });

Öncelikle Mail Sunucumuzun config bilgilerini ayarlıyoruz.

             var mailOptions = { 
                    from: 'Örnek Şifre Sıfırlama', // 
                    sender address to: '[email protected]', // list of receivers 
                    subject: 'Şifre Sıfırlama', // Subject line 
                    html: 'Merhaba , gönderdiğimiz linke tıklayarak şifrenizi değiştirebilirsiniz. Şifrenizi değiştimek için tıklayınız. ' };

                }

Bu kısımda mailin kime gönderileceği ve içeriği ayarlanmıştır.

                // send mail with defined transport object
                transporter.sendMail(mailOptions, function(error, info) {
                    if (error) {
                        console.log('Error occurred');
                        console.log(error.message);
                        return;
                    }
                    console.log('Message sent successfully!');
                    console.log('Server responded with "%s"', info.response);
                });

                res.json({ status:true,message:"Mail gönderildi." });

Son kısımda ise ayarladğımız ayarlardaki maili gönderiyoruz.Siz burda kendi senaryonuza göre hata loglarını başka yere kaydetip ona göre işlem vs. yapabilirsiniz.Ayrıca ben bu kısmı Restfull Api olarak yaptığım için JSON bi çıktı verdim siz kendi senaryonuza göre ayarlamanızı yapmalısınız.

NodeJS te temel olarak mail gönderme işlemi bu şekilde , tabiki her seferinde bu şekilde mail server vs girmektense bunları fonkiyona bağlama configten getirme kısmını falan sizin ayarlamanız gerekli.

Yararlandığım kaynaklar:

Nodemailer Github
Nodemailer Official Website
Nodemailer npm

Comments are closed.