Acelerar Envio de correos "Mail" PHP
Publicado por lol (2 intervenciones) el 11/08/2014 16:01:00
Hola buenas:
Tengo un "problema" y es que encuentro que php se demora un poco mas de lo que quisiera en enviar un correo.
Tengo un formulario que al llenar los campos y enviarlo, te manda un correo, guarda los datos en una tabla SQL y genera un PDF con los datos del formulario. Si solo guardo los datos y genero el PDF es casi instantáneo, pero al establecer que envío un correo primero se demora unos 4 a 5 segundos (no es mucho pero quisiera ver si se puede optimizar ese tiempo.
También estoy viendo la posibilidad de establecer un mensaje que diga "enviando" o algo parecido pero no puedo ya que al abrir el archivo se va a la función mail independiente del contenido html de la pagina.
Estoy usando PHP 5.3.10 y sSMTP (con una cuenta GMAIL) como servidor SMTP.
La configuración de sSMTP es:
En PHP.ini
El archivo que envia, guarda y muestra en PDF:
Tengo un "problema" y es que encuentro que php se demora un poco mas de lo que quisiera en enviar un correo.
Tengo un formulario que al llenar los campos y enviarlo, te manda un correo, guarda los datos en una tabla SQL y genera un PDF con los datos del formulario. Si solo guardo los datos y genero el PDF es casi instantáneo, pero al establecer que envío un correo primero se demora unos 4 a 5 segundos (no es mucho pero quisiera ver si se puede optimizar ese tiempo.
También estoy viendo la posibilidad de establecer un mensaje que diga "enviando" o algo parecido pero no puedo ya que al abrir el archivo se va a la función mail independiente del contenido html de la pagina.
Estoy usando PHP 5.3.10 y sSMTP (con una cuenta GMAIL) como servidor SMTP.
La configuración de sSMTP es:
1
2
3
4
5
6
7
8
9
root=micorreo@gmail.com
mailhub=smtp.gmail.com:587
hostname=micorreo@gmail.com
UseSTARTTLS=YES
AuthUser=micorreo@gmail.com
AuthPass=********
rewriteDomain=
hostname=micorreo@gmail.com
FromLineOverride=YES
En PHP.ini
1
2
3
4
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
;sendmail_path =
sendmail_path = "/usr/sbin/sendmail -t -i"
El archivo que envia, guarda y muestra en PDF:
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
<?php
$nombre = $_POST['h_nombre'];
$mail = 'micorreo@gmail.com';
$header = 'From: ' . $mail . "\n";
$header .= "X-Mailer: PHP/" . phpversion() . "\n";
$header .= "Mime-Version: 1.0\n";
$header .= "Content-Type: text/plain";
$mensaje = "Se ha registrado :\n\n";
$mensaje .= "-----------------------MENSAJE------------------\n";
$mensaje .= "Nombre: " . $_POST['h_nombre'] . "\n";
$mensaje .= "Fecha: " . $_POST['datepicker'] . "\n";
$mensaje .= "Tipo: " . $_POST['h_tipo'] . "\n";
$para = 'destinatario@gmail.com';
$asunto = 'ASUNTO';
mail($para, $asunto, utf8_decode($mensaje), $header);
echo 'Enviando correo....';
//conexión base de datos
$conexion = mysql_connect("localhost", "root", "cepiaw3mysql");
mysql_select_db("administracion", $conexion) or die('No se puede seleccionar la base de datos');
mysql_query("SET NAMES 'utf8'");
//Comprovamos si se han recivido datos del formulario
if(isset($_POST['h_nombre'])){
//Insertamos los datos en SQL
$insertar = "INSERT INTO ................CODIGO............... GUARDO LOS DATOS
?>
<?php
include ('fpdf/fpdf.php');
$pdf = new FPDF('P','mm','Letter');
$pdf->AddPage('P','Letter');
$pdf->SetFont('Arial','B', 10);
//Texto de Título
$pdf->SetXY(68, 15);
$pdf->Image('fpdf/logo.JPG', 40, 10, 'JPG');
............CODIGO.......................... CREO EL PDF CON LOS DATOS
Valora esta pregunta


0