Correo electrónico PHP

El correo electrónico es una parte integral de cualquier proyecto o negocio. Si bien existen varias plataformas de correo electrónico, incluidas Hostinger, Zoho Mail y G Suite – también puede enviar correos electrónicos a través de PHP. En este tutorial, aprenderá a enviar correos electrónicos utilizando la función de incrustación. Correo PHP () es el PHPMailer a través de Protocolo simple de transferencia de correo (SMTP).

Cómo utilizar la función PHP mail ()

Para usar la función Correo PHP (), necesitas el programa Enviar correo, que generalmente lo configura el administrador del sistema. Permite enviar correo electrónico.

Al utilizar esta funcionalidad, asegúrese de que su proveedor de alojamiento le dé la opción de administrar el Servicio Sendmail a mano.

¿Tiene problemas para enviar correos electrónicos? PHP mail () está habilitado por defecto en Hostinger.

Alojamiento con descuento

Si ya usa Hostinger, puede habilitar o deshabilitar esta función al acceder a hPanel. clickea en Correos electrónicos -> Control del servicio de correo electrónico.

De forma predeterminada, el servicio Sendmail ya está habilitado. Aún así, se recomienda que verifique dos veces para asegurarse de esto.

Crear un archivo de prueba para correo PHP

Primero, debe crear un archivo para el script de correo PHP y colocarlo en su directorio public_html para que se pueda acceder fácilmente a través de su dominio.

  1. Para acceder a hPanel, haga clic en Administrador de archivos.
  2. Cree un nuevo archivo haciendo clic en Agregar nuevo (Agregar nuevo). Pongamos nombre a este archivo testmail.php y luego haga clic en Crear (Crear).
  3. Haga doble clic en el testmail.php, ya que lo editaremos usando el Correo PHP (). A continuación se muestra un ejemplo de los componentes básicos de la función que usaremos en este tutorial. Se explicarán con más detalle en la siguiente sección. Por ahora, haga clic en Guardar cerrar (Guardar y cerrar) cuando haya terminado de editar.
  4. Ahora puede enviar un correo electrónico al acceder YourDomain / testmail.php desde su navegador. Ten en cuenta que debes cambiar Tu dominio para el dominio que usaste para crear testmail.php
  5. La dirección a la que enviaste el mensaje debería recibirlo sin problemas.

Qué significa cada componente de correo PHP

Como mencionamos antes, vamos a presentar los componentes de un script de correo PHP básico. Para este ejemplo, proporcionamos un correo electrónico de sintaxis básica para ayudarlo a comprender esta funcionalidad con más detalle.

Sin embargo, si necesita más información sobre la función Enviar correo y sus componentes, puede comprobar el documentación PHP oficial.

Aquí está la sintaxis de PHP que usamos en la sección anterior:

Explicaremos cada paso del guión a continuación:

ini_set( 'display_errors', 1 );
error_reporting( E_ALL );

Estas dos primeras líneas le permiten crear informes de errores; contarán para usted si el script no se ejecuta.

$from = "test@hostinger-tutorials.com";

Esta línea debe contener la dirección de correo electrónico a la que se envía el mensaje.

La mayoría de los proveedores no le permiten usar una dirección aleatoria aquí, ya que esto es algo que podría usarse para spoofing.

Utilice un correo electrónico creado para su dominio o marca para ejecutar correctamente el correo PHP.

$to = "test@gmail.com";

Aquí es donde ingresa la dirección de correo electrónico del destinatario.

$subject = "Checking PHP mail";

Ingrese el asunto del correo electrónico aquí.

$message = "PHP mail works just fine";

Aquí es donde puede escribir el cuerpo de su mensaje.

$headers = "From:" . $from;

Especifica información crucial, como la dirección del remitente, la ubicación donde irá la respuesta, etc.

mail ($to,$subject,$message,$headers);

Esta línea se utiliza para realizar la función.

echo "The email message was sent.";

Este mensaje aparecerá si el script se ha ejecutado correctamente.

Cómo usar PHPMailer para enviar correos electrónicos

EL PHPMailer es una biblioteca de envío de correo electrónico popular para PHP. Admite el envío de correos electrónicos a través de la función mail () o la Protocolo simple de transferencia de correo (SMTP).

Esta biblioteca simplifica el complicado proceso de crear un correo electrónico PHP al proporcionar un conjunto de funciones para crear y enviar un correo electrónico.

Instalar PHPMailer es bastante simple, especialmente si ya tiene el Compositor instalado. Si esta usando Hostinger, no hay necesidad de preocuparse por eso, ya que nuestro hosting viene preinstalado con todos los planes.

De todos modos, si necesita instalar PHPMailer manualmente, debe conectarse a su cuenta de alojamiento a través de un Terminal SSH. Sigue estos pasos:

  1. Descargue e instale el Cliente PuTTY SSH.
  2. Vaya al panel de control de hPanel, busque y haga clic en Acceso SSH en la sección Avanzado.
  3. Escriba su Información de acceso SSH. Necesitarás tu SSH IP, puerto, nombre de usuario y contraseña SSH.
  4. Abra PuTTY y luego configure su IP SSH y su puerto en consecuencia.
  5. prensa Abierto y aparecerá una ventana de comando. Entra tu Nombre de usuario SSH y suya contraseña. Una vez que hayas hecho eso, presiona enter

  6. NOTA: PuTTY NO mostrará su contraseña. No se confunda si su contraseña no aparece en la pantalla.

     

  7. Ejecute el siguiente comando:
    cd public_html
  8. prensa Entrary luego ejecute este comando:
    composer require phpmailer/phpmailer
  9. Espere un momento a que se complete el proceso de instalación.

Cómo usar PHPMailer con el SMTP de Hostinger

Una vez que el PHPMailer esté listo, puede usarlo para enviar correos electrónicos PHP a través del SMTP de Hostinger.

  1. Cree una cuenta de correo electrónico cuando acceda a hPanel y luego vaya a Cuentas de correo electrónico -> Crear una nueva cuenta de correo electrónico. Complete una nueva dirección de correo electrónico y establezca una contraseña antes de hacer clic Crear.
  2. Una vez que haya hecho eso, preste atención a los detalles de su SMTP, que se encuentran en la misma página:

    NOTA: Debes recordar el nombre de usuario tu cuenta de correo electrónico, contraseña de la cuenta, del Host SMTP, y el Puerto SMTP para enviar un correo electrónico a través de PHPMailer.

  3. Crea un archivo testphpmailer.php en Public_html. Acceda al panel de control de hPanel y haga clic en Administrador de archivos.
  4. prensa Agregar nuevo (Agregar nuevo). Nombralo testphpmailer.php a su archivo y haga clic en Crear (Crear).
  5. Haga doble clic en el nuevo archivo testphpmailer.php y luego copie y pegue lo siguiente:
  6. Modifique el código de arriba de la forma que prefiera. Por ejemplo, necesita reemplazar TU CONTRASEÑA AQUÍ con el su contraseña de correo electrónico o test@hostinger-tutorials.com Con su nombre de usuario, ejemplo@gmail.com con la dirección de correo electrónico del destinatario, etc. Una vez que haya hecho eso, haga clic en Guardar cerrar (Guardar y cerrar).
  7. Su PHPMailer ahora está listo para ser utilizado. Ejecute el script al insertar YourDomain.com/testphpmailer.php en su navegador.

Qué significa cada componente de PHPMailer

Para comprender cómo funciona PHPMailer, investiguemos el script de ejemplo anterior, que usa SMTP para la entrega de correo electrónico. Aquí hay una explicación de cada componente:

use PHPMailerPHPMailerPHPMailer;

Esta línea importa la clase PHPMailer en el espacio de nombres global.

require '../vendor/autoload.php';

Luego se incluyen las diversas bibliotecas que necesita PHPMailer.

$mail->

Todas las variables similares contienen información vital, como detalles del servidor, encabezados de mensajes, archivos adjuntos y más. En resumen, garantizan que quien envía el mensaje esté protegido con autenticación SMTP.

if (!$mail->send()) {

Define lo que sucede cuando se ejecutan los scripts.

echo 'Mailer Error: ' . $mail->ErrorInfo;

Mostrará un mensaje de error con una explicación cuando falle el envío del script.

} else {

Especifica lo que sucede si se ejecuta el script.

echo 'The email message was sent!';

Si el correo electrónico se envió correctamente, aparecerá este mensaje.

PROPINA: la línea SMTPDebug = 2; solo es útil cuando prueba un script y desea ver cómo funciona. Necesitas cambiarlo a SMTPDebug = 0; si ha terminado con sus pruebas. Esto se hace para evitar que el usuario final vea el informe de entrega SMTP.

Si prestó atención, notará que estamos haciendo algo diferente en comparación con el primer ejemplo: estamos enviando un mensaje HTML en lugar de texto sin formato.

Entonces su mensaje cargará su contenido desde el archivo. message.html, que se encuentra en el mismo directorio – public_html.

Este formato aporta una mayor funcionalidad, en comparación con los mensajes de texto simples, ya que HTML es altamente personalizable. Puede cambiar el color, el estilo, la imagen o incluso incluir archivos multimedia que generalmente son obsoletos en un correo electrónico de texto sin formato.

Formulario de contacto a través de PHPMailer

Puede usar PHPMailer para algo más que enviar un simple correo electrónico PHP. Una forma en que puede usarlo es creando un formulario de contacto a través del cual su público objetivo puede contactarlo.

A continuación se muestra un ejemplo del script:



    

Do You Have Anything in Mind?

 

    

 

Al igual que los scripts anteriores, debe crear un nuevo archivo en la carpeta public_html. En este caso, lo nombramos formcript.php al archivo.

Edite la información dentro del script según sus necesidades. Después de eso, solo necesita ejecutar el script desde su navegador.

Así es como se ve el resultado final:

Tan pronto como el cliente envíe un mensaje, recibirá un aviso de confirmación y el contenido se enviará a la bandeja de entrada del correo electrónico que ingresó aquí:

$mail->addAddress('exemplo@gmail.com', 'Nome do Destinatário');

PROPINA: Si el formulario de contacto de PHPMailer no funciona, agregue la línea $ correo-> SMTPDebug = 2; para ver qué está causando este problema. No olvide eliminarlo o cambiar el 2 para 0 cuando termines.

Ofertas de PHPMailer más ejemplos que puedes probar en su repositorio oficial de GitHub. Además, si está utilizando WordPress, puede fácilmente crear un formulario de contacto para ayudarte con la ayuda de complementos como Formularios de WP, Formas formidables o Formas de gravedad.

Cómo solucionar errores comunes de PHP Mail y PHPMailer

Es posible que encuentre errores ocasionalmente al usar PHP Mail o PHPMailer. A continuación, se incluye una lista de los errores más comunes y las formas de solucionarlos.

Dirección de envío rechazada: no es propiedad del usuario

Este error significa que el servidor no pudo autenticarse con la información que proporcionó. Puede aparecer en inglés, como “Dirección del remitente rechazada: no es propiedad del usuario”.

Para solucionarlo, verifique la dirección de correo electrónico que utilizó para enviar el mensaje y asegúrese de que coincida con un buzón de correo existente.

Si apunta a la bandeja de entrada incorrecta, cámbiela por la información correcta. También verifique si ha habilitado Registros SPF.

Gmail no pudo verificar que YourDomain.com envió este mensaje

Si ve esta advertencia al probar un script PHP Mail. puede significar una de dos cosas:

  • Su registro de SPF no es una habilidad. Consulte los pasos sobre cómo habilitarlo aqui.
  • Ha enviado un correo electrónico desde una dirección que no existe o que no le pertenece. En ese caso, asegúrese de que va a utilizar información de autenticación SMTP válida.

Recordando que este error aparecerá como “Gmail no pudo verificar que YourDomain.com envió este mensaje” en las páginas en inglés.

El correo electrónico va a la carpeta Spam

Hay varias razones que pueden hacer que el correo PHP aparezca como spam. Éstos son los más comunes:

  • Asunto engañoso o parecido al spam. Algunos ejemplos de esto serían palabras como “prueba“”pruebas“,”Hola“,”urgente“O algo así. Asegúrese de tener una intención clara sobre el tema de su mensaje.
  • Está utilizando una dirección de envío incorrecta, lo que significa que las medidas de seguridad filtran su correo electrónico. Esto se hace para evitar spoofing y estafas por correo electrónico.
  • Estás utilizando palabras de activación de spam. Esta categoría incluye frases como “gran oferta“,”Haga clic aquí“,”promoción especial“,”esto no es spam“Y así. Intente modificar el contenido de su mensaje para ver si este es el caso.
  • Tu lista de envío no tiene botón de encendido darse de baja. Cuando muchas personas reportan su correo electrónico como spam, será difícil evitar el filtro de spam. Tener un botón para cancelar la suscripción es una excelente manera de evitar que esto haga que sus lectores confíen más en usted.

Conclusión

Felicitaciones, ahora se ha familiarizado con el enviar correo electrónico a través de PHP y aprendí a usar el PHPMailer para enviar correos electrónicos con autenticación SMTP. Aunque este tutorial proporciona ejemplos básicos, la misma sintaxis se puede utilizar para desarrollar un formulario de contacto u otras extensiones para su sitio web.

Para obtener información más detallada, asegúrese de consultar el Proyecto PHPMailer. Si tiene consejos, trucos o ideas para compartir, esperamos tener noticias suyas en la sección de comentarios a continuación.