Итак, у меня проблема с переходом с Mailgun и переходом на Mandrill. Я следовал руководству по применению Parse Purchase, и у меня очень похожая кодовая база. Вот что это в настоящее время и успешно работает.
return Mailgun.sendEmail({
to: currentUser.get('email'),
from: hostEmail,
subject: 'Your ticket(s) purchase for ' + eventObject.get('title') + ' was successful!',
text: body
}).then(null, function(error) {
return Parse.Promise.error('Your purchase was successful, but we were not able to send you an email.');
});
Так что это работает успешно, никаких ошибок не выдается.
Итак, вот эквивалент Mandrill,
return Mandrill.sendEmail({
message: {
text: body,
subject: 'Your ticket(s) purchase for ' + eventObject.get('title') + ' was successful!',
from_email: hostEmail,
from_name: appname,
to: [{
email: currentUser.get('email'),
name: currentUser.get('displayName')
}]
},
async: true
}).then(null, function(error) {
console.log('Sending email failed. Error: ' + error);
return Parse.Promise.error('Your purchase was successful, but we were not able to send you an email.');
});
Судя по всему, это не работает.
Журнал ошибок показывает:
Error: TypeError: Cannot read property 'success' of undefined
at Object.exports.sendEmail (mandrill.js:55:21)
at main.js:115:25
at e (Parse.js:2:6670)
at Parse.js:2:6119
at Array.forEach (native)
at Object.x.each.x.forEach [as _arrayEach] (Parse.js:1:661)
at c.extend.resolve (Parse.js:2:6070)
at Parse.js:2:6749
at e (Parse.js:2:6670)
at Parse.js:2:6119 (Code: 141, Version: 1.6.0)
Итак, я думаю, что Mandrill успешно отправляет электронное письмо, потому что он ищет свойство «успех», но обещание всегда терпит неудачу и возвращает ответ об ошибке обратно в приложение iOS.
Любая помощь будет оценена!
Спасибо еще раз
success
. - person Bergi   schedule 17.03.2015async: false
? - person Bergi   schedule 17.03.2015