PHP - fatal error en formulario con phpmailer

   
Vista:

fatal error en formulario con phpmailer

Publicado por zendi (824 intervenciones) el 19/08/2015 03:42:23
Estoy trabajando en desarrollar un formulario con la clase phpmailer pero me arroja este mensaje:
1
Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\prueba\pediatria\PHPMailer-master\class.smtp.php on line 934

intente repararlo con modificar en esta linea al colocarle 50 en vez de 30:
1
$smtp->Timeout=50;
pero persiste el problema.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

fatal error en formulario con phpmailer

Publicado por xve (5519 intervenciones) el 19/08/2015 09:57:00
Hola Zendi, ese error creo que es de Apache o PHP, no del smtp...

Prueba incrementando el valor con la función de php:
1
set_time_limit (50);

http://php.net/manual/es/function.set-time-limit.php

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

fatal error en formulario con phpmailer

Publicado por zendi (824 intervenciones) el 20/08/2015 01:45:06
Hola Xve, yo tengo xamp y está la carpeta PHP en la ruta C:\xampp\php y C:\xampp\apache\conf con la carpeta C:\xampp\apache\conf, pero no hayo el archivo. Sera el php.ini?
ya lo encontre pero no veo la linea con esa variable. Disculpa la pregunta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar

fatal error en formulario con phpmailer

Publicado por zendi (824 intervenciones) el 20/08/2015 02:09:08
esto es lo que tengo en mi linea de codigo:

1
2
3
4
$smtp->Subject = $asunto;
$smtp->Body = $mensaje;
$smtp->WordWrap = 50;
$smtp->Timeout=60;

y en el php.ini:

1
2
3
4
5
6
7
8
9
10
11
12
max_execution_time = 50
 
; Maximum amount of time each script may spend parsing request data. It's a good
; idea to limit this time on productions servers in order to eliminate unexpectedly
; long running scripts. 
; Note: This directive is hardcoded to -1 for the CLI SAPI
; Default Value: -1 (Unlimited)
; Development Value: 60 (60 seconds)
; Production Value: 60 (60 seconds)
; http://php.net/max-input-time
max_input_time = 60
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

fatal error en formulario con phpmailer

Publicado por xve (5519 intervenciones) el 20/08/2015 08:58:32
No es un archivo, es una instrucción de PHP!!!

No ves el enlace que te puse?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

fatal error en formulario con phpmailer

Publicado por zendi (824 intervenciones) el 20/08/2015 14:59:11
Hola Xve. Disculpa no me referia a eso, me referia al archivo PHP.INI que no hallaba, yo se que es una instruccion de php.
Bueno donde modifiqué el PHP.INI en la instruccion max_execution_time de 30 a 50, es lo que quise explicarte. Pero lo volví a poner con 30.


Este es mi codigo donde coloqué en negrita la instruccion; y sigue el problemilla.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php
/////////Codigo para enviar correos a un solo destinatario.
require("PHPMailer-master/class.phpmailer.php");
require("PHPMailer-master/class.smtp.php");
//error_reporting(E_ALL ^ E_NOTICE);
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
set_time_limit(50);
$de = $_POST["de_txt"];
 
$para = $_POST["para_txt"];
 
$asunto = $_POST["asunto_txt"];
$addcco = $_POST["cco_txt"];
$archivo = $_FILES["archivo_fls"]["tmp_name"];
$destino = $_FILES["archivo_fls"]["name"];
$mensaje = $_POST["mensaje_txa"];
copy($_FILES["archivo_fls"]["tmp_name"],$_SERVER['DOCUMENT_ROOT']."/archivos/".$_FILES["archivo_fls"]["name"]);
copy($_FILES["archivo_fls"]["tmp_name"],"archivos/".$_FILES["archivo_fls"]["name"]);
$smtp=new PHPMailer();
# Indicamos que vamos a utilizar un servidor SMTP 
$smtp->IsSMTP();
# Definimos el formato del correo con UTF-8 
$smtp->CharSet="UTF-8";
//$smtp->SMTPDebug = 1;
# autenticación contra nuestro servidor smtp
$smtp->SMTPAuth = true; // enable SMTP authentication
$smtp->SMTPSecure = "tls";
$smtp->Host = "smtp.live.com"; // sets MAIL as the SMTP server
$smtp->Username = $de; // MAIL username
$smtp->Password = "1234"; // MAIL password
$smtp->Port = 587;
# datos de quien realiza el envio
$smtp->From = $de; // from mail
$smtp->FromName = "Alejandro"; // from mail name
# Indicamos la dirección donde enviar el mensaje
$para1= $para;
$nameTo=$para1;
$smtp->AddAddress($para1,utf8_decode($nameTo));
//$smtp->AddBCC($addcco,$nameTo);
$smtp->Subject = $asunto;
$smtp->Body = $mensaje;
$smtp->WordWrap = 50;
$smtp->Timeout=50;
$smtp->IsHTML(true);
$smtp->MsgHTML($mensaje);//
$smtp->AddAttachment($_FILES["archivo_fls"]["tmp_name"],$_FILES["archivo_fls"]["name"]);
   if (!$smtp->Send())
      {
  	    $respuesta ="El mensaje no se pudo enviar";
		$respuesta .="Error: " .$mail->ErrorInfo;
      }
   else
      {
        $respuesta ="El mensaje ha sido enviado";
      }
   header("Location:correomail.php?respuesta=$respuesta");
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

fatal error en formulario con phpmailer

Publicado por zendi (824 intervenciones) el 20/08/2015 20:33:31
Hola Que tal, ya resolvi el problema, pero ahora es que tarda demasiado tiempo en enviarlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
Imágen de perfil de xve

fatal error en formulario con phpmailer

Publicado por xve (5519 intervenciones) el 20/08/2015 21:01:10
Hola Zendi, como lo resolviste?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

fatal error en formulario con phpmailer

Publicado por zendi (824 intervenciones) el 20/08/2015 21:37:57
Bueno coloqué el set_time_limit(0); al comienzo del codigo, pero como mencioné en el post anterior tarda mucho en procesar la información, luego lo coloque asi:set_time_limit(500); y persiste la tardanza. Pero al final lo envía.

No debiera tardar tanto tiempo ya que estoy enviando un mensaje junto con un archivo adjunto a una única cuenta de correo.

Que idea sería buena al respecto Xve?
Por favor respondeme,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

fatal error en formulario con phpmailer

Publicado por xve (5519 intervenciones) el 21/08/2015 10:53:50
Hola Zendi, lo unico que se me ocurre, es que el archivo que envíes sea muy grande, y tarde en enviarlo a través de tu conexión a internet...

Puede ser esa la causa?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

fatal error en formulario con phpmailer

Publicado por zendi (824 intervenciones) el 21/08/2015 16:24:10
Hola xve. ¿Te refieres a archivos adjuntos?
Bueno he enviado una foto, tal vez sea eso. ¿Pero hay alguna funcion en php para determinar el tamaño de archivos adjuntos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

fatal error en formulario con phpmailer

Publicado por zendi (824 intervenciones) el 21/08/2015 16:50:32
Hola Xve. Efectivamente esa es la causa, envié un mensaje sin adjuntar ningun archivo y lo envió rapidamente. Estoy utilizando esta función para determinar el tamaño:

1
int filesize ( string $filename )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

fatal error en formulario con phpmailer

Publicado por xve (5519 intervenciones) el 21/08/2015 19:48:38
Ok, gracias por comentarlo!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

fatal error en formulario con phpmailer

Publicado por zendi (824 intervenciones) el 20/08/2015 21:16:42
El objetivo de este codigo es enviar correos a un solo destinatario o cuenta de correo.

Ademas de este codigo tengo otro codigo que desde una base de datos envia mensajes a varios o innumerables cuentas de correo y aun asi no tarda tanto en enviarlos. Los envía en un triz.

El problema esta en el tiempo de ejecucion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar