gpt4 book ai didi

email - 尝试使用 smtp-relay.gmail.com 和 Nodemailer 发送电子邮件。错误 ssl3_get_record :wrong version number

转载 作者:行者123 更新时间:2023-12-04 22:38:17 25 4
gpt4 key购买 nike

尝试使用 G Suite 发送电子邮件 smtp-relay使用 Nodemailer .

const transporter = nodemailer.createTransport({
host: "smtp-relay.gmail.com",
port: 587,
secure: true,
auth: {
user: "username@mydomain.com",
pass: "password"
}
});

const result = await transporter.sendMail({
from: `'"JOHN" <john@externaldomain.com>'`,
to: "hello@mydomain.com",
subject: "Hello",
text: "Hello world!",
});

这就是 G Suite 所说的使用 TLS : Link1 Link2

enter image description here

enter image description here

这就是 Nodemailer 所说的: Link

enter image description here

继续

基本上,G Suite 告诉我我应该为 TLS 使用端口 587,而 Nodemailer 说我不应该。

不知道它是否与端口有关,但这是我得到的错误:

注意:我正在尝试端口 587 .

{ [Error: 13252:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:c:\ws\deps\openssl\openssl\ssl\record\ssl3_record.c:332: ] code: 'ESOCKET', command: 'CONN' }



如果我更改为端口 465 ,我得到这个错误:

'535-5.7.8 Username and Password not accepted. Learn more at\n535 5.7.8 https://support.google.com/mail/?p=BadCredentials ', responseCode: 535, command: 'AUTH PLAIN' }



我知道我的用户和通行证是正确的。

我究竟做错了什么?

最佳答案

Basically G Suite tells me that I should use port 587 for TLS, and Nodemailer says I shouldn't.



两者都在谈论不同的事情。第一个(G Suite)讨论 SSL 与 TLS,即比较协议(protocol)的各种版本。第二个(Nodemailer)讨论显式与隐式 TLS,即使用 STARTTLS 命令(端口 25 和 587)显式升级普通连接或在 TCP 连接后直接建立 TLS(端口 465)。

因此,请按照 Nodemailer 的建议设置 secure: false .如果要强制使用 TLS,即如果邮件服务器不支持 STARTTLS 则失败,则设置 requireTLS: true as documented .

关于email - 尝试使用 smtp-relay.gmail.com 和 Nodemailer 发送电子邮件。错误 ssl3_get_record :wrong version number,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62375786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com