Newsgroup: it.comp.os.linux.iniziare
Titolo: spedire mail

Salve,
ho un piccolo problema. Sto creando una piccola applicazione in php che mi
dovrebbe spedire una newsletter ad una piccola comunità di iscritti,
circa 300 persone. Il programma si appoggia, o si dovrebbe appoggiare il
php, al comando sendmail di Linux. Il programma sintatticamente è
corretto e sembra funzionare , ma i messaggi non vengono mai spediti verso
gli indirizzi specificati dalla lista. Come faccio ad abilitare sendmail
in modo che mi spedisca i messaggi? Postfix funziona, potrei usare postfix
al posto di sendmail? Se si, qualcuno ha esperienze in proposito?
Francesco
-- 
There are two kinds of researchers:
those that have implemented something and those that have not.
The latter will tell you that there are 142 ways of doing things
and that there isn't consensus on which is best.
The former will simply tell you that 141 of them don't work.

 di un problema di relay proibito, ma senza informazioni...
In coda arrivano, o almeno è quello che vedo io usando webmin, ma vedo
che non sono stati spediti ai destinatari. In effetti, succede una cosa
strana. Il nominativo di ogni destinatario viene spezzettato, e ad ogni
componente viene aggiunto il nome del dominio. Ad esempio, se tra i
destinatari c'è "
mario.e...@libero.it
" <Mario De Filippo>, quando
viene spedito, nella coda di mail di postfix leggo: 
- che la posta viene spedita da 
apa...@www.miodominio.it
 
- che i destinatari sono:
Ma...@www.miodominio.it
D...@www.miodominio.it
Fil...@www.miodominio.it
Ecco invece cosa ottengo per lo status della spedizione per ogni
messaggio:
delivery temporarily suspended: connect to
www.miodominio.it
[xxx.xxx.xxx.xxx]: Connection refused


 posta, verifica quello.
Ecco il mio script:
function send_mail($fromname, $fromaddress, $toname, $toaddress, $subject, $message)
{
//echo "Da:".$fromaddress."<br>";
//echo "A:",$toname."  ".$toaddress."<br>";
//echo "Subject:".$subject."<br>";
//echo "Messaggio:".$message."<br>";
  $headers  = "MIME-Version: 1.0\n";
   $headers .= "Content-type: text/plain; charset=iso-8859-1\n";
   $headers .= "X-Priority: 3\n";
   $headers .= "X-MSMail-Priority: Normal\n";
   $headers .= 'From: "'.$fromname.'" < '.$fromaddress.' > '."\n";
   $headers .= 'Reply-to: "'.$fromname.'" < '.$fromaddress.' > '."\n";
   $headers .= "X-Mailer: php ".phpversion()."\n";
 mail($toaddress, $subject, $message, $headers) or die('Impossibile inviare il messaggio');
}
funzione che viene richiamato in un ciclo di while,per ogni indirizzo in
questo modo:
while ($record=mysql_fetch_array($result))
	{
send_mail("Mio
nome","
webm...@giorgio.net
",$record['Descrizione'],$record['UserMail'],"Spedizione
Mail prova","Il messaggio è: che volete");


 dopo.
In che senso? Senza che ?


 (ho messo gli spazi solo
per evitare, nel caso sia un indirizzo valido, che venga contattato da
spacciatori di viagra fasullo).
Se il tuo script legge i nomi da un file, verifica come sono stati scritti,
o se nel leggere il file riempi due variabili diverse, inverti l'ordine
con cui le usi.
tipo:
print $address $commento
in
print $commento $address
la soluzione migliore: mailman
300 persone sono già un numero più che sufficiente per poter usare un
list manager apposito, e come indirizzo di posti usi il nome dato alla
lista.
ciao 
michele