Newsgroup: it.comp.www.php
Titolo: mailing list

Salve a tutti,
qualcuno sa dirmi dove posso trovare uno script semplice gia' fatto per una
mailing list?
Sinceramnete  ho provato a farne una io con  poche righe di codice ma non mi
sembra
tanto sicura forse propio perche' sono troppe poche righe di codice:))
in ogni caso la posto cosi mi date anche qualke consiglio, ovviamente e'
solo qualche mese che uso php::) quindi non badate a errori stratosferici:))
**************** Form (per l'amministratore che gestisce la mailing list)
HTML>
<HEAD>
<TITLE>Untitled Document</TITLE> <META HTTP-EQUIV="Content-Type"
CONTENT="text/html; charset=iso-8859-1">
</HEAD>
<BODY BGCOLOR="#FFFFCC">
<FORM METHOD="post" ACTION="invio_mail.php"><TABLE WIDTH="75%" BORDER="0"
CELLSPACING="0" CELLPADDING="0"><TR><TD>Inserisci
l oggetto della mail</TD></TR><TR><TD><P>&nbsp;</P><P><INPUT TYPE="text"
NAME="oggetto" MAXLENGTH="45" SIZE="60"></P></TD></TR><TR><TD>Scrivi
il corpo del messaggio da inviare agli iscritti</TD></TR><TR><TD><textarea
rows="6" name="corpo" cols="61"></textarea></TD></TR><TR><TD><INPUT
TYPE="submit" NAME="invia" VALUE="invia"></TD></TR></TABLE></FORM>
</BODY>
</HTML>
************************************************
***************script invio_mail.php******************
<?
$dbaddress="localhost";
$login="";
$password="";
$dbname="mailing_list";
if(!($conn=mysql_connect($dbaddress, $login, $password)))
{
echo "Connessione al server non riuscita";
}
mysql_select_db($dbname, $conn);
$corpo=wordwrap($corpo);
$query = mysql_query("select (e_mail) from utenti",$conn);
$nrow= mysql_num_rows($query);
$num_col = mysql_num_fields($query);
for ($i=0; $i< $nrow; $i++) {
     $row = mysql_fetch_row($query);
     for ($j=0; $j < $num_col; $j++)
           mail("$row[$j]","$oggetto","$corpo");
}
mysql_free_result ($query);
?>
****************************************
si collega ad un database (MYSQL) che contiene tutti gli indirizzi degli
iscritti tramite un altro form che non posto perche' banale:))
solo che quando inserisco i dati nel form dell aministratore e invio mi da
il seguente errore , credo sia di time out del server che non ce la fa ad
inviare tutte queste mail::
Fatal error: Maximum execution time of 30 seconds exceeded in
c:/easyphp/www/mailing_list/invio_mail.php on line 28
Grazie in anticipo per i vostri consigli ,spero che lo script non sia troppo
contorto :)
Giax
g...@sintesi.net

 stratosferici:)) 
Il problema sta nella quantita' di indirizzi email che hai, finche ce ne 
sono pochi il comando mail() va bene, poi ti va in timeout!
Apri un socket e fai una connessione diretta al server mail, invia tutte le 
mail e chiudi il socket! :)
-- 
Ciao,
Lorenzo
¨~{togliere _NESPOLA_ dall'email}~¨

 ha scritto nel messaggio
news:Xns9135D51...@192.106.1.3...


 ?:) 
mando un esempio, che uso anchio! :)
se vuoi mandare una sola mail o poche e' piu' veloce il mail()
Questo ti permette di collegarti a qualsiasi mail server (dipende sempre 
dagli anti relay) :) 
Sarebbe da provare a collegarsi (in caso di Linux direttamente al programma 
mail), appena ho tempo provo!
$smtp_server = "mail.server.cxm";
$from = "mitt...@paperino.tld";
$email_to = "destin...@pluto.tld";
// definisci il socket con server, porta di connessione, errori
$socket = fsockopen($smtp_server, 25, $errno, $errstr);
// apri la connessione al server mail
open_socket($socket);
$header = "From: " . $from . "\nX-Mailer: PHP sock";
$subject = "ciao, prova";
$body = "Ciao,\nmail inviata con PHP";
// questo e' il comando che ti invia la mail
write_current_mail($socket, $from, $header,  $email_to, $subject, $body);
// chiudi la connessione
close_socket($socket);
-- 
Ciao,
Lorenzo
จ~{togliere _NESPOLA_ dall'email}~จ