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.