【问题标题】:Problem connecting to my email with a Centos7 server使用 Centos7 服务器连接到我的电子邮件时出现问题
【发布时间】:2020-06-03 16:45:06
【问题描述】:

我使用 php 语言开发了一个简单的代码,用于连接到我的电子邮件并使用本地 Window 10 服务器计算收到的电子邮件数量。

<?php
// server IMAP per la connessione
$server = "{imap.gmail.com:993/ssl/novalidate-cert}";

// account Gmail
$login = 'login@gmail.com';
// password per l'accesso a Gmail
$password = 'password';

// connessione IMAP ad un account Gmail
$connessione = imap_open($server, $login, $password);

$conteggio = imap_num_msg($connessione);

echo $conteggio."<br>";

通过在 Gmail 上启用 IMAP 协议并启用对安全性较低的应用程序的访问,代码确实 不要给出任何错误。

当我尝试将此代码执行到 Centos 7 服务器机器中时,就会出现问题。 我使用以下命令行安装了与我的 PHP 7.3 版本兼容的 IMAP 协议:yum --enablerepo=centos-sclo-sclo-testing install sclo-php73-php-imapservice imapd restart。 成功下载包后,我重新启动服务器并检查

<?php

phpinfo(); 

?> 

并注意 IMAP 已启用。

imap
IMAP c-Client Version   2007f
SSL Support enabled
Kerberos Support    enabled

检查后,如果我尝试运行我的初始代码,输出时会出现以下错误消息:警告:imap_open(): 无法打开流 {imap.gmail.com:993/ssl/novalidate-cert } 即使我启用了 imap 并通过 actvaing。

附言。密码和登录名正确。

【问题讨论】:

    标签: php imap centos7 gmail-imap


    【解决方案1】:

    这个问题似乎与 PHP 无关,而是与连接有关,尤其是当脚本在不同的机器上运行时。

    您需要检查两件事。

    • 您能否在端口 993 上进行出站连接(是否对 OUT 连接开放)。您可以尝试 telnet 进行检查,如果它不起作用,请验证您的 Linux 防火墙设置。
    • 您是否启用了 SELinux,如果启用了,您是否检查了您的审核日志中是否存在 AVC 拒绝?如果您遇到问题,您可能需要启用 httpd_can_network_connect 甚至执行 audit2allow,因为端口可能是非标准的。请小心您的操作,因为您可能会破坏服务器的安全性。

    【讨论】:

      猜你喜欢
      • 2012-06-04
      • 1970-01-01
      • 1970-01-01
      • 2020-12-19
      • 2019-09-08
      • 1970-01-01
      • 2010-10-11
      • 1970-01-01
      • 2014-03-08
      相关资源
      最近更新 更多