Nodemailer 'form' değişmiyor

  • Konuyu başlatan Konuyu başlatan mertjr
  • Başlangıç Tarihi Başlangıç Tarihi
  • Mesaj Mesaj 19
  • Görüntüleme Görüntüleme 450

mertjr

Başarılı
Katılım
24 Şubat 2024
Mesajlar
381
Beğeniler
205
Nodemailer kullanarak bir form oluşturdum fakat mail gönderen kişi görselde kırmızı ile çizdiğim yer orayı da formda girilen mail adresi gönderdi olarak gösteremedim bir türlü. Bunun bir yolu var mı?



Kod:
 const mailOptpions = {
 from: req.body.mail,
 to: "mertduyar16@gmail.com",
 subject: `Staj Başvuru Formu`,
 text: `
 İsim: ${req.body.isim}
 Mail: ${req.body.mail}
 Telefon: ${req.body.telefon}
 Staj Konusu: ${req.body.stajKonusu}
 Staj Süresi: ${req.body.stajSuresi}
 Staj Dönemi: ${req.body.stajDönemi}
 CV Dosyası: ${req.body.cvDosyasi}
 Staj Dönemi ile ilgili Görüş/Mesaj: ${req.body.comment}
 `,
 };

@brkdnmz
 
req.body'i ve sonra da mailOptions'ı konsola yazdırıp kontrol ettin mi?

body-parser kullanmıyor olabilir misin? Route'lardan önce onu app.use yapman lazım. Yani middleware'i Express app'inde kullanman lazım.

app.use(bodyParser.json());
 
Kod:
const nodemailer = require('nodemailer');

// Örnek e-posta ayarları.
const transporter = nodemailer.createTransport({
 service: 'Gmail',
 auth: {
 user: 'example@gmail.com',
 pass: 'password'.
 }
});

// Gönderen e-posta adresini dinamik olarak belirleme.
const mailOptions = {
 from: req.body.mail || 'example@gmail.com', // Gönderenin e-posta adresi, eğer req.body.mail tanımlıysa kullanılır, değilse varsayılan olarak 'example@gmail.com' kullanılır.
 to: "mertduyar16@gmail.com",
 subject: `Staj Başvuru Formu`,
 text: `
 İsim: ${req.body.isim}
 Mail: ${req.body.mail}
 Telefon: ${req.body.telefon}
 Staj Konusu: ${req.body.stajKonusu}
 Staj Süresi: ${req.body.stajSuresi}
 Staj Dönemi: ${req.body.stajDönemi}
 CV Dosyası: ${req.body.cvDosyasi}
 Staj Dönemi ile ilgili Görüş/Mesaj: ${req.body.comment}
 `,
};

// E-postayı gönderme.
transporter.sendMail(mailOptions, function(error, info){
 if (error) {
 console.log(error);
 } else {
 console.log('Email gönderildi: ' + info.response);
 }
});

Deneyebilir misin?
 
Artı -1 Eksi
kullanmamışım :

Bilgisayara geçince deneyeceğim.
Edit: Denedim hala SMTP'ye bağlı olan mailden gidiyor olarak gözüküyor.
 
Son düzenleme:
Bu özellik Express 4.X sürümünden itibaren express.json() ile sağlanmaktadır ve artık body-parser modülüne ihtiyaç duyulmamaktadır diyorlar yani zaten app.use(express.json()); var mış kodda.
Ha, o da olabilir evet. Ben bunu kullanmaya devam ediyorum.

 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…