当我尝试从EWS获取电子邮件时遇到问题
class EWSModule {
async test(token, mailID){
const ewsConfig = {
token,
host: 'https://outlook.office365.com/EWS/Exchange.asmx',
auth: 'bearer',
username: 'Dont Known Why This Need This'
};
let ews = new EWS(ewsConfig);
console.log(await this.getItem({id:mailID},ews))
}
async getItem (item, ews){
const ewsFunction = 'GetItem';
const ewsArgs = {
'ItemShape': {
'BaseShape': 'Default',
'IncludeMimeContent':'true'
},
"ItemIds" : {
"ItemId" : {
"attributes": {
"Id" : item.Id
}
},
}
};
return await ews.run(ewsFunction, ewsArgs)
}
}未使用ewsConfig上的字段用户名,但它是必需的。
当我这样做的时候,我得到了一个错误:
(node:18) UnhandledPromiseRejectionWarning: Error: no auth mechanism defined
at Auth.onRequest (/usr/src/app/node_modules/node-ews/node_modules/request/lib/auth.js:132:32)
at Request.auth (/usr/src/app/node_modules/node-ews/node_modules/request/request.js:1341:14)
at Request.init (/usr/src/app/node_modules/node-ews/node_modules/request/request.js:378:10)
at new Request (/usr/src/app/node_modules/node-ews/node_modules/request/request.js:127:8)
at request (/usr/src/app/node_modules/node-ews/node_modules/request/index.js:53:10)
at /usr/src/app/node_modules/node-ews/lib/auth/bearer.js:31:11
at init (/usr/src/app/node_modules/when/lib/makePromise.js:39:5)
at new Promise (/usr/src/app/node_modules/when/lib/makePromise.js:27:53)
at Function.promise (/usr/src/app/node_modules/when/when.js:97:10)
at Object.getUrl (/usr/src/app/node_modules/node-ews/lib/auth/bearer.js:30:21)
at /usr/src/app/node_modules/node-ews/lib/ews.js:157:33
at tryCatchReject (/usr/src/app/node_modules/when/lib/makePromise.js:845:30)
at runContinuation1 (/usr/src/app/node_modules/when/lib/makePromise.js:804:4)
at Rejected.when (/usr/src/app/node_modules/when/lib/makePromise.js:625:4)
at Pending.run (/usr/src/app/node_modules/when/lib/makePromise.js:483:13)
at Scheduler._drain (/usr/src/app/node_modules/when/lib/Scheduler.js:62:19)我不知道我在认证时做错了什么,我的其余代码(接收电子邮件)是正确的
@GlenScales u是对的:)我没有将token作为未定义进行传递。但这并没有完全解决我的问题。
不是我得到了一个:
(node:19) UnhandledPromiseRejectionWarning: Error: Invalid or malformed wsdl file: /tmp/tmp-19GjJa1cZki3Xp/services.wsdl
at /usr/src/app/node_modules/node-ews/lib/ews.js:126:20
at FSReqCallback.readFileAfterClose [as oncomplete] (internal/fs/read_file_context.js:73:3)所有文件:

都是空的
发布于 2021-08-26 23:58:00
我认为你对主机的配置是错误的,如在源代码中
// build ews url
ews.urlApi = ews.config.host + '/EWS/Exchange.asmx';
// build ews soap urls
ews.urlServices = ews.config.host + '/ews/services.wsdl';
ews.urlMessages = ews.config.host + '/ews/messages.xsd';
ews.urlTypes = ews.config.host + '/ews/types.xsd';因此,主机的配置应该是
const ewsConfig = {
host: 'https://outlook.office365.com'
};https://stackoverflow.com/questions/68923410
复制相似问题