gpt4 book ai didi

sockets - 通过套接字连接到 Gmail SMTP 返回每个服务器的不同响应

转载 作者:太空宇宙 更新时间:2023-11-03 14:44:24 27 4
gpt4 key购买 nike

我想了解为什么通过 SSL 打开 Gmail 服务器的套接字会为不同的服务器提供不同的响应。这使我无法连接到 Gmail 以发送电子邮件。

下面是一个非常简单的脚本:

<?php

$smtp_connect = fsockopen('ssl://smtp.googlemail.com', 465,
$errno,
$errstr,
300);

var_dump(fgets($smtp_connect, 512));

?>

在服务器 1 [未安装 ssl 证书] 上,上述代码的输出是:string(57) "220 smtp.googlemail.com ESMTP s89sm726209qkl.44 - gsmtp
"

在服务器 2 [已安装 ssl 证书] 上,上述代码的输出为:string(71) "220-mycompany.pro.com ESMTP Exim 4.87 #1 Wed, 26 Oct 2016 07:42:49 -0400
"

谁能解释为什么会这样,我怎样才能使服务器 2 具有与服务器 1 相同的行为?

更新:我也尝试过 smtp.gmail.com,输出与使用 smtp.googlemail.com 相同。

最佳答案

您收到 SMTP 欢迎消息的行。不同的服务器给出不同的欢迎信息是完全正常的。对您发送的命令的响应不同甚至是正常的。这意味着当与 SMTP 服务器通信时,您不应假定固定字符串作为响应,而应实现正确的 SMTP 解析。参见 the SMTP standard (RFC 2821)有关此协议(protocol)的详细信息。

关于sockets - 通过套接字连接到 Gmail SMTP 返回每个服务器的不同响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40262171/

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