2013-07-15 16 views
1

Я использую Node Mailer, отправляю почту со ссылкой, чтобы щелкнуть эту ссылку, подтвердить учетную запись. Я отправляю почту в учетную запись gmail, все в порядке. Когда я отправляю почту yahoo, я нажимаю ссылку, но ничего не происходит. Это этот код:Узел Mailer - Не удается щелкнуть ссылку в письме Yahoo

var nodemailer = require("nodemailer"); 

var smtpTransport = nodemailer.createTransport("SMTP",{ 
    service: "Gmail", 
    auth: { 
     user: "[email protected]", 
     pass: "aaaa" 
    } 
}); 

exports.signupConfirm = function(user){ 
    var mailOptions = { 
     from: "admin <[email protected]>", // sender address 
     to: user.username, // list of receivers 
     subject: "Xác nhận đăng ký tại StockExchange", 
     html: "<b>Xin chào "+user.lastname+" "+user.firstname+"!</b>" 
      +"<br/>Hãy click vào link dưới đây để hoàn thành đăng ký tại StockExchange:" 
      +"<br/><a href='localhost/signupconfirmed/"+user.username+"'>Hoàn thành đăng ký tại StockExchange!</a>" 
      +"<br/>Cảm ơn bạn đã đăng ký tại StockExchange!" 
    } 

    smtpTransport.sendMail(mailOptions, function(error, response){ 
     if(error){ 
      console.log(error); 
     }else{ 
      console.log("Message sent: " + response.message); 
     } 
     //smtpTransport.close(); // shut down the connection pool, no more messages 
    }); 
} 

Любой человек может помочь мне. Благодарю.

ответ

3

Я не мог открывать ссылки в Yahoo или Thunderbird при отправке из Nodemailer, но когда я построил ссылку в переменной textLink, а затем называется ToString() на этой переменной, она работает:

var textLink = "http://" + req.headers.host + "/signup?token=" + data.hashedEmail; 
    var mailOptions = { 
    from: auth_email, // sender address 
    to: data.email, // list of receivers 
    subject: "Signup Confirmation ✔", // Subject line 
    generateTextFromHTML: true, 
    html: '<b>Signup Confirmation ✔</b><br />' 
     + 'Your email account is : ' + data.email + '<br />' 
     + '<a href=\"'+ textLink.toString() + '\">Click here to activate your account.</a>' 
     + '<br />' 
     + '<br /> Text link: ' + textLink 

I также включили текстовую версию URL-адреса в нижней части сообщения электронной почты, если пользователь не может открыть гиперссылку.

1

Некоторые службы электронной почты не разрешают ссылки, указывающие на «localhost». Попробуйте использовать другой домен (например, google.com) и посмотрите, работает ли он.

Смежные вопросы