Autor
|
Tema: PHPmailer funciona en XAMPP pero no en el hosting (Leído 4,562 veces)
|
bettu
Desconectado
Mensajes: 923
|
Buenas, A ver si alguien me puede echar un cable, que ando un poco perdido... He creado un formulario de contacto con PHPMailer que envia un mail con documento adjunto a una cuenta de Google. El formulario funciona perfecto dentro de XAMPP, no tengo ningun tipo de problema, hasta que decido subir los archivos al hosting... Cuando relleno el formulario en el hosting (es Plesk Onyx 17.5.3 por si sirve de referencia) me genera un error "The following From address failed: xxx@yyy.com". Eso no me pasaba en localhost y por más que revise el codigo no veo ningun tipo de fallo. No sé si tengo que modificar alguna linea de código en mi documento php para que funcione en un entrono Plesk o si debo modificar el php.ini de mi hosting. En cualquier caso, que puedo hacer? Recalco que no puedo modificar nada de PHP en mi hosting y entiendo que en caso de querer modificar algo, debo contactar con mi proveedor para que me habilite ciertos permisos? Agradecería alguna orientación, Gracias,
|
|
|
En línea
|
|
|
|
animanegra
Desconectado
Mensajes: 287
|
¿Que servidor de smtp tienes puesto en tu código de php? Ten en cuenta que tienes que tener cuenta (usuario + password) en el servidor smtp al que se conecta. Podría pasar que en tu xamp tenias puesto que se conectase a localhost y admitías cualquier usuario o no requeria de autenticación y al subirlo no has cambiado usuario y pass en relación a la configuración del servidor que te provee el servicio de hosting. Lo más directo y tipico es utilizar el servidor smtp de outlook, gmail, whatever y el usuario y login de una cuenta que crees ahí. Lo digo porque parece que en el servidor smtp al que te conectas parece no gustarle tus credenciales.
|
|
|
En línea
|
42 No contesto mensajes por privado, si tienes alguna pregunta, consulta o petición plantéala en el foro para que se aproveche toda la comunidad.
|
|
|
bettu
Desconectado
Mensajes: 923
|
Hola, Gracias por contestar. Pues mira, usé el smtp de Google y el usuario y contraseña de una cuenta de Gmail que tengo para hacer pruebas. Pego aquí el código que tengo hecho y que en local no tengo problemas. <?php require ('phpmailer/class.phpmailer.php'); require ('phpmailer/class.smtp.php'); if(isset($_POST['submit'])){ // recoge nombre, mail archivo adjunto y comentario desde formulario HTML $name=$_POST['name']; $email=$_POST['email']; $message=$_POST['message']; $file = $_FILES['attachment']; $mail = new PHPMailer(); $mail->IsSMTP(); $mail->SMTPDebug = 3; $mail->SMTPAuth = true; $mail->SMTPSecure = 'ssl'; $mail->Host = "smtp.gmail.com"; // SMTP a utilizar $mail->Port = 465; //Mail y pass a utilizar $mail->Username = "micuenta@gmail.com"; $mail->Password = "mipassword"; $mail->From = $email; $mail->FromName = "Formulario"; $mail->AddAddress ("micuenta@gmail.com"); $mail->IsHTML(true); $mail->Subject = "Formulari de contacte de $name"; // Inicio del mensaje HTML $mail->Body = " <html> <body> <table style='width:600px;'> <tbody> <tr> <td style='width:150px'><strong>Nom i cognoms: </strong></td> <td style='width:400px'>$name</td> </tr> <tr> <td style='width:150px'><strong>Email: </strong></td> <td style='width:400px'>$email</td> </tr> <tr> <td style='width:150px'><strong>Comentari: </strong></td> <td style='width:400px'>$message</td> </tr> </tbody> </table> </body> </html> "; // Fin del mensaje HTML $mail->AddAttachment($file['tmp_name'], $file['name']); if ($mail->Send()) echo "<script>alert('Formulari enviat. Li respondrem aviat.');location.href ='https://www.xxxxx.yyy';</script>"; else echo "<script>alert('Error a l'hora d'enviar el formulari');location.href ='javascript:history.back()';</script>"; } ?>
Probé también con 'tls' y puerto 587 sin ningun éxito. También probé con el siguiente codigo sin éxito: https://gist.github.com/emmgfx/7762b85e924c24f7575fe36c315ff0e7Añadiendo esto: $mail->Host = 'localhost'; $mail->Port = 25; $mail->SMTPSecure = 'tls'; # SSL is deprecated $mail->SMTPOptions = array ( 'ssl' => array( 'verify_peer' => true, 'verify_depth' => 3, 'allow_self_signed' => true, 'peer_name' => 'Plesk', ) ); Que tampoco lo conseguí hacerlo funcionar en mi hosting. Gracias, Saludos,
|
|
|
En línea
|
|
|
|
|
MinusFour
|
No se en que puerto escucha el SMTP de google o si usa SSL pero en tu código el:
From: está puesto para que use el correo del usuario y el destinatario eres tu. En otras palabras, estás usando el servidor de Gmail para decirle que envié un correo de la cuenta del usuario a tu misma cuenta de Gmail.
A menos que estes usando un campo de $_POST para configurar el sender.
|
|
|
En línea
|
|
|
|
bettu
Desconectado
Mensajes: 923
|
Hola, Gracias por las respuestas. Os comento... Me genera este error: The following From address failed: xxx@yyy.zzz. The following From address failed: xxx@yyy.zzz
SMTP server error: 5.5.1 Authentication Required. Learn more at 530 5.5.1 https://support.google.com/mail/?p=WantAuthError b2sm12650924wrf.94 - gsmtp No se en que puerto escucha el SMTP de google o si usa SSL pero en tu código el:
From: está puesto para que use el correo del usuario y el destinatario eres tu. En otras palabras, estás usando el servidor de Gmail para decirle que envié un correo de la cuenta del usuario a tu misma cuenta de Gmail.
A menos que estes usando un campo de $_POST para configurar el sender.
Pues no ha mejorado poniendo como destinatario otra cuenta de destino distinta, así que no sé :S Recalco que en dicha cuenta de Gmail tengo activada el acceso de aplicaciones poco seguras Saludos,
|
|
« Última modificación: 12 Agosto 2019, 21:31 pm por bettu »
|
En línea
|
|
|
|
@XSStringManolo
Hacker/Programador
Colaborador
Desconectado
Mensajes: 2.399
Turn off the red ligth
|
Estás usando el puerto smtps, gmilio no lo soporta. Usa el 587, hablita tls y como te comentaron el from debe ser tu correo. From = Origen, no destino. Where are you from? XD Eso pasa por copiarle el código a los del vaticano. JAJA
|
|
|
En línea
|
Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖
|
|
|
bettu
Desconectado
Mensajes: 923
|
Hola, Gracias a todos por sus recomendaciones. Lamentablemente, ninguna me funcionó. Como dije, el código me iba perfecto en local pero cuando lo subí al hosting dejó de funcionar. Ya probé usando SSL puerto 465 y TLS puerto 587 de Google sin ningún éxito en el hosting. Al final lo que hice fue crear un nuevo correo: formularios@mihosting.com y configurar phpmailer para Plesk con esa dirección siguiendo como pauta el link que dejé más arriba. Al momento funcionó. Después, lo que hice fue crear una redirección de ese correo a la cuenta de Gmail que quería usar. Por mi parte podemos dar el tema como resuelto. Muchas gracias!
|
|
|
En línea
|
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ni Apache, ni Xampp ni Wamp...todos bien pero no cargo localhost!!! [¿Formateo?]
« 1 2 »
Desarrollo Web
|
wolvelopez
|
14
|
25,217
|
18 Febrero 2011, 13:22 pm
por wolvelopez
|
|
|
No ve funciona el phpmailer!
PHP
|
elpirata15hd
|
3
|
3,480
|
29 Abril 2011, 00:00 am
por elpirata15hd
|
|
|
[Resuelto] instalacion xampp con php5 y mi aplicación funciona en php4
Desarrollo Web
|
OssoH
|
4
|
3,012
|
14 Julio 2015, 20:35 pm
por OssoH
|
|
|
Cómo Pasar un sistema de Xampp a un Hosting Web?
PHP
|
Antoniio
|
0
|
2,042
|
18 Enero 2017, 08:07 am
por Antoniio
|
|
|
Login funciona de manera local pero no en el Hosting
PHP
|
Tron9811
|
1
|
2,355
|
19 Mayo 2018, 08:10 am
por Ali Baba
|
|