【发布时间】:2018-03-22 14:26:25
【问题描述】:
我正在尝试为我的应用发送欢迎电子邮件。我正在使用下面的表单和 post 方法。
<form action="/signup" method="post">
<h1> Registro </h1>
<div class="usuario">
<label> Usuario </label> <br />
<input type="text" id="userSign" name="email" onFocus="entrarFoco(this)" onBlur="salirFoco(this); revisarObligatorio(this)">
</div> <!-- Cierre del usuario-->
<div class="password">
<label> Contraseña </label> <br />
<input type="password" name="password" onFocus="entrarFoco(this)" onBlur="salirFoco(this); revisarObligatorio(this)">
</div> <!-- Cierre del password-->
<button type="submit"> Registrarse </button>
</form>
我使用快递和护照进行注册:
app.post('/signup',
passport.authenticate('local-signup', {
successRedirect : '/profile', //si los datos son correctos entraremos al perfil
failureRedirect : '/', //si hay un error o los datos no son correctos redirecciona a la página principal
})
);
我想在用户成功注册后发送一封电子邮件。我正在使用此代码:
// email info
var api_key = '********'; //my apikey
var domain = '*********'; //my domain
var mailgun = require('mailgun-js')({apiKey: api_key, domain: domain});
var email = req.body.email;
console.log('email '+email);
// POST /sendmail
// curl --data "to=<email>, ..." http://localhost:3000/sendmail
var data = {
from: 'foodjoysocial@gmail.com',
to: email,
subject: 'Nuevo registro',
text: 'Testing some Mailgun awesomness!'
};
mailgun.messages().send(data, function (error, body) {
if (error) {
res.json(error);
} else {
console.log(body);
res.json(body);
}
});
我无法使用 req.body.email 从表单的输入 tex 字段中获取电子邮件。我尝试使用电子邮件而不是“req.body.name”,它可以工作。
如何获取用户的电子邮件?
【问题讨论】:
-
>“我已经尝试使用和电子邮件代替它,它可以工作。” ??你不小心把你的句子变成了一部分?
-
错误已修复,对此感到抱歉,希望现在更好
-
在发布问题之前已经阅读过,但我仍然不明白。我在想也许我可以在护照策略中做到这一点,但对我来说看起来并不整洁。
标签: node.js express passport.js mailgun