为什么'信息'对象未定义?

时间:2018-03-05 13:47:17

标签: javascript node.js express nodemailer

void loadgrid( unsigned int lvl ) {
    if ( lvl < 0 || lvl > 3 ) {
        std::cout << "Error: invalid level entered: " << lvl << std::endl;
        return;
    }

    int size = 0;
    if ( lvl == 1 )
        size = 8;
    else if ( lvl == 2 ) 
        size = 16;
    else if ( lvl == 3 )
        size = 24;

    for ( int i = 0; i < size; i++ ) {
        for ( int j = 0; j < size; j++ ) {
            if ( lvl == 1 ) 
                L1[i][j] = 'X';
            else if ( lvl == 2 )
                L2[i][j] = 'X';
            else if ( lvl == 3 )
                L3[i][j] = 'X';               
        }
    }   
}

我正在使用transporter.sendMail(mailOptions,(error,info)=>{ if(error) console.log(error) console.log('Message Sent: '+info.messageId) console.log('Preview URL: '+nodemailer.getTestMessageUrl(info)) res.redirect('contacts',{msg:'Email has been sent'}) }); 发送邮件,我已正确配置,但当我将nodemailer的值记录到undefined时,我可能会得到info的原因控制台?

1 个答案:

答案 0 :(得分:1)

由于存在错误,很可能未设置info transporter.sendMail(mailOptions,(error, info)=>{ if (error) { return console.log(error); } console.log('Message Sent: '+info.messageId) console.log('Preview URL: '+nodemailer.getTestMessageUrl(info)) res.redirect('contacts',{msg:'Email has been sent'}) }); 。您必须通过查看他们的source来确认。

但是,您可以通过稍微更改代码来解决此问题,如下所示:

error

这样,如果设置了activeWorkbook,它将记录错误并返回到代码的其余部分之前。这类似于their page上的示例。