Nodeメーラーを使用して電子メールを送信しようとしています。私のセットアップは以下の通りです。受取人はMongooseモデルから来ます。 Model Rentals.createdbyemailには、ユーザーの電子メールアドレスが含まれています。私は、メールアドレスがRentals.createdbyemailに含まれていることを確認するために二重チェックしました。このコードは、私はエラーを取得する実行し、いくつかの理由でNodeMailer - 受信者定義エラーなし
:
Error: No recipients defined
どのように私はこのエラーを修正するために私のコードを変更するのでしょうか?助けてくれてありがとう!
注:「to」フィールドのメールアドレスを入力するだけで動作します。
var smtpTrans = nodemailer.createTransport({
service: 'Gmail',
auth: {
user: '[email protected]',
pass: 'password'
}
});
var mailOptions = {
to: Rentals.createdbyemail,
from: 'email',
subject: 'subject',
text: 'This is the email content'
};
smtpTrans.sendMail(mailOptions, function(err) {
console.log('email sent')
if (err){
console.log(err)
}
});
受信者は、マングースモデルから来ている:あなたのコードで
var rentalsSchema = new mongoose.Schema({
reserved: {type: Boolean, default: false},
createdby: String,
createdbyemail: String,
reservedby: String,
reservedemail: String,
author: {
id:{
type: mongoose.Schema.Types.ObjectId,
ref: "User"
},
username: String,
email: String
},
module.exports = mongoose.model("Rentals", rentalsSchema);
からのメールを取得するありがとう!これはトリックでした。私はEJSを使ってページの電子メールを取得しました。それからfindOne({createdbyemail:req.body.createdbyemail}、 – AndrewLeonardi