Advertisement
ganryu

Untitled

Feb 27th, 2020
1,022
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.74 KB | None | 0 0
  1. <?php
  2.  
  3. use PHPMailer\PHPMailer\PHPMailer;
  4. use PHPMailer\PHPMailer\Exception;
  5.  
  6. require 'PHPMailer/src/Exception.php';
  7. require 'PHPMailer/src/PHPMailer.php';
  8. require 'PHPMailer/src/SMTP.php';
  9.  
  10. if ($_SERVER["REQUEST_METHOD"] !== "POST") {
  11.     /* No es una solicitud POST, Mensaje de respuesta 403 (prohibido). */
  12.     http_response_code(403);
  13.     echo "Hubo un problema con tu envío, intenta de nuevo.";
  14. }
  15.  
  16. /* Información del correo */
  17. $destinatario = "cristofoliagustina@gmail.com"; // en esta línea va el mail del destinatario.
  18. $asunto = "Presupuesto"; // acá se puede modificar el asunto del mail
  19. $from = ""; // cuenta de correo desde la que se van a enviar los mails
  20. $password = ""; // contraseña de la cuenta de correo desde la que se van a enviar los mails
  21.  
  22. function sendMail($host, $from, $password, $destinatario, $asunto, $cuerpo) {
  23.     $mail = new PHPMailer(true);
  24.  
  25.     $mail->SMTPDebug = 2;
  26.     $mail->isSMTP();
  27.     $mail->SMTPAuth = true;
  28.  
  29.     $mail->Host = $host;
  30.     $mail->Username = $from;
  31.     $mail->Password = $password;
  32.     $mail->SMTPSecure = 'tls';
  33.     $mail->Port = 587;
  34.      
  35.     $mail->setFrom($from);
  36.     $mail->addAddress($destinatario);
  37.            
  38.     $mail->isHTML(false);
  39.     $mail->Subject = $asunto;
  40.     $mail->Body = $cuerpo;
  41.                    
  42.     $mail->send();
  43. }
  44.  
  45. /* Envío de datos */
  46. $nombre = str_replace(array("\r", "\n"), array(" ", " "), strip_tags(trim($_POST["nombre"])));
  47. $email = filter_var(trim($_POST["email"]), FILTER_SANITIZE_EMAIL);
  48. $consulta = trim($_POST["consulta"]);
  49.  
  50. if (empty($nombre) or !filter_var($email, FILTER_VALIDATE_EMAIL)) {
  51.     /* Mensaje de Validación */
  52.     http_response_code(400);
  53.     echo "Por favor completa el formulario y vuelve a intentarlo.";
  54.     exit;
  55. }
  56.  
  57. $color = "";
  58. foreach ($_POST['color'] as $value) {
  59.     $color .= " $value- ";
  60. }
  61.  
  62. /* Contenido del correo */
  63. $cuerpo = "Nombre y Apellido: $nombre\r\n";
  64. $cuerpo .= "Email: $email\r\n";
  65. $cuerpo .= "Lugar: " . $_POST["lugar"] . "\r\n";
  66. $cuerpo .= "Estilo: " . $_POST["estilo"] . "\r\n";
  67. $cuerpo .= "Formato: " . $_POST["formato"] . "\r\n";
  68. $cuerpo .= "Enmarcado: " . $_POST["marco"] . "\r\n";
  69. $cuerpo .= "Color: " . $color . "\r\n";
  70. $cuerpo .= "Aclaraciones:\n$consulta";
  71.  
  72. /* Encabezados del correo. */
  73. $headers = "From: $nombre <$email>";
  74.  
  75. /* Envía el correo. */
  76. try {
  77.     sendMail('smtp.gmail.com', $from, $password, $to, $asunto, $cuerpo);
  78.     /* Mensaje de respuesta 200 (correcto). */
  79.     http_response_code(200);
  80.     echo "¡Gracias! Nos pondremos en contacto dentro de las próximas 48 hs";
  81. } catch (Exception $e) {
  82.     /* Mensaje de respuesta 500 (error interno del servidor). */
  83.     http_response_code(500);
  84.     echo "Oops! Algo salió mal, no pudimos enviar tu mensaje.";
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement