Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.www.php > #21103 > unrolled thread

Funzione Mail molto lenta

Started byGreg <greg@alicie.com>
First post2016-08-29 20:36 +0200
Last post2016-09-03 18:56 +0200
Articles 16 — 3 participants

Back to article view | Back to it.comp.www.php


Contents

  Funzione Mail molto lenta Greg <greg@alicie.com> - 2016-08-29 20:36 +0200
    Re: Funzione Mail molto lenta Alessandro Pellizzari <shuriken@amiran.it> - 2016-08-29 21:37 +0000
      Re: Funzione Mail molto lenta Greg <greg@alicie.com> - 2016-08-30 10:06 +0200
        Re: Funzione Mail molto lenta Alessandro Pellizzari <shuriken@amiran.it> - 2016-08-30 11:11 +0100
          Re: Funzione Mail molto lenta Greg <greg@alicie.com> - 2016-08-30 14:05 +0200
            Re: Funzione Mail molto lenta Greg <greg@alicie.com> - 2016-08-30 14:10 +0200
              Re: Funzione Mail molto lenta Alessandro Pellizzari <shuriken@amiran.it> - 2016-08-30 14:25 +0100
                Re: Funzione Mail molto lenta Greg <greg@alicie.com> - 2016-08-30 16:18 +0200
                  Re: Funzione Mail molto lenta Alessandro Pellizzari <shuriken@amiran.it> - 2016-08-30 17:48 +0100
                    Re: Funzione Mail molto lenta Greg <greg@alicie.com> - 2016-08-30 20:04 +0200
                    Re: Funzione Mail molto lenta Greg <greg@alicie.com> - 2016-08-30 20:12 +0200
                    Re: Funzione Mail molto lenta Greg <greg@alicie.com> - 2016-08-30 20:14 +0200
                      Re: Funzione Mail molto lenta Alessandro Pellizzari <shuriken@amiran.it> - 2016-08-31 10:13 +0100
                        Re: Funzione Mail molto lenta Greg <greg@alicie.com> - 2016-08-31 13:12 +0200
    Re: Funzione Mail molto lenta Alex <tommaso5ita@yahoo.it> - 2016-09-03 11:29 +0200
      Re: Funzione Mail molto lenta Greg <greg@alicie.com> - 2016-09-03 18:56 +0200

#21103 — Funzione Mail molto lenta

FromGreg <greg@alicie.com>
Date2016-08-29 20:36 +0200
SubjectFunzione Mail molto lenta
Message-ID<nq1vc9$u3q$1@solani.org>
Ci mette 3-4 secondi solo per assemblare la mail e mostrare il messaggio Torna alla Home, infatti ho spostato l'invio a 
dopo perchè pensavo che fosse prorpio la spedizione a rallentare, invece è proprio il parsing, controllo e 
concatenamento.
C'è un modo pere renderòla piu reattiva? Grazie
Il codice usato? Ah eccolo:

<?php
if (!isset($_REQUEST['submit'])) {
    } else {
    echo "Modo di apertura non corretto. Si prega di riprovare <br>";
    echo "<a href=\"http://www.example.it/prova_mail.php\">Tornare indietro</a>";
        die();
}
    $nome = htmlspecialchars($_POST['nome']);
    $dest = htmlspecialchars($_POST['indirizzo']);
    $testo = htmlspecialchars($_POST['testo']);

$intestazioni  = "MIME-Version: 1.0\r\n";
$intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";
$intestazioni .= "From: SitoWeb \r\n";

$messaggio ="Un messaggio di circa 20 righe bla bla bla"
$messaggio .="</body></html>";

if (!preg_match("/^[-0-9A-Z_\.]{1,50}@([-0-9A-Z_\.]+\.){1,50}([0-9A-Z]){2,4}$/i", $dest))
    {
    echo "<div style='text-align:center; font-size:20px'><br>Indirizzo email <b>NON</b> corretto; si prega di 
riprovare<br><br></div>";
    echo "<div style='text-align:center; font-size:20px'><a href=\"http://www.example.php\">Tornare indietro</a>";
    }
    else
    {
           echo "<div style='text-align:center; font-size:20px'><br><br>Una email è stata inviata     all'indirizzo 
indicato. <br> <br>";
    echo "<a href=\"http://www.example.it/\">Tornare all'inizio</a> ";
    mail($dest, "Mail dal sito", $messaggio, $intestazioni);
    }
?>

-- 
Greg

[toc] | [next] | [standalone]


#21108

FromAlessandro Pellizzari <shuriken@amiran.it>
Date2016-08-29 21:37 +0000
Message-ID<e2jo95F6sf1U1@mid.individual.net>
In reply to#21103
Il Mon, 29 Aug 2016 20:36:53 +0200, Greg ha scritto:

> Ci mette 3-4 secondi solo per assemblare la mail e mostrare il messaggio
> Torna alla Home, infatti ho spostato l'invio a dopo perchè pensavo che
> fosse prorpio la spedizione a rallentare, invece è proprio il parsing,
> controllo e concatenamento.

Prova a commentare la linea con mail(), invece di spostarla alla fine, e 
vedrai che torna reattivo.

Se ti aspetti che ti scriva "Una mail è stata inviata...", non basarti su 
quello, perché tra i vari buffer che ci sono tra PHP e il browser non è 
assolutamente attendibile.

Bye.

[toc] | [prev] | [next] | [standalone]


#21113

FromGreg <greg@alicie.com>
Date2016-08-30 10:06 +0200
Message-ID<nq3eps$os8$1@solani.org>
In reply to#21108
Il 29/08/16 23:37:41 Alessandro Pellizzari ha scritto:
> Il Mon, 29 Aug 2016 20:36:53 +0200, Greg ha scritto:
>
>> Ci mette 3-4 secondi solo per assemblare la mail e mostrare il messaggio
>> Torna alla Home, infatti ho spostato l'invio a dopo perchè pensavo che
>> fosse prorpio la spedizione a rallentare, invece è proprio il parsing,
>> controllo e concatenamento.
>
> Prova a commentare la linea con mail(), invece di spostarla alla fine, e 
> vedrai che torna reattivo.
>
> Se ti aspetti che ti scriva "Una mail è stata inviata...", non basarti su 
> quello, perché tra i vari buffer che ci sono tra PHP e il browser non è 
> assolutamente attendibile.
>
> Bye.

Ho commentatato la linea come suggerito ed è tornato reattivo!
Non si può forzarlo a mostrare l'echo a video prima, si eseguire la riga successiva, con un'istruzione tipo Show o 
qualcosa del genere?

-- 
Greg

[toc] | [prev] | [next] | [standalone]


#21115

FromAlessandro Pellizzari <shuriken@amiran.it>
Date2016-08-30 11:11 +0100
Message-ID<e2l4drFggrmU1@mid.individual.net>
In reply to#21113
On 30/08/2016 09:06, Greg wrote:

> Non si può forzarlo a mostrare l'echo a video prima, si eseguire la riga
> successiva, con un'istruzione tipo Show o qualcosa del genere?

Puoi provare con flush(), ma, come ho detto, ci possono essere diversi 
livelli di buffering tra PHP e il client, quindi non é garantito che 
funzioni.

Bye.

[toc] | [prev] | [next] | [standalone]


#21116

FromGreg <greg@alicie.com>
Date2016-08-30 14:05 +0200
Message-ID<nq3sqq$23s$1@solani.org>
In reply to#21115
Il 30/08/16 12:11:07 Alessandro Pellizzari ha scritto:
> On 30/08/2016 09:06, Greg wrote:
>
>> Non si può forzarlo a mostrare l'echo a video prima, si eseguire la riga
>> successiva, con un'istruzione tipo Show o qualcosa del genere?
>
> Puoi provare con flush(), ma, come ho detto, ci possono essere diversi livelli di buffering tra PHP e il client, 
> quindi non é garantito che funzioni.

Ha risposto subito!
Ma con un errore 500 sul browser, invece in error_log di php c'è questo:
PHP Parse error:  syntax error, unexpected 'mail' (T_STRING) in /home/send_mail.php

-- 
Greg

[toc] | [prev] | [next] | [standalone]


#21117

FromGreg <greg@alicie.com>
Date2016-08-30 14:10 +0200
Message-ID<nq3t2v$2cb$1@solani.org>
In reply to#21116
Il 30/08/16 14:05:43 Greg ha scritto:
> Il 30/08/16 12:11:07 Alessandro Pellizzari ha scritto:
>> On 30/08/2016 09:06, Greg wrote:
>>
>>> Non si può forzarlo a mostrare l'echo a video prima, si eseguire la riga
>>> successiva, con un'istruzione tipo Show o qualcosa del genere?
>>
>> Puoi provare con flush(), ma, come ho detto, ci possono essere diversi livelli di buffering tra PHP e il client, 
>> quindi non é garantito che funzioni.
>
> Ha risposto subito!
> Ma con un errore 500 sul browser, invece in error_log di php c'è questo:
> PHP Parse error:  syntax error, unexpected 'mail' (T_STRING) in /home/send_mail.php

Provato a mettere la flush() sia prima che dopo di mail ma il risultato non cambia.

-- 
Greg

[toc] | [prev] | [next] | [standalone]


#21118

FromAlessandro Pellizzari <shuriken@amiran.it>
Date2016-08-30 14:25 +0100
Message-ID<e2lfq3Fj8agU1@mid.individual.net>
In reply to#21117
On 30/08/2016 13:10, Greg wrote:

>> Ma con un errore 500 sul browser, invece in error_log di php c'è questo:
>> PHP Parse error:  syntax error, unexpected 'mail' (T_STRING) in
>> /home/send_mail.php
>
> Provato a mettere la flush() sia prima che dopo di mail ma il risultato
> non cambia.

Probabilmente hai sbagliato a scrivere qualcosa intorno. Prova a 
riportare le 5-6 righe di codice intorno al mail()

Bye.

[toc] | [prev] | [next] | [standalone]


#21119

FromGreg <greg@alicie.com>
Date2016-08-30 16:18 +0200
Message-ID<nq44k3$7f3$1@solani.org>
In reply to#21118
Il 30/08/16 15:25:23 Alessandro Pellizzari ha scritto:

> Probabilmente hai sbagliato a scrivere qualcosa intorno. Prova a riportare le 5-6 righe di codice intorno al mail()

Eccolo: ho indicato i due posti dove ho provato, uno per volta ovviamente:


if (!preg_match("/^[-0-9A-Z_\.]{1,50}@([-0-9A-Z_\.]+\.){1,50}([0-9A-Z]){2,4}$/i", $dest))
    {
    echo "<div style='text-align:center; font-size:20px'><br>Indirizzo email <b>NON</b> corretto; si prega di 
riprovare<br><br></div>";
    echo "<div style='text-align:center; font-size:20px'><a href=\"http://www.example.php\">Tornare indietro</a>";
    }
    else
    {
    echo "<div style='text-align:center; font-size:20px'><br><br>Una email è stata inviata all'indirizzo indicato. 
<br>";
    echo "<a href=\"http://www.example.it/\">Tornare all'inizio</a> ";
    flush()() 'messo qui ******
    mail($dest, "Mail dal sito", $messaggio, $intestazioni);
    flush() 'oppure qui  ******
    }
?>

-- 
Greg

[toc] | [prev] | [next] | [standalone]


#21120

FromAlessandro Pellizzari <shuriken@amiran.it>
Date2016-08-30 17:48 +0100
Message-ID<e2lrmaFm3u5U1@mid.individual.net>
In reply to#21119
On 30/08/2016 15:18, Greg wrote:

>    flush()() 'messo qui ******

Qui hai due set di parentesi e manca il punto e virgola.

>    mail($dest, "Mail dal sito", $messaggio, $intestazioni);
>    flush() 'oppure qui  ******

Qui manca solo il punto e virgola. :)

Bye.

[toc] | [prev] | [next] | [standalone]


#21122

FromGreg <greg@alicie.com>
Date2016-08-30 20:04 +0200
Message-ID<nq4hs4$h7v$1@solani.org>
In reply to#21120
Il 30/08/2016 18:48:10 Alessandro Pellizzari ha scritto:
> On 30/08/2016 15:18, Greg wrote:
>
>>    flush()() 'messo qui ******
>
> Qui hai due set di parentesi e manca il punto e virgola.
>
>>    mail($dest, "Mail dal sito", $messaggio, $intestazioni);
>>    flush() 'oppure qui  ******
>
> Qui manca solo il punto e virgola. :)
>
> Bye.

Accidenti! Mò riprovo :(

-- 
Greg

[toc] | [prev] | [next] | [standalone]


#21123

FromGreg <greg@alicie.com>
Date2016-08-30 20:12 +0200
Message-ID<nq4ia2$hle$1@solani.org>
In reply to#21120
Il 30/08/2016 18:48:10 Alessandro Pellizzari ha scritto:
> On 30/08/2016 15:18, Greg wrote:
>
>>    flush()() 'messo qui ******
>
> Qui hai due set di parentesi e manca il punto e virgola.
>
>>    mail($dest, "Mail dal sito", $messaggio, $intestazioni);
>>    flush() 'oppure qui  ******
>
> Qui manca solo il punto e virgola. :)
>
> Bye.

Era il punto e virgola mancante, le doppie parentesi era un errore fatto solo qui.
Adesso non da errori ma la velocità non è migliorata per nulla :(

-- 
Greg

[toc] | [prev] | [next] | [standalone]


#21124

FromGreg <greg@alicie.com>
Date2016-08-30 20:14 +0200
Message-ID<nq4idg$hn3$1@solani.org>
In reply to#21120
Il 30/08/2016 18:48:10 Alessandro Pellizzari ha scritto:
> On 30/08/2016 15:18, Greg wrote:
>
>>    flush()() 'messo qui ******
>
> Qui hai due set di parentesi e manca il punto e virgola.
>
>>    mail($dest, "Mail dal sito", $messaggio, $intestazioni);
>>    flush() 'oppure qui  ******
>
> Qui manca solo il punto e virgola. :)
>
> Bye.

Era il punto e virgola mancante, le doppie parentesi era un errore fatto solo qui.
Adesso non da errori ma la velocità non è cambiata :(

-- 
Greg

[toc] | [prev] | [next] | [standalone]


#21126

FromAlessandro Pellizzari <shuriken@amiran.it>
Date2016-08-31 10:13 +0100
Message-ID<e2nldmF4jj3U1@mid.individual.net>
In reply to#21124
On 30/08/2016 19:14, Greg wrote:

> Adesso non da errori ma la velocità non è cambiata :(

La velocità non dipende da PHP, ma da come hai configurato il tuo server 
di posta.

Se ho capito bene sei sotto Windows, quindi mi spiace ma non posso 
aiutarti in quel caso.

Bye.

[toc] | [prev] | [next] | [standalone]


#21127

FromGreg <greg@alicie.com>
Date2016-08-31 13:12 +0200
Message-ID<nq6e37$m6k$1@solani.org>
In reply to#21126
Il 31/08/16 11:13:26 Alessandro Pellizzari ha scritto:
> On 30/08/2016 19:14, Greg wrote:
>
>> Adesso non da errori ma la velocità non è cambiata :(
>
> La velocità non dipende da PHP, ma da come hai configurato il tuo server di posta.
>
> Se ho capito bene sei sotto Windows, quindi mi spiace ma non posso aiutarti in quel caso.

Io navigo sul sito e faccio scattare la mail da un pc windows, ma il sito si trova su un server apache.
Non so neanche se ho accesso al server so che posso configurare delle caselle di posta e non molto altro.
Nel caso abbia accesso a qualche opzione cos dovrei guardare?

-- 
Greg

[toc] | [prev] | [next] | [standalone]


#21137

FromAlex <tommaso5ita@yahoo.it>
Date2016-09-03 11:29 +0200
Message-ID<nqe56o$12b0$1@adenine.netfront.net>
In reply to#21103
Greg ha usato la sua tastiera per scrivere :
> Ci mette 3-4 secondi solo per assemblare la mail e mostrare il messaggio 
> Torna alla Home, infatti ho spostato l'invio a dopo perchè pensavo che fosse 
> prorpio la spedizione a rallentare, invece è proprio il parsing, controllo e 
> concatenamento.
> C'è un modo pere renderòla piu reattiva? Grazie
> Il codice usato? Ah eccolo:
>
> <?php
> if (!isset($_REQUEST['submit'])) {
>     } else {
>     echo "Modo di apertura non corretto. Si prega di riprovare <br>";
>     echo "<a href=\"http://www.example.it/prova_mail.php\">Tornare 
> indietro</a>";
>         die();
> }
>     $nome = htmlspecialchars($_POST['nome']);
>     $dest = htmlspecialchars($_POST['indirizzo']);
>     $testo = htmlspecialchars($_POST['testo']);
>
> $intestazioni  = "MIME-Version: 1.0\r\n";
> $intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";
> $intestazioni .= "From: SitoWeb \r\n";
>
> $messaggio ="Un messaggio di circa 20 righe bla bla bla"
> $messaggio .="</body></html>";
>
> if 
> (!preg_match("/^[-0-9A-Z_\.]{1,50}@([-0-9A-Z_\.]+\.){1,50}([0-9A-Z]){2,4}$/i", 
> $dest))
>     {
>     echo "<div style='text-align:center; font-size:20px'><br>Indirizzo email 
> <b>NON</b> corretto; si prega di riprovare<br><br></div>";
>     echo "<div style='text-align:center; font-size:20px'><a 
> href=\"http://www.example.php\">Tornare indietro</a>";
>     }
>     else
>     {
>            echo "<div style='text-align:center; font-size:20px'><br><br>Una 
> email è stata inviata     all'indirizzo indicato. <br> <br>";
>     echo "<a href=\"http://www.example.it/\">Tornare all'inizio</a> ";
>     mail($dest, "Mail dal sito", $messaggio, $intestazioni);
>     }
> ?>


A parte la velocità di esecuzione,
perché non adoperi l' apposito codice php per validare la mail?

/*    controllo email   */
	$email=trim($_POST['inMail']);
	if (filter_var($email,FILTER_VALIDATE_EMAIL) === FALSE){
	    $this->Uscita('Mail Errata...');
	}

-- 
Alex

--- news://freenews.netfront.net/ - complaints: news@netfront.net ---

[toc] | [prev] | [next] | [standalone]


#21141

FromGreg <greg@alicie.com>
Date2016-09-03 18:56 +0200
Message-ID<nqevcn$3ti$1@solani.org>
In reply to#21137
Il 03/09/2016 11:29:52 Alex ha scritto:

> A parte la velocità di esecuzione,
> perché non adoperi l' apposito codice php per validare la mail?
>
> /*    controllo email   */
> 	$email=trim($_POST['inMail']);
> 	if (filter_var($email,FILTER_VALIDATE_EMAIL) === FALSE){
> 	    $this->Uscita('Mail Errata...');
> 	}

Perchè non conosco php. E' codice trovato in rete e adattato alle mie esigenze. Adesso cerco di coomprendere, testare e 
adattare anche il tuo, che mi pare piu semplice e chiaro anche da leggere.
Grazie :)

-- 
Greg

[toc] | [prev] | [standalone]


Back to top | Article view | it.comp.www.php


csiph-web