imap-simple NPMパッケージを使用して電子メールをチェックしていて、挿入が正しく機能するのに問題があります。Meteor 1.3を使用してNPMからコレクションに挿入できません
私はすでにこのページを読んでいます:https://guide.meteor.com/using-npm-packages.html#async-callbacks - 私は提案を試みましたが、どれも動作していません!
私はコードを少しだけ単純化して動作させようとしましたが、まだ運がありません。
meteor npmはimap-simpleをインストールし、上記のコードをサーバーに投げ、電子メールの資格情報を追加してメソッドを呼び出します。件名のにconsole.logが働いている
var imaps = require('imap-simple');
var config = {
imap: {
user: '<removed>',
password: '<removed>',
host: 'imap.gmail.com',
port: 993,
tls: true,
authTimeout: 3000
}
};
Meteor.methods({
api_connectEmail: function() {
console.log('Received call to connect email');
imaps.connect(config).then(function (connection) {
return connection.openBox('INBOX').then(function() {
var searchCriteria = [
'UNSEEN'
];
var fetchOptions = {
bodies: ['HEADER', 'TEXT'],
markSeen: true
};
return connection.search(searchCriteria, fetchOptions).then(function (results) {
results.map(function (res) {
var subject = res.parts.filter(function (part) {return part.which === 'HEADER';})[0].body.subject[0];
console.log("Subject: " + subject);
// insert
var attributes = {
subject: subject
};
console.log("Attempting to insert to collection...");
var newData = TempEmailCollection.insert(attributes);
console.log("New Database Entry ID: " + newData);
});
});
});
})
}
});
:
は、ここに私のコードです。インサートが機能していません。エラーはありません。console.logポスト挿入はありません。
ガイドで推奨されている両方の方法を試しましたが、いずれも動作しません。
TempEmailCollectionとは何ですか? – Darren
@Darrenメール情報を格納するために特別に作られたMongoコレクション。通常、流星のどこにいても、.insertはコレクションで動作します。しかし、NPMモジュールではありません。そして、伝統的に働く方法は私のために働いていません。 –
コードを表示する必要があります。この全体的な質問はそれに関連しているように見えますが、あなたは電子メール(あなたが働いていると言います) – Darren