问题标签 [starttls]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2216 浏览

sockets - 使用 STARTTLS 发送电子邮件

我正在尝试使用 STARTTLS 命令发送电子邮件。我在 Gmail 中设置了一个测试帐户,并将其设置为仅接受带有 TLS 连接的入站电子邮件。

由于我不想进入的原因,我不能使用 JavaMail 或其他电子邮件库。

我已经能够使用 openssl 向这个测试帐户发送电子邮件。所以我知道该帐户已正确设置。

有效的示例:openssl s_client -starttls smtp -crlf -connect aspmx.l.google.com:25

我还能够使用包含 TLS 的 .Net 应用程序向此电子邮件帐户发送电子邮件。

我知道我的示例(如下)不是发送电子邮件的正确方法,因为我没有对服务器的响应做出反应,但我认为这是创建示例来演示问题的好/短方法。

我已经尝试了一段时间来让它发挥作用。我尝试连接不同的端口(465、587、25),结果相似。我得到的错误是在命令“AUTH LOGIN”上,但在我之前的命令“EHLO aspmx.l.google.com”上,我已经没有从服务器得到任何响应。

我得到的错误是:“错误:软件导致连接中止:套接字写入错误”。

我是否在协商 TLS 连接以传输电子邮件的正确路径,还是我遗漏了一些明显的东西?

任何帮助都感激不尽。

例子:

输出:

0 投票
0 回答
1908 浏览

perl - 使用 Net::SMTP::TLS 时出现错误“sslv3 alert handshake failure”

我正在尝试使用 Perl 发送电子邮件。我的代码在 Yahoo 的 SMTP 服务器上运行良好,但是当我尝试使用另一个 SMTP 服务器(带有自签名 SSL 证书)时,出现以下错误:

无法启动 TLS:由于握手问题,SSL 连接尝试失败错误:14094410:SSL 例程:SSL3_READ_BYTES:sslv3 在 mail2.pl 第 2 行警告握手失败。

我的代码是:

我怎样才能解决这个问题?

结果-MIO::Socket::SSL=debug4

0 投票
1 回答
402 浏览

java - 必须先发出 STARTTLS 命令。mail.smtp.EnableSSL.enable 已设置为 true

我正在研究 Java Spring、Maven,我正在尝试使用 gmail id 在 gmail 上发送邮件。我收到此错误:

即使我已经设置了参数

为真。

这是我的功能:

SO 上的所有答案都告诉我们将 mail.smtp.starttls.enable 设置为 true。这样做甚至不起作用。

我还在我的 pom 中包含了 javax.mail 依赖项:

0 投票
1 回答
2844 浏览

sendmail - 后缀 StartTLS 验证=失败

今天早上我开始在我的邮件日志中注意到这些错误。我不确定这个问题存在多久了,但我希望这里有人可以帮助我解决它。

任何时候从我的服务器发送邮件,这些都会显示:

这是一个完整的例子:

我的 SSL 证书不是“自签名”的,是从 namecheap.com 购买的——这个证书也被用于我的网络服务器并且没有问题。

我在 FreeBSD 10.2 上使用 Postfix v2.11。另外,那些“sendmail”行是 Postfix 的一部分吗?我已经使用本指南禁用了 sendmail:https ://www.freebsd.org/doc/handbook/mail-sharingmta.html

任何想法可能导致问题?

0 投票
1 回答
5976 浏览

java - 将 Java Mail StartTLS 与信任库一起使用

我正在尝试通过 Java 邮件 API 连接到使用带有自签名证书的 StartTLS 的邮件服务器。这似乎是一个问题,因为我找不到任何方法来为 StartTLS 设置接受的证书或信任库。

当我按原样运行我的应用程序时,我收到此 PKIX 路径错误:

我宁愿不使用 VM 参数,"-Djavax.net.ssl.trustStore"因为我希望能够控制每次访问的受信任证书。

旁注:我见过人们使用"mail.imap.socketFactory.class"SocketFactory定义的TrustManager. 但是当我这样做时,我的连接失败了

我认为这是因为设置套接字工厂实际上将使用 SMTP over SSL 而不是 StartTLS(它以纯文本连接开始,稍后切换到 TLS)。

0 投票
2 回答
2122 浏览

ssl - 哪种 TLS 方法更适合端口 587?

在SMTP 服务器、STARTTLS 命令或直接 TLS 层上保护提交端口 587 的建议方法是什么?

我目前倾向于使用(强制)STARTTLS命令而不是直接 TLS 层。如果出现问题,可以在不更改 MUA 配置的情况下禁用STARTTLS命令。我认为在直接使用 TLS 层的情况下,它不会那么简单。

还有其他的建议、意见吗?我没有发现它是否在某些 RFC 中被标准化。

0 投票
1 回答
5425 浏览

php - 通过 PHP 的 IMAP:/ssl 和 /tls 选择不同的 TLS 版本

我正在使用z-push-contrib从 IMAP 服务器(也由我运行)获取电子邮件。

如果我使用该imap_open选项/ssl并连接到端口 993,则使用的是 TLS 1.2。

如果我使用/tls并使用 STARTTLS 连接到端口 143,则会使用 TLS 1.0 和不同的密码。

SMTP 行为相同(STARTTLS 仅使用 TLS 1.0)

如果我从命令行使用 openssl,则使用的是 TLS 1.2:

无论我使用 STARTTLS 连接到端口 993 还是 143,我总是使用相同的强大现代密码获得 TLS 1.2 连接。

这是 PHP 的 Openssl 实现中的错误吗?

0 投票
0 回答
2681 浏览

php - PHP SwiftMailer:在启​​用 startTLS 时使用 SMTP 发送电子邮件给出“SSL 操作失败”

我想SwiftMailer(v5.4.1)使用Yii1(1.1.17). 这是我在 main.php(配置文件)中对邮件组件的配置:

邮件服务器和应用服务器在我公司的内部网络中。
当我尝试发送电子邮件时,我会收到此警告。
我想知道原因并在使用 startTLS 与服务器成功握手后发送电子邮件(它在服务器中启用,由网络管理员保证)。

stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

0 投票
1 回答
1734 浏览

ssl - 使用 Spring 容器的带有自签名证书的 Javamail STARTTLS

我正在尝试使用端口 25 上的自签名证书连接到 SMTP 服务器(James 3),并打开 STARTTLS。

我已启用 JavaMail 属性以信任所有主机,但我仍然收到 PKIX 证书路径验证错误。我怎样才能摆脱错误?

请参阅下面的代码。

0 投票
2 回答
2613 浏览

django - Django 在内部服务器错误时尝试向管理员发送电子邮件时未正确启动TLS

我有一个非常奇怪的问题。当发生内部服务器错误时,Django 1.6 会尝试向管理员发送电子邮件,并且显然它同意邮件服务器使用 TLS,但随后无法使用它。这是嗅探到的流量:

如您所见,虽然邮件服务器同意启动 TLS,但 Django 随后发送了一个未加密的mail FROM:指令。

但是,如果我连接到 Django./manage.py shell并运行它:

电子邮件发送正确: