【发布时间】:2011-11-11 06:10:54
【问题描述】:
我想使用 node.js 创建一个简单的 smtp 代理,它接收邮件,然后将它们发送到自定义 Gmail 帐户。但是当我连接到 Gmail smtp 服务器时,我需要使用用户名和密码进行身份验证。 BUT:发送方如何知道接收方的用户名和密码?
为什么我的 smtp 客户端无法在没有此类身份验证的情况下向 Gmail 地址发送电子邮件?
我错过了什么吗?
我的代码:
var tls = require("tls");
var fs = require("fs");
var o = {
cert:fs.readFileSync("/certificate.pem"),
key:fs.readFileSync("/key.pem")
};
var c = tls.connect(465,"smtp.gmail.com",o,function(){
c.once("data",function(d){
c.write("HELO cloudstudios.ch\r\n");
c.once("data",function(d){
c.write("MAIL FROM:<test@cloudstudios.ch>\r\n");
});
});
c.on("data",function(d){
console.log(d+"");
});
});
输出:
220 mx.google.com ESMTP u14sm14212124eeh.1
250 mx.google.com at your service
530-5.5.1 Authentication Required. Learn more at
530 5.5.1 http://mail.google.com/support/bin/answer.py?answer=14257 u14sm14212124eeh.1
【问题讨论】: