Ver Mensaje Individual
  #6 (permalink)  
Antiguo 09/07/2021, 20:12
Avatar de edurocc
edurocc
 
Fecha de Ingreso: julio-2013
Mensajes: 103
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: Formulario por smtp

Cita:
Iniciado por prueba230683 Ver Mensaje
1) Tienes razón. Activar IMAP no es necesario en este caso, ya que solamente estás enviando y no recibiendo emails. No obstante, tendrás que desactivar alguna configuración de seguridad en tu cuenta de Gmail, como 2FA, en caso de que lo tengas habilitado, y alguna cosa más. Aquí está detallado lo que tienes que cambiar: https://netcorecloud.com/tutorials/s...ver-using-php/

2) No existe ningún problema con incrustar tus credenciales de acceso si estás trabajando con tu propio servidor. Si estás en un hosting compartido, no me fiaría tanto.

3) Te propongo una alternativa mucho más fácil. Crear un formulario mediante Jotform, que tiene notificaciones por email.
Perdón por la demora, pero pedí ayuda a un amigo que no supo ayudarme, por eso vuelvo ja.
Los códigos me quedaron asi:
<?php

use PHPMailer\PHPMailer;
use PHPMailer\Exception;

require 'phpMailer/Exception.php';
require 'phpMailer/PHPMailer.php';
require 'phpMailer/SMTP.php';

//Create an instance; passing `true` enables exceptions
$mail = new PHPMailer(true);

try {
//Server settings
$mail->SMTPDebug = SMTP::DEBUG_SERVER; //Enable verbose debug output - por si sale algun error y cero se pone para desactivar
$mail->isSMTP(); //Send using SMTP
$mail->Host = 'smtp.gmail.com'; //Set the SMTP server to send through
$mail->SMTPAuth = true; //Enable SMTP authentication
$mail->Username = '[email protected]'; //SMTP username
$mail->Password = '****'; //SMTP password
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; //Enable implicit TLS encryption
$mail->Port = 465; //465 o -TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS`

//Recipients
$mail->setFrom('[email protected]', 'Mailer');
$mail->addAddress('[email protected]'); //Add a recipient
$mail->addCC('[email protected]');

//Content
$mail->isHTML(true); //Set email format to HTML
$mail->Subject = 'Asunto muy importante para vos';

$mail->$mail->AltBody = 'SW SW SW';
$mail->$nombre = $ POST["nombre"];
$mail->$email = $ POST["email"];
$mail->$tel = $ POST["tel"];
$mail->$asunto = $ POST["asunto"];
$mail->$mensaje = $ POST["mensaje"];
$mail->$contenido = "nombre: " . $nombre . "\nemail: " . $email . "\ntel: " . $tel . "\nasunto: " . $asunto . "\nmensaje: " . $mensaje;
$mail->header ("contacto/gracias.html");

$mail->send();
echo 'El mensaje se envio correctamente';
} catch (Exception $e) {
echo "Hubo un error al enviar el mensaje: {$mail->ErrorInfo}";
}
?>

No envía los mail, y no me lleva a gracias.html, sino al enviarcorreo.php mostrándome una pagina en blanco.
Donde esta el error?