我正在尝试使用PHPmailer发送电子邮件,但是当我在php.ini中更改SMTP服务器时,它在phpinfo中没有更新-它仍然显示本地主机。我假设这就是我得到错误SMTP Error: Could not connect to SMTP host的原因。
你能帮我找出错误和可能的原因,为什么我不能改变SMTP服务器,即使我可以改变smtp_port
我已经尝试过在邮件服务器上这样做,而且我在安装pear时也遇到了很多问题,所以我只想让它正常工作。我尝试过smtp.mail.yahoo.com、smtp.gmail.com和我们自己的邮件服务器,但它仍然显示为本地主机。每次进行更改时,我都会重新启动
这是我诊断问题的第三天,因为我发送了一封简单的电子邮件(我发现在asp.net中发送邮件要容易得多)。如果您需要进一步的信息,请让我知道。提前谢谢你。
发布于 2012-09-25 03:39:58
这可能是一个愚蠢的问题,但是你使用的是正确的php.ini文件吗?-在许多安装中可能有不止一个。我总是仔细检查我正在更改的php.ini文件是不是在phpinfo()中引用的文件。
发布于 2012-09-26 02:45:21
考虑到这一点,我使用的是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;
}https://stackoverflow.com/questions/12571392
复制相似问题