Ale*_*lex 9 javascript smtp node.js nodemailer
我已经在主机上设置了电子邮件服务器。它基本上是一个侦听端口25的SMTP服务器。
const recvServer = new SMTPServer({
requireTLS: true,
authOptional: true,
logger: true,
onConnect(session, callback) {
return callback();
},
onMailFrom(address, session, callback) {
console.log('from', address, session);
return callback();
},
onData(stream, session, callback) {
console.log('new msg');
let message = '';
stream.on('data', chunk => {
message += chunk;
});
stream.on('end', () => {
callback(null, 'Message queued');
simpleParser(message)
.then(parsed => {
console.log(parsed);
// here I wish to forward the message to outside gmail addresses
})
.catch(err => {
console.log(ee)
});
});
}
});
recvServer.listen(25);
recvServer.on('error', err => {
console.log(err.message);
});
Run Code Online (Sandbox Code Playgroud)
它可以很好地接收来自外部的电子邮件,例如gmail等。
但我希望也可以将电子邮件发送到外部,或将收到的电子邮件转发到一些gmail地址。
我知道我可以使用Gmail SMTP服务器做到这一点,但随后我需要一个Gmail帐户和密码。
我希望能够使用自己的服务器发送电子邮件,就像yahoo使用自己的服务器(而不是gmail帐户)将邮件发送到gmail一样:)
您需要一个 MTA(邮件传输代理)才能发送电子邮件。
所以流行的选项是:Postfix,这里是如何在 ubuntu 上设置 postfix 的指南:https : //help.ubuntu.com/community/Postfix
或者你可以启动一个 docker 容器,如:https : //hub.docker.com/r/bytemark/smtp/
然后您可以使用nodemailer通过 postfix 或 docker 实例发送电子邮件。
如果你想要一个完整的 docker 镜像,包含所有电池:https : //github.com/tomav/docker-mailserver
| 归档时间: |
|
| 查看次数: |
536 次 |
| 最近记录: |