PHPMailer无法连接到SMTP主机
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHPMailer无法连接到SMTP主机相关的知识,希望对你有一定的参考价值。
我有这个表单,它发送电子邮件到电子邮件。在localhost它工作正常,当我上传到主机它给我以下的错误。
无法访问文件:SMTP错误:无法连接到SMTP主机
email.php
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$portal = $_POST['portal'];
$piso = $_POST['piso'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$incidencia = $_POST['incidencia'];
$message = $_POST['message'];
$archivo = $_FILES['adjunto'];
require("archivosformulario/class.phpmailer.php");
$mail = new PHPMailer();
$mail->From = $email;
$mail->FromName = $first_name;
$mail->AddAddress("micrreo@gmail.com"); // Dirección a la que llegaran los mensajes.
$mail->WordWrap = 50;
$mail->Ishtml(true);
$mail->Subject = "Incidencia ";
$mail->Body =
"Esto es un correo generado desde la web, si quiere mas informacion contacte con: correo@gmail.com
<br".
"Nombre: $first_name
<br />".
"Apellido: $last_name
<br />".
"Portal: $portal
<br />".
"Piso: $piso
<br />".
"Email: $email
<br />".
"Telefono: $phone
<br />".
"Incidencia: $incidencia
<br />".
"Mensaje: $message
<br />";
$mail->AddAttachment($archivo['tmp_name'], $archivo['name']);
$mail->IsSMTP();
$mail->Host = "ssl://smtp.gmail.com:465"; // Servidor de Salida.
$mail->SMTPAuth = true;
$mail->Username = "micorreo@gmail.com"; // Correo Electrónico
$mail->Password = "mipasswd"; // Contraseña
if ($mail->Send()){
echo "<script>alert('bien');location.href ='javascript:history.back()';</script>";
}else{
echo "<script>alert('Error al enviar el formulario')</script>";
var_dump($_POST);
exit();
}
?>
对不起我的英语,我是西班牙语非常感谢任何帮助我的人
答案
这可能是由于主机的PHP版本缺乏SSL支持,因为它写在这里:PHPMailer: SMTP Error: Could not connect to SMTP host
因此,如果启用了extension = php_openssl.dll,请检查您的php.ini文件。
如果已禁用,请不要忘记在启用此扩展后重新启动Web服务器。
希望它会对你有所帮助。
在你回答之后编辑:
虽然我不确定它可以提供帮助,但您可以尝试替换以下行:
$mail->Host = "ssl://smtp.gmail.com:465";
通过这些方式:
$mail->SMTPSecure = 'ssl';
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
此外,如果它不能与SSL一起使用,您可以尝试使用'tls'而不是'ssl',并用端口587替换端口465。
如果它仍然不起作用,您可以添加以下行,以便为您提供有关错误的更多信息:
$mail->SMTPDebug = 2;
以上是关于PHPMailer无法连接到SMTP主机的主要内容,如果未能解决你的问题,请参考以下文章
SMTP 错误:无法连接到服务器:php_network_getaddresses:getaddrinfo 失败:不知道这样的主机 | PHP 邮件程序 6.5
Lumen phpmailer:SMTP错误:无法连接到服务器:
PHPMailer:SMTP错误:10051无法连接到服务器:尝试对无法访问的网络执行套接字操作