Buenas noches.
Para enviar correos electrónicos a través del script PHP de su sitio web, debe enviarlos a través de SMTP. De lo contrario, no pasarán nuestros filtros de spam.
Si está utilizando WordPress, hay muchos complementos que puede usar para enviar correos electrónicos a través de SMTP.
De lo contrario, debe usar PHPMailer.
Si no está viendo errores, simplemente busque en DirectAdmin 'logs' y encontrará una página donde puede ver todos los registros de errores de sus scripts. Esto puede ser muy útil para la depuración.
```
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
// Cargar el autoloader de Composer
require 'vendor/autoload.php';
// Crear una instancia de PHPMailer
$mail = new PHPMailer(true);
try {
// Configuración del servidor
$mail->isSMTP();
$mail->Host = 'smtp.example.com'; // Configurar el servidor SMTP para enviar a través de él
$mail->SMTPAuth = true;
$mail->Username = '[email protected]'; // Nombre de usuario SMTP
$mail->Password = 'tu-contraseña-de-correo'; // Contraseña SMTP
$mail->SMTPSecure = PHPMailer::ENCRYPTIONSTARTTLS; // Habilitar encriptación TLS; también se acepta PHPMailer::ENCRYPTIONSMTPS
$mail->Port = 587; // Puerto TCP para conectarse
// Destinatarios
$mail->setFrom('[email protected]', 'Tu Nombre');
$mail->addAddress('[email protected]', 'Nombre del Destinatario'); // Añadir un destinatario
// $mail->addAddress('[email protected]'); // El nombre es opcional
// $mail->addReplyTo('[email protected]', 'Información');
// $mail->addCC('[email protected]');
// $mail->addBCC('[email protected]');
// Adjuntos (opcional)
// $mail->addAttachment('/var/tmp/file.tar.gz'); // Añadir adjuntos
// $mail->addAttachment('/tmp/image.jpg', 'nuevo.jpg'); // Nombre opcional
// Contenido
$mail->isHTML(true); // Configurar el formato del correo electrónico a HTML
$mail->Subject = 'Aquí está el asunto';
$mail->Body = 'Este es el cuerpo del mensaje HTML <b>en negrita!</b>';
$mail->AltBody = 'Este es el cuerpo en texto plano para clientes de correo que no admiten HTML';
$mail->send();
echo 'El mensaje ha sido enviado';
} catch (Exception $e) {
echo "El mensaje no pudo ser enviado. Error de correo: {$mail->ErrorInfo}";
}
?>
```