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