我试图在Angular 4中实现Imap客户端。我需要在我的应用中使用它。
我找到了一个用npm实现Imap的节点模块:Repo
但是我遇到了问题。我在angular-cli.json
中添加以下行"scripts": [
...,
"../node_modules/imap/lib/Connection.js"
],
然后将其导入我的MailboxModule
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { MailboxComponent } from './mailbox.component';
import * as Imap from 'imap' ;
@NgModule({
imports: [
CommonModule,
Imap
],
providers : [ ],
declarations: [MailboxComponent]
})
export class MailboxModule { }
代码编译得很好,但我最终在WebBrowser控制台中出现以下错误:
Uncaught TypeError: Invalid Version:
at new SemVer (semver.js:293)
at compare (semver.js:566)
at Function.gte (semver.js:615)
at Object.<anonymous> (utf7.js:4)
at Object.../../../../utf7/utf7.js (utf7.js:119)
at __webpack_require__ (bootstrap 55f9ac3…:54)
at Object.<anonymous> (Connection.js:7)
at Object.../../../../imap/lib/Connection.js (Connection.js:2128)
at __webpack_require__ (bootstrap 55f9ac3…:54)
at Object.../../../../../src/app/mailbox/mailbox.module.ts (mailbox.component.ts:11)
这是MailboxComponent(经典)
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-mailbox',
templateUrl: './mailbox.component.html',
styleUrls: ['./mailbox.component.css']
})
export class MailboxComponent implements OnInit {
constructor() { }
ngOnInit() {
}
}
答案 0 :(得分:0)
看来,由于webBrowsers无法打开TCP套接字,我们无法直接在我的webapp中获取电子邮件客户端。我需要一个后端,通过IMAP或其他邮件协议连接到邮件服务器,然后通过我将在我的webapp中调用的API返回邮件。