Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
smtp、phpinfo、sendmail_Php_Smtp_Phpinfo - Fatal编程技术网

smtp、phpinfo、sendmail

smtp、phpinfo、sendmail,php,smtp,phpinfo,Php,Smtp,Phpinfo,我试图使用PHPmailer发送电子邮件,但是当我在php.ini中更改SMTP服务器时,它在phpinfo中没有更新-它仍然显示localhost。我假设这就是我收到错误的原因SMTP错误:无法连接到SMTP主机 您能帮我找到错误和无法更改SMTP服务器的可能原因吗?即使我可以更改SMTP\u端口 我已经尝试过用邮件服务器来实现这一点,而且我在安装pear时也遇到了很多麻烦,所以我只想让它工作起来。我尝试了smtp.mail.yahoo.com,smtp.gmail.com,以及我们自己的邮件

我试图使用PHPmailer发送电子邮件,但是当我在php.ini中更改SMTP服务器时,它在phpinfo中没有更新-它仍然显示localhost。我假设这就是我收到错误的原因
SMTP错误:无法连接到SMTP主机

您能帮我找到错误和无法更改SMTP服务器的可能原因吗?即使我可以更改SMTP\u端口

我已经尝试过用邮件服务器来实现这一点,而且我在安装pear时也遇到了很多麻烦,所以我只想让它工作起来。我尝试了
smtp.mail.yahoo.com
smtp.gmail.com
,以及我们自己的邮件服务器,但它仍然显示为本地主机。每次更改时,我都会重新启动


这是我第三天诊断发送简单电子邮件的问题(我在asp.net中发现这更容易)。如果你需要任何进一步的信息,请告诉我。提前谢谢。

可能是个愚蠢的问题,但您使用的是正确的php.ini文件吗?-在许多装置中,周围可能不止一个。我总是反复检查我正在更改的php.ini文件是否是phpinfo()中引用的文件。

可能是个愚蠢的问题,但您使用的是正确的php.ini文件吗?-在许多装置中,周围可能不止一个。我总是反复检查我正在更改的php.ini文件是否是phpinfo()中引用的文件。

进一步考虑,我使用的是phpmailer,但没有在php.ini中设置smtp服务器。相反,我创建了一个扩展phpmailer的新类,并在其中指定我的SMTP设置,如下所示

这使我能够为多个站点配置SMTP设置,而无需接触php.ini或标准phpmailer文件

<?php
require_once('initialise.inc.php');  // Initialising constants including LIB_PATH & DS
require_once(LIB_PATH.DS."phpmailer".DS."class.phpmailer.php");
require_once(LIB_PATH.DS."phpmailer".DS."class.smtp.php");

class my_phpmailer extends phpmailer {

    public $From = "me@example.com"; // Email Address
    public $FromName = "My Name"; // Name
    public $Host = "mailserver.example.com";
    public $Mailer = "smtp";
    public $WordWrap = 75;
    public $Username = "***************"; // SMTP account username
    public $Password = "********"; // SMTP account password


    function __construct() {
    }

    public function __toString() {
    return $this;
    }

进一步考虑,我正在使用phpmailer,但没有在php.ini中设置smtp服务器。相反,我创建了一个扩展phpmailer的新类,并在其中指定我的SMTP设置,如下所示

这使我能够为多个站点配置SMTP设置,而无需接触php.ini或标准phpmailer文件

<?php
require_once('initialise.inc.php');  // Initialising constants including LIB_PATH & DS
require_once(LIB_PATH.DS."phpmailer".DS."class.phpmailer.php");
require_once(LIB_PATH.DS."phpmailer".DS."class.smtp.php");

class my_phpmailer extends phpmailer {

    public $From = "me@example.com"; // Email Address
    public $FromName = "My Name"; // Name
    public $Host = "mailserver.example.com";
    public $Mailer = "smtp";
    public $WordWrap = 75;
    public $Username = "***************"; // SMTP account username
    public $Password = "********"; // SMTP account password


    function __construct() {
    }

    public function __toString() {
    return $this;
    }

是的。我可以确认它是唯一的一个,因为我可以更改smtp端口和其他设置,只有smtp没有更改。我想起来真的很奇怪。是的。我可以确认它是唯一的一个,因为我可以更改smtp端口和其他设置,只有smtp没有更改。我想起来真的很奇怪是的,为什么我被否决了?不清楚的?什么部分?我还说,如果您需要更多信息,请告诉我,因为我知道它不在php代码中,因为就像我说的,smtp的更新没有反映在phpinfo()中,所以我已经在php.ini smtp=smtp.mail.yahoo.com,smtp=smtp.gmail.com中这样做了,smtp=dremail.com..对smtp没有任何更改仍然显示localhost..我也连续3天在Google上搜索了它,所以我不知道。为什么我被否决了?不清楚的?什么部分?我还说,如果您需要更多信息,请告诉我,因为我知道它不在php代码中,因为就像我说的,smtp的更新没有反映在phpinfo()中,所以我已经在php.ini smtp=smtp.mail.yahoo.com,smtp=smtp.gmail.com中这样做了,smtp=dremail.com..对smtp没有任何更改仍然显示localhost..我还连续3天在谷歌上搜索了它,所以我不知道。