Cómo enviar correo electrónico en php

Codifiquemos una pequeña aplicación en PHP para enviar correos electrónicos desde el formulario de contacto de un sitio web. Cuando el usuario visita la página de contacto del sitio web, puede ingresar detalles sobre el correo electrónico, como su nombre, el asunto del correo electrónico, la dirección de correo electrónico del remitente y el mensaje. Cuando hayan terminado de completar el formulario, pueden hacer clic en el botón enviar y el correo se enviará a la dirección de correo electrónico especificada.

index.php:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Sending email with php</title>
</head>
<body>
<form method="post" action="send_script.php">
  Name: <input type="text" name="name" > <br />
  email: <input type="email" name="email" > <br />
  Subject: <input type="text" name="subject" > <br />
  Message: <textarea name="msg"></textarea>
  <button type="submit" name="send_message_btn">Send</button>
</form>
</body>
</html>

Cuando se hace clic en el botón de envío del formulario, los valores se envían al archivo send_script.php que envía la dirección de correo electrónico:

<?php 
if (isset($_POST['send_message_btn'])) {
  $name = $_POST['name'];
  $email = $_POST['email'];
  $subject = $_POST['subject'];
  $msg = $_POST['msg'];
  // Content-Type helps email client to parse file as HTML 
  // therefore retaining styles
  $headers = "MIME-Version: 1.0" . "rn";
  $headers .= "Content-type:text/html;charset=UTF-8" . "rn";
  $message = "<html>
  <head>
  	<title>New message from website contact form</title>
  </head>
  <body>
  	<h1>" . $subject . "</h1>
  	<p>".$msg."</p>
  </body>
  </html>";
  if (mail('website_owner@example.com', $subject, $message, $headers)) {
   echo "Email sent";
  }else{
   echo "Failed to send email. Please try again later";
  }
}
?>

Cuando el usuario hace clic en el botón enviar en el formulario de contacto, los valores del formulario se envían al archivo send_script.php. Este archivo toma los valores del formulario y los reenvía a la dirección de correo electrónico especificada. El correo electrónico se puede enviar en formato HTML como se indicó anteriormente y se puede usar CSS para aplicar algunos estilos al correo electrónico.

Notas:

El envío de correo electrónico mediante la función mail () solo funciona cuando hay conexión a Internet. Hasta que su aplicación esté alojada en un servidor en Internet antes de que pueda enviar un correo electrónico.

Más sobre PHP correo () función

Un uso básico de la función mail () se ve así:

<?php
  mail("receiver@example.com","My subject","Hey there! How you doin'");
?>

El fragmento de código anterior en realidad enviará un correo electrónico a ‘receptor@example.com’ con el asunto ‘Mi asunto’ y el mensaje ‘¡Hola! Cómo le va ” cuando se ejecuta el script.

La función mail () de PHP tiene la siguiente firma:

bool mail ( string $to , string $subject , string $message, string $headers )

1.) $ a

Dirección de correo electrónico del destinatario. Como se especifica en los documentos PHP, la dirección de correo electrónico del destinatario debe tener los siguientes formatos

  • usuario@example.com
  • usuario@example.com, otrousuario@example.com (Envío a varios usuarios)
  • Usuario (especificando el nombre de usuario del usuario)

2.) $ asunto:

El asunto del correo electrónico que se enviará.

3.) $ mensaje:

El mensaje. Cada línea no debe contener más de 70 caracteres. Cada línea debe estar separada con un CRLF ( r n). Puede resolver esto simplemente envolviendo el mensaje de texto alrededor de la función PHP wordwrap (). Al igual que:

$message = wordwrap($message, 70);

4.) $ encabezados:

Éste es opcional. Pero si desea aplicar un estilo al correo electrónico que envía, debe especificar el tipo de contenido en el encabezado como texto/html; juego de caracteres = UTF-8 para decirle a los clientes de correo electrónico que analicen el correo electrónico como HTML.

Gracias por seguir este tutorial. ¡Realmente apreciaríamos si compartieras este tutorial con tus amigos en cualquiera de las redes sociales!

También podría gustarte:

Deja un comentario