PHPMailer发送地址失败

PHPMailer发送地址失败,php,Php,我使用PHPMailer库编写了这段PHP代码 $email = new PHPMailer(); $email->IsSMTP(); $email->SMTPAuth = $Email_SMTPAuth; $email->Host = $Email_Host; $email->Port = $Email_Port; $email->Username = $Email_Username; $email->Password

我使用PHPMailer库编写了这段PHP代码

 $email = new PHPMailer();

$email->IsSMTP();
$email->SMTPAuth   = $Email_SMTPAuth;
$email->Host       = $Email_Host;
$email->Port       = $Email_Port;
$email->Username   = $Email_Username;
$email->Password   = $Email_Password;

$email->setFrom($result["emailfrom"], $result["fromname"]);

$email->Subject   = stripslashes($result["subject"]);
$email->Body      = stripslashes($result["message"]);

$email->AddAddress("email@domain.com");

if(!$email->Send()) {
    echo $email->ErrorInfo;
} else {
    echo 'sent';
}
当发送失败时,会显示错误消息:

The following From address failed: *EMAIL_ADDRESS_HERE* : Called Mail() without being connected

我相信这可能与您的主机和端口配置有关,PHP Mailer可能无法使用您提供的设置连接到您的服务器,从而导致此错误。尝试再次检查您设置的配置、主机、端口和主机用户名,看看是否一切正常


与您所遇到的错误类似。希望它能帮上忙:)

这经常发生在我身上。。。当我忘记要求提供程序打开主机端口时


我有几个网站由提供商托管,服务器上运行一个DEM应用程序。根据提供程序的不同,服务器可以得到保护,这样您就不允许自由连接到任何SMTP主机/端口,但您必须启用该功能。

您没有向我们显示全部代码。@user3355243检查我的更新以获得额外的代码。Google这一点和许多答案都会显示出来。你必须找到适合你的,因为你没有在这里显示你的详细信息。我尝试过使用SMTP提供商建议的端口8025和2525,但它甚至没有击中他们的服务器。你可能想联系你的SMTP提供商,就像@Spyryto在回答中说的那样,“请提供商向主机打开端口”。也许他们在那里,但他们需要为您的应用程序打开它,或者他们身边有某种配置错误。不管是哪种方式,我想提供者现在是给你答案的人。如果问题得到解决,请告知我们:)