Javascript 使用smtp客户端发送电子邮件而不提供密码

Javascript 使用smtp客户端发送电子邮件而不提供密码,javascript,node.js,email,smtp,nodemailer,Javascript,Node.js,Email,Smtp,Nodemailer,我正在使用nodemailer尝试通过命令行向自己发送电子邮件: var nodemailer = require('nodemailer'); // config var smtpConfig = { host: 'smtp.myhost.com', port: 465, secure: false, // dont use SSL tls: {rejectUnauthorized: false} }; // create reusable transpo

我正在使用nodemailer尝试通过命令行向自己发送电子邮件:

var nodemailer = require('nodemailer');

// config
var smtpConfig = {
    host: 'smtp.myhost.com',
    port: 465,
    secure: false, // dont use SSL
    tls: {rejectUnauthorized: false} 
};

// create reusable transporter object using the default SMTP transport
var transporter = nodemailer.createTransport(smtpConfig);

// setup e-mail data with unicode symbols
var mailOptions = {
    from: '"Fred Foo Try port 587.

Here are my gmail settings.

smtpServerName="smtp.gmail.com" 
portNumber="587" 
authenticationMode="SSL" 
smtpUserName="somebody@gmail.com" 
smtpUserPassword="xxxxxxxxxx"
var nodemailer=require('nodemailer');
//配置
var smtpConfig={
主机:“smtp.myhost.com”,
港口:465,
安全:false,//不使用SSL
tls:{拒绝未授权:错误}
};
//使用默认SMTP传输创建可重用的传输对象
var transporter=nodeEmailer.createTransport(smtpConfig);
//使用unicode符号设置电子邮件数据
var mailpoptions={
from:“”Fred Foo尝试587端口

这是我的gmail设置

nodemailer.SMTP = {
    host: 'smtp.gmail.com',
    port: 587,
    ssl: false,
    use_authentication: true,
    user: 'my.username@gmail.com',
    pass: 'my.password'
}
我将试验ssl:false和ssl:true

    //singleServer = new SmtpServerSettings("smtp.gmail.com",
    //      "myname@gmail.com", "587", AuthenticationType.Basic,
    //    "myname@gmail.com", "mypassword", "");

    //singleServer = new SmtpServerSettings("smtp.gmail.com",
    //      "myname@gmail.com", "465", AuthenticationType.SSL,
    //      "myname@gmail.com", "mypassword", "");
请务必阅读以下内容:

看起来gmail有两种方式

端口587为(非ssl),但带有TLS

端口465是SSL(但不是TLS)

算了吧


发送到gmail与使用gmail发送电子邮件完全不同。我知道……我正试图发送到gmail。@Mark B。我想你用一个简短的想法总结了这个问题。我没有“看到它”“我想得够早了。@MarcB虽然这可能是真的,但对不懂的人来说,这听起来像个谜。有什么区别吗?你是在问为什么[在这里插入SMTP服务器]这不是一个,为什么开放式邮件中继不再常见。这个链接应该会让你大吃一惊。所以我的问题是:我不明白为什么我需要提供用户名和密码。我没有登录服务。我基本上是在尝试用发件人和收件人地址包装
sendmail
命令。而且,即使在swi之后,我也会遇到同样的错误连接到端口587。(大多数情况下,尤其是使用“云”smtp服务器):您需要向smtp服务提供凭据。这就是他们知道您是“合法”的原因。如果你不提供凭据,任何人/每个人都会通过gmail smtp服务器发送电子邮件……又称垃圾邮件之城。我不知道你为什么会这么想。他们如何验证不属于谷歌的服务?如果我使用的是第三方未经识别的smtp服务怎么办?他们将如何验证?“尝试发送到gmail”。您的smtp服务器计划使用什么?这是您的基本问题。每个smtp服务器都有自己的设置信息。我正在尝试从头开始编写一个。但目前我正在使用一个简单的客户端发送邮件。
sendmail
可以在没有身份验证的情况下执行此操作。为什么我不能在节点中复制此信息?