¿Cómo enviar un correo electrónico usando PHPMailer?

PHPMailer es una biblioteca de códigos y se utiliza para enviar correos electrónicos de forma segura y sencilla a través de un código PHP desde un servidor web. El envío de correos electrónicos directamente a través del código PHP requiere un alto nivel de familiaridad con el protocolo estándar SMTP y los problemas y vulnerabilidades relacionados con la inyección de correo electrónico para el envío de spam. PHPMailer simplifica el proceso de envío de correos electrónicos y es muy fácil de usar.

Instalación: La mejor forma de instalar PHPMailer es usando composer. Antes de continuar, asegúrese de instalar composer .

  • Abra el símbolo del sistema y vaya al directorio del proyecto en el que desea utilizar PHPMailer.
  • Ejecute el siguiente comando:
    composer require phpmailer/phpmailer
  • Espere a que se complete la instalación. Descargará todas las clases necesarias a la carpeta de su proyecto.

Usando PHPMailer:
Importe la clase PHPMailer al espacio de nombres global.
Nota: asegúrese de que estas líneas estén en la parte superior del script y no dentro de ninguna función.

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

Cargue el cargador automático del compositor.

require 'vendor/autoload.php';

Cree un objeto de clase PHPMailer.

$mail = PHPMailer()

Configure los ajustes del servidor:

  • SMTPDebug: Se utiliza para mostrar mensajes sobre problemas en la conectividad y el envío de correos electrónicos. Tiene los siguientes valores:
    • 0: Es el valor por defecto. Deshabilitar la depuración.
    • 1: Mostrar mensajes de salida enviados por el cliente.
    • 2: como 1, más mostrar las respuestas recibidas del servidor.
    • 3: como 2, además de más información sobre la conexión inicial: este nivel puede ayudar a diagnosticar fallas de STARTTLS.
    • 4: como 3, además de mostrar información de nivel inferior.
  • isSMTP(): configura el correo para usar SMTP.
  • isMail(): configure el correo para usar la función de correo de PHP.
  • Host: especifica los servidores.
  • SMTPAuth: habilitar/deshabilitar la autenticación SMTP.
  • Nombre de usuario: especifique el nombre de usuario.
  • Contraseña: especifique la contraseña.
  • SMTPSecure: especifique la técnica de cifrado. Valores aceptados ‘tls’ o ‘ssl’.
  • Puerto: especifique el puerto TCP al que se conectará.
$mail->SMTPDebug = 2;                   // Enable verbose debug output
$mail->isSMTP();                        // Set mailer to use SMTP
$mail->Host       = 'smtp.gfg.com;';    // Specify main SMTP server
$mail->SMTPAuth   = true;               // Enable SMTP authentication
$mail->Username   = 'user@gfg.com';     // SMTP username
$mail->Password   = 'password';         // SMTP password
$mail->SMTPSecure = 'tls';              // Enable TLS encryption, 'ssl' also accepted
$mail->Port       = 587;                // TCP port to connect to

Agregar los destinatarios del correo.

$mail->setFrom('from@gfg.com', 'Name');           // Set sender of the mail
$mail->addAddress('receiver1@gfg.net');           // Add a recipient
$mail->addAddress('receiver2@gfg.com', 'Name');   // Name is optional

Agregue archivos adjuntos (si los hay).

$mail->addAttachment('url', 'filename');    // Name is optional

Agrega el contenido.

  • isHTML(): si se pasa verdadero, establece el formato de correo electrónico en HTML.
  • Asunto: establezca el asunto del correo.
  • Cuerpo: establece el contenido del correo.
  • AltBody: cuerpo alternativo en caso de que el cliente de correo electrónico no admita HTML.
$mail->isHTML(true);                                  
$mail->Subject = 'Subject';
$mail->Body    = 'HTML message body in <b>bold</b>!';
$mail->AltBody = 'Body in plain text for non-HTML mail clients';

Finalmente, envíe el correo electrónico.

$mail->send();

Y su correo electrónico sería enviado.

Programa: Completo programa PHP para enviar correo electrónico usando PHPMailer.

<?php
  
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
  
require 'vendor/autoload.php';
  
$mail = new PHPMailer(true);
  
try {
    $mail->SMTPDebug = 2;                                       
    $mail->isSMTP();                                            
    $mail->Host       = 'smtp.gfg.com;';                    
    $mail->SMTPAuth   = true;                             
    $mail->Username   = 'user@gfg.com';                 
    $mail->Password   = 'password';                        
    $mail->SMTPSecure = 'tls';                              
    $mail->Port       = 587;  
  
    $mail->setFrom('from@gfg.com', 'Name');           
    $mail->addAddress('receiver1@gfg.com');
    $mail->addAddress('receiver2@gfg.com', 'Name');
       
    $mail->isHTML(true);                                  
    $mail->Subject = 'Subject';
    $mail->Body    = 'HTML message body in <b>bold</b> ';
    $mail->AltBody = 'Body in plain text for non-HTML mail clients';
    $mail->send();
    echo "Mail has been sent successfully!";
} catch (Exception $e) {
    echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
  
?>

Publicación traducida automáticamente

Artículo escrito por BhavyadeepPurswani y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *