Autor Tema: Porque no me funciona PHPmailer() ? No puedo enviar más de cinco correos juntos  (Leído 4815 veces)

Txispitas

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 3
    • Ver Perfil
Buenas: necesito enviar correos desde un formulario en AS3, pare ello uso PHP y en principio usaba el método mail(), el problema es que no me permite enviar el correo a mas de 5 destinatarios y Yo necesito enviar a 10, el mismo correo a los 10 ya que lo que conteste cualquiera de ellos debe de ser accesible al resto.

Tras leer y leer veo que mi solución pasa por usar PHPmailer(), pero no soy capad de hacerlo funcionar.

Mi hosting es Hostinger, que trabaja con PHP 5.6. he creado una carpeta en la raíz llamada "Clases/" y dentro de ella he colocado "class.phpmailer.php" y class.smtp.php" (lo he sacado de otra pagina web y no se si estas clases son siempre las mismas o dependen también de la versión de PHP).

Después he subido mi código, el cual adjunto, pero al ejecutarlo con el navegador me devuelve un error..

Parse error: syntax error, unexpected '$mail' (T_VARIABLE) in /home/u127618950/public_html/sendMail.php on line 14

La línea 14 es la que dice....

$mail->IsSMTP();

Si anulo esta línea poniendo delante //, el error pasa a la siguente linea, exactamente el mismo error pero esta vez para la línea 15

Alguien tiene idea de que es lo que hago mal?


<?php

require 'Clases/class.phpmailer.php';
require 'Clases/class.smtp.php';

$mail = new PHPMailer();

$email = "correo1@correo.com";
$asunto = "Prueba de PHPmailer";
$cuerpo = "Esto es una prueba antes de hacer nada más."

//Luego tenemos que iniciar la validación por SMTP:

$mail->IsSMTP();
$mail->SMTPAuth = true;
$smtp->SMTPSecure = "tls";
$smtp->Host = "smtp-mail.outlook.com";//SMTP a utilizar.
$mail->Username = "correo2@outlook.com"; // Correo completo a utilizar
$mail->Password = "xxxxxxxx"; // Contraseña
$mail->Port = 587; // Puerto a utilizar

//Con estas pocas líneas iniciamos una conexión con el SMTP. Lo que ahora deberíamos hacer, es configurar el mensaje a enviar, el //From, etc.

$mail->From = $email; // Desde donde enviamos (Para mostrar)
$mail->FromName = "Nombre";

//Estas dos líneas, cumplirían la función de encabezado (En mail() usado de esta forma: “From: Nombre <correo@dominio.com>”) de //correo.

$mail->AddAddress("correo3@correo.com"); // Esta es la dirección a donde enviamos

$mail->Subject = $asunto; // Este es el titulo del email.
$mail->Body = $cuerpo; // Mensaje a enviar
$mail->AltBody = "Hola"; //$cuerpo; // Mensaje a enviar
$exito = $mail->Send(); // Envía el correo.

//También podríamos agregar simples verificaciones para saber si se envió:
if($exito){
echo ‘El correo fue enviado correctamente.’;
}else{
echo ‘Hubo un inconveniente. Contacta a un administrador.’;
}

?>
« Última modificación: 20 de Junio 2018, 19:59 por Ogramar »

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:Porque no me funciona PHPmailer() ?
« Respuesta #1 en: 19 de Febrero 2018, 21:13 »
Hola, seguro no estoy pero lo primero que haría yo es comprobar que las rutas sean correctas y que te carga las clases. Para ello puedes colocar un fichero en la misma ruta que las clases y ver si tienes acceso... Lo segundo sería ver si la versión de PHP que estás usando puede ser la que genere el problema.

Txispitas

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 3
    • Ver Perfil
Re:Porque no me funciona PHPmailer() ?
« Respuesta #2 en: 23 de Febrero 2018, 14:52 »
Gracias Javi por tu comentario.

He probado como dices y no llego a la carpeta donde he dejado las clases, por lo que las he sacado de ahi y las he puesto junto al php, evidentemente modificando la ruta.

Vuelvo a probar y la misma, que error de syntaxis.

La version de PHP que tiene el host es 5.6.

La clase "class.php.phpmailer.php" me dice esto:
* PHPMailer - PHP email transport class
 * NOTE: Requires PHP version 5 or later

La clase "class.smtp.php" me dice esto:
* PHPMailer - PHP SMTP email transport class
 * NOTE: Designed for use with PHP version 5 and up

Por lo que entiendo que esta todo OK, no?, per aun asi no hay manera siempre el error de syntax...

El tema es que necesito esto ya que he usado mail() pero no me deja enviar mas de 5 correos, no se si sera hostiner que lo tiene "capado" o que no se puede enviar mas por ese metodo, y Yo necesito enviar 10 correos en copia.

Un saludo y gracias de nuevo.

Txispitas

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 3
    • Ver Perfil
Re:Porque no me funciona PHPmailer() ?
« Respuesta #3 en: 28 de Febrero 2018, 18:10 »
Por lo que veo no hay solución o no hay nadie que lo sepa.

No tengo forma de enviar un correo a varios destinatarios, puede que sea por Hostinger gratuito que me lo limite, pero es que ahora ya no puedo ni enviar a 2, solo me deja enviar a un destinatario.

No se que hacer...

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".