Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #21103 > unrolled thread
| Started by | Greg <greg@alicie.com> |
|---|---|
| First post | 2016-08-29 20:36 +0200 |
| Last post | 2016-09-03 18:56 +0200 |
| Articles | 16 — 3 participants |
Back to article view | Back to it.comp.www.php
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
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2016-08-29 20:36 +0200 |
| Subject | Funzione 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]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2016-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]
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2016-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]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2016-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]
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2016-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]
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2016-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]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2016-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]
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2016-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]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2016-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]
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2016-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]
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2016-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]
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2016-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]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2016-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]
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2016-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]
| From | Alex <tommaso5ita@yahoo.it> |
|---|---|
| Date | 2016-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]
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2016-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