Nodemailer'ın gönderen adres kısmı, alıcı ile aynı görünüyor

8bitlikadadam

Kilopat
Katılım
27 Aralık 2016
Mesajlar
309
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
Meslek
Yazılımcı, Grafik ve Web Tasarımcı, UI Artist, Tır şoförü 😀
Benim e-posta adresim alıcıdaki adres ama gönderen değişmiyor.

Ekran Alıntısı.JPG

Kodlarım da şu şekilde:
[CODE lang="javascript" title="Kullanıcıdan veriyi alan bölüm, index.js"]$("form").submit(function (e) {
e.preventDefault();

var name = $("#name").val();
var surname = $("#surname").val();
var email = $("#email").val();
var subject = $("#subject").val();
var message = $("#message").val();

var formData = {
getName: name,
getSurname: surname,
getEmail: email,
getSubject: subject,
getMessage: message
}

$.ajax({
url: "/",
type: "POST",
contentType: 'application/json',
data: JSON.stringify(formData),
error: function (err) {
console.log(err);
}
});
})[/CODE]
[CODE lang="javascript" title="Node.js'i kullandığım dosya, app.js (Şifreyi buraya yazmak saçma olurdu o yüzden kaldırdım). Bu arada fark ettiyseniz sender kısmını statik olarak yazdım. Hem dinamik hem statik denedim yine de yemiyor."]const express = require('express')
const app = express()
const nodemailer = require('nodemailer')
const home = require("./controllers/router.js");
const port = process.env.PORT || 3000;

app.set('view engine', 'ejs');
app.use('/public', express.static('public'))
app.use(express.json())
app.get("/", home);

const hostMail = "[email protected]";
const service = "gmail";
const password = "";


app.post("/", (req, res) => {
var name, surname, email, subject, message;

name = req.body.getName;
surname = req.body.getSurname;
email = req.body.getEmail;
subject = req.body.getSubject;
message = req.body.getMessage;

let transporter = nodemailer.createTransport({
service,
auth: {
user: hostMail,
pass: password
}
})

let mailOptions = {
from: {
name: "Consultation",
address: "[email protected]"
},
to: hostMail,
subject: subject,
text: message
}

transporter.sendMail(mailOptions, (err, data) => {
if (err) console.log(err);
else {
res.send("Mesaj gönderildi!");
console.log(data);
}
})
})

app.listen(port, function () {
console.log(`Example app listening at http://localhost:${port}`)
})
[/CODE]

Sonuç konsolda şu şekilde görünüyor:
Ekran Alıntısı2.JPG
 
Aşağıda vereceğim değişikliği yapıp deneyebilir misiniz?
[CODE lang="javascript" title="Önce"]from: {
name: "Consultation",
address: "[email protected]"
}[/CODE]
[CODE lang="javascript" title="Sonra"]from: "Consultation <[email protected]>"[/CODE]

Ekleme:
Ben yukarıdaki belirttiğim gibi string olarak kullanıyorum, fakat sizdeki hatayı anladım. "hostMail" diye bir değişken tanımlamışsınız ve bu değişkenin değeri "[email protected]". Bu değişkeni Nodemailer'ın yetkilendirme kısmında kullanmışsınız. Yetkilendirme kısmında kullanılan mail adresi gönderen olacağı için bu şekilde görüyorsunuz.
 
Aşağıda vereceğim değişikliği yapıp deneyebilir misiniz?
[CODE lang="javascript" title="Önce"]from: {
name: "Consultation",
address: "[email protected]"
}[/CODE]
[CODE lang="javascript" title="Sonra"]from: "Consultation <[email protected]>"[/CODE]

Ekleme:
Ben yukarıdaki belirttiğim gibi string olarak kullanıyorum, fakat sizdeki hatayı anladım. "hostMail" diye bir değişken tanımlamışsınız ve bu değişkenin değeri "[email protected]". Bu değişkeni Nodemailer'ın yetkilendirme kısmında kullanmışsınız. Yetkilendirme kısmında kullanılan mail adresi gönderen olacağı için bu şekilde görüyorsunuz.
Denedim, yine aynı sonuç çıktı. Dökümantasyonda şöyle bir yazı var: "Gmail also always sets authenticated username as the From: email address. So if you authenticate as [email protected] and set [email protected] as the from: address, then Gmail reverts this and replaces the sender with the authenticated user.". Sonrasında ise 'login sorunları'nı aşmak için OAuth'2'yi öneriyor ama kayıtlık bir durum yok burada o yüzden işime yaramaz. Bu sorunu nasıl aşarım?
 
"Ekleme" yazdığım yerde sorunu açıklamıştım. Authentication user, gönderen kullanıcı olmalı. Authentication kısmına kullandığınız mail adresi ile, gönderen kısmında kullandığınız mail adresi farklı. Gönderen kısmı bir nebze isim eklemek için.
 

Yeni konular

Geri
Yukarı