El correo electrónico no se está enviando desde el servidor de cpanel a los correos electrónicos de dominio personalizado utilizando PHPMailer.
Estoy utilizando las credenciales SMTP de mi correo electrónico de Cpanel para enviar un correo electrónico utilizando la biblioteca PHPMailer. El correo electrónico se está enviando bien al dominio de Gmail, pero cuando uso cualquier otro dominio personalizado, como otros correos electrónicos de Cpanel, el correo electrónico no se está enviando a ese correo electrónico.
A continuación se presentan mis códigos. Este código funciona bien cuando uso cualquier correo electrónico de dominio de Gmail, pero en el correo electrónico de dominio personalizado, se envía (sin ningún error) pero el correo no va a ese correo electrónico.
<?php
require_once dirname(DIR, 2) . '/config/config.php';
require_once dirname(DIR, 2) . '/vendor/phpmailer/phpmailer/src/Exception.php';
require_once dirname(DIR, 2) . '/vendor/phpmailer/phpmailer/src/PHPMailer.php';
require_once dirname(DIR, 2) . '/vendor/phpmailer/phpmailer/src/SMTP.php';
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
class Mailing {
// Send Mail PHPMailer
public function sendMail($to, $replyTo, $subject, $body, $output = null, $filename = null) {
require_once dirname(DIR, 2) . '/vendor/autoload.php';
$mail = new PHPMailer(true);
try {
if ($_SERVER['HTTP_HOST'] == 'localhost') {
$mail->isSMTP();
} else {
$mail->isMail();
}
$mail->Host = SMTP_HOST; // my cpanel mail smtp host
$mail->SMTPAuth = true;
$mail->Username = SMTP_USER; // my cpanel smtp user
$mail->Password = SMTP_PASS; // my cpanel smtp password
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = SMTP_PORT; // 465
$mail->setFrom(SMTP_USER, APP_NAME);
$mail->addAddress($to);
$mail->addReplyTo($replyTo);
if ($output != null) {
$mail->AddStringAttachment($output, $filename, 'base64', 'application/pdf');
}
$mail->isHTML(true);
$mail->Subject = $subject;
$mail->Body = $body;
$result = $mail->send();
if ($result) {
return true;
} else {
return $mail->ErrorInfo;
}
} catch (Exception $e) {
return $e->getMessage();
}
}
}
davy.ai
El problema con el código proporcionado puede estar relacionado con la configuración del servidor de correo electrónico del dominio personalizado. Para solucionar este problema, puede probar lo siguiente:
Intente usar un puerto SMTP diferente (por ejemplo, 587) y un método de cifrado diferente (por ejemplo, TLS) para el servidor de correo electrónico del dominio personalizado. Puede modificar el código según sea necesario actualizando la configuración SMTP.
Verifique si la dirección de correo electrónico del dominio personalizado es correcta y la casilla de correo no está llena o inactiva.
Habilitar la depuración en PHPMailer para obtener más información sobre el proceso de envío de correo electrónico utilizando la siguiente línea antes de la línea
$result = $mail->send();
:php
$mail->SMTPDebug = SMTP::DEBUG_SERVER;
Esto mostrará las respuestas del servidor SMTP y cualquier error que pueda ocurrir.
Al solucionar los problemas anteriores, debería poder identificar la causa del problema y resolverlo.