我在过去几周一直遇到这个问题,它每次都在本地工作,但是一旦我将它部署到我的heroku服务器,它就会给我一个invalid login错误.我已经进入帐户并且可以访问不太安全的应用程序.凭据是正确的,并且每次都在localhost上运行.有什么我想念的吗?
quickSendMail: function(routeBody, callback) {
//configuring the nodemailer for email notifications
var smtpConfig = {
host: 'smtp.gmail.com',
port: 465,
secure: true, // use SSL
auth: {
user: 'mysmtpemail123',
pass: '******'
}
};
var mailOptions = {
from: 'SageStorm Site <mysmtpemail123@gmail.com>',
to: ['my email'],
subject: routeBody.subject,
html: 'my message'
};
var transporter = nodemailer.createTransport(smtpConfig);
transporter.verify(function(error, success) {
if (error) {
console.log(error);
} else {
console.log('server is ready to send emails');
}
})
transporter.sendMail(mailOptions, function(error, info) {
if (error) …Run Code Online (Sandbox Code Playgroud) 有人可以给我解释一下为什么这样做
itemIds = [];
for (var i = 0; i <= data.length; i++) {
itemIds.push(data[0].item);
}
console.log(itemIds); // outputs as expected, the same thing, data.length times
Run Code Online (Sandbox Code Playgroud)
但这是行不通的(唯一的变化是添加i到中push())
itemIds = [];
for (var i = 0; i <= data.length; i++) {
itemIds.push(data[i].item);
}
console.log(itemIds); // TypeError: Cannot read property 'item' of undefined
Run Code Online (Sandbox Code Playgroud)
我需要执行此操作,因为data在此示例中,该操作来自角度$http调用并返回对象。我不明白为什么静态放入0可以工作,但尝试使其在每个对象之间进行迭代data.item却没有。