You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Recent and New not working for outlook account #900
I am using node-imap to search for the latest emails in my Outlook account's inbox. The documentation mentions the use of the "recent" or "new" flag. However, it seems to work fine for Gmail but not for Outlook. I have attached my code below. Can someone please suggest a solution?
var Imap = require("imap"); // version : "^0.8.19",
let config = {
keepalive: {
interval: 4000,
idleInterval: 200000,
forceNoop: true,
},
user: "example@outlook.com",
password: "xxxxxxxxxxx", // app password
host: "outlook.office365.com",
port: 993,
tls: true,
tlsOptions: { rejectUnauthorized: false },
};
let imap = new Imap(config);
imap.connect()
imap.once("ready", function () {
console.log("Email connection established!");
imap.openBox("INBOX", false, function (err, box) {
if (err) {
console.log("Error opening inbox");
}
});
});
imap.on("error", function (err) {
console.log(err);
});
imap.on("close", function (err) {
console.log("connection closed");
});
imap.on("end", function (err) {
console.log("connection ended");
});
imap.on("mail", function (newMsgNums) {
console.log(`${newMsgNums} mails received!`);
imap.search(["RECENT"], function (error, results) {
if (!results || results.length == 0) {
console.log(`No recent email available!`);
return;
}
var fetchQuery = imap.fetch(results, {
bodies: [""],
struct: true,
});
fetchQuery.on("message", function (msg, seqno) {
msg.on("body", async function (stream, info) {
console.log(stream);
});
msg.on("attributes", function (attrs) {
console.log(attrs);
});
msg.on("end", function () {});
});
fetchQuery.once("error", function (err) {
console.log(err);
});
fetchQuery.on("end", function () {});
});
});
So here on mail event triggered when mails arrive , and i am searching recent mails on those mails.
I understand that when it comes to user authentication within an organization, there can be concerns around the scope for a user (like please contact administrators). To address this, I am opting to use Outlook with an app password to use imap service.
Activity
erivalo commentedon Mar 21, 2023
It seems that outlook does not support simple authentication anymore; you can check this sites in order to connect using oAuth2.0:
https://learn.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth
https://learn.microsoft.com/en-us/answers/questions/875398/read-outlook-mails-via-imap-using-nodejs-and-oauth?page=1
hope this helps...
MadhabaPatra commentedon Mar 22, 2023
@erivalo
I understand that when it comes to user authentication within an organization, there can be concerns around the scope for a user (like please contact administrators). To address this, I am opting to use Outlook with an app password to use imap service.