php - 如何检查是否已建立与 Gmail SMTP 的连接

标签 php email smtp

我想知道是否成功连接到 Gmail 的 SMTP。

我正在使用:

$fp = fsockopen("smtp.gmail.com", 587, $errno, $errstr, 30);
if ($fp) {
    echo "Its Ok";
}
else
{
    echo "No";
}

但是没有用。

最佳答案

你的代码对我有用。
您是否在 phpinfo() 中检查了注册的流套接字传输,如下所示?

Registered Stream Socket Transports tcp, udp, ssl, sslv3, sslv2, tls, tlsv1.0, tlsv1.1, tlsv1.2

我觉得问题可能出在php版本上(我的是5.6.8)。 请引用php解释:

The ssl:// and tls:// transports (available only when openssl support is compiled into PHP) are extensions of the tcp:// transport which include SSL encryption. Since PHP 4.3.0 OpenSSL support must be statically compiled into PHP, since PHP 5.0.0 it may be compiled as a module or statically.

关于php - 如何检查是否已建立与 Gmail SMTP 的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32389225/

相关文章:

html - 使用表格而不使用图像创建跨客户端电子邮件 Logo

PHP - 检查/比较文本字段的输入

php - 使用 PHP 的 OOD 与基于功能服务的架构

email - 电子邮件对 UTF-8 的支持程度如何?

python - 发送带有 Python 错误的 smtp 电子邮件

smtp - 使用纯文本、HTML 和 SMTP 附件的电子邮件的正确电子邮件格式?

c# - 使用 SmtpClient 时如何保存电子邮件而不是发送电子邮件?

php - CodeIgniter 为读取和写入 MySQL 数据配置不同的 IP

php - 通过 PHP 发布到 Facebook 粉丝页面的简单示例?

javascript - SSL23_GET_SERVER_HELLO :unknown protocol [connection to msa (587) port]