PDA

View Full Version : [PHP]funzione mail


Fenomeno85
21-02-2004, 18:26
ciao a tutti, questa funzione non vuole proprio funzionare mi da questo:

Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Programmi\Apache Group\Apache2\htdocs\email\controllo.php on line 26

$x = mail($MailTo, $indirizzo, $testo, $nome);

~§~ Sempre E Solo Lei ~§~

Fenomeno85
21-02-2004, 19:31
nessun sa da cosa può dipendere??

~§~ Sempre E Solo Lei ~§~

cionci
22-02-2004, 03:15
Devi mettere un server mail SMTP valido per la tua connessione ad internet in php.ini (alla voce SMTP)...

Fenomeno85
22-02-2004, 09:58
cioè esempio smtp.lycos.it?? ma in locale non posso gestirlo?? devo sempre appoggiarmi ad un smtp esterno??

~§~ Sempre E Solo Lei ~§~

Fenomeno85
22-02-2004, 10:03
se ci metto smtp.lycos.it mi da lo stesso l'errore :wtf:

~§~ Sempre E Solo Lei ~§~

cionci
22-02-2004, 10:24
Ma le pagine stanno su lycos ?!?!? Oppure sul tuo sistema ? In tal caso tu quale SMTP usi per inviare le mail dal client di posta ?

Fenomeno85
22-02-2004, 10:29
no è tutto in locale ... per spedire uso quello di lycos nella configurazione della posta :wtf:

~§~ Sempre E Solo Lei ~§~

cionci
22-02-2004, 10:36
Ma ti da sempre lo stesso errore ? Strano... Sempre con "localhost" ? Hai riavviato Apache...vero ?

Fenomeno85
22-02-2004, 10:40
scusa l'errore cambia

Warning: mail(): SMTP server response: 503 No recipient(s).

~§~ Sempre E Solo Lei ~§~

cionci
22-02-2004, 10:50
Posta il codice che usi per spedire...

[Gnomix]
22-02-2004, 12:16
aspetta... se usi php sotto windows puoi mettere l'smtp del tuo ISP o del tuo server locale.. se usi php sotto linux sei costretto a montarti un server di posta.. almeno così ho letto dal php.ini tempo fa

Fenomeno85
22-02-2004, 12:28
e dove lo trovo smtp del isp??


~§~ Sempre E Solo Lei ~§~

cionci
22-02-2004, 12:55
Con chi ti connetti ?

Fenomeno85
22-02-2004, 12:59
telecom, facendo come hai detto ho visto che avevo inizializzato la variabile $mailto al posto di $MailTo adesso mi dice:

mail(): SMTP server response: 553 <fenomeno85@lycos.it>: Sender address rejected: not logged in in

~§~ Sempre E Solo Lei ~§~

Fenomeno85
22-02-2004, 13:01
non è che prima mi devo loggare sul server lycos prima di poter riuscire ad utilizzare l'smtp??

~§~ Sempre E Solo Lei ~§~

cionci
22-02-2004, 13:04
Allora...mi sa che il tuo server SMTP utilizza uno di questi sistemi per limitare il relay della posta:

- il server necessita di una sessione POP3 prima di poter utilizzare una sessione SMTP
- il server necessita di autentificazione SMTP

Allora l'unico modo è installare un server SMTP in locale...

Fenomeno85
22-02-2004, 13:25
su www.php.net ho visto questo codice ma mi da errore vediamo se si può utilizzare:

---------------
If you can't use or don't understand how to use the sendmail program from linux, you can use a PEAR object to send mail.

<?
include("Mail.php");

$recipients = "mail_to@domain.mail";

$headers["From"] = "mail_from@domain.mail";
$headers["To"] = "mail_to@domain.mail";
$headers["Subject"] = "Test message";

$body = "TEST MESSAGE!!!";

$params["host"] = "smtp.server";
$params["port"] = "25";
$params["auth"] = true;
$params["username"] = "user";
$params["password"] = "password";

// Create the mail object using the Mail::factory method
$mail_object =& Mail::factory("smtp", $params);

$mail_object->send($recipients, $headers, $body);
?>

In my case, i use a smtp server that require authentication, and sendmail configuration is almost cryptic to me.

PEAR is already installed in PHP 4.0.3 , if not, you must go to pear.php.net and install it, in my case, I needed to add the Socket.php to the PEAR library.

----------

~§~ Sempre E Solo Lei ~§~

cionci
22-02-2004, 13:30
Spetta...dimmi chi è il tuo ISP... Hai Alice ? Hai virgilio/tin.it ?

Fenomeno85
22-02-2004, 13:36
alice


~§~ Sempre E Solo Lei ~§~

cionci
22-02-2004, 13:37
Allora metti: out.aliceposta.it come SMTP...
Come mai ti eri ostinato con quello di Lycos ?

Fenomeno85
22-02-2004, 13:44
guarda sei un grande!!!!!!!! Funziona alla grande :cincin:

pensavo che dovevo utilizzare smtp di lycos perchè ho l'email su lycos :)

~§~ Sempre E Solo Lei ~§~

cionci
22-02-2004, 13:49
Devi sempre usare l'SMTP del tuo provider...

Lycos non fa da provider ed utilizza uno dei metodi sopra elencati per limitare l'accesso al server...

Fenomeno85
22-02-2004, 13:50
capito :)

ah cionci adesso ho messo anche il dsn fisso così non mi tocca ogni volta inserire il mio ip :)

~§~ Sempre E Solo Lei ~§~

cionci
22-02-2004, 13:53
Originariamente inviato da Fenomeno85
ah cionci adesso ho messo anche il dsn fisso così non mi tocca ogni volta inserire il mio ip :)
Bene bene...allora sta proseguendo bene... Ricordati che voglio essere citato nei ringraziamenti del progetto :O :D :D

Fenomeno85
22-02-2004, 14:00
Originariamente inviato da cionci
Bene bene...allora sta proseguendo bene... Ricordati che voglio essere citato nei ringraziamenti del progetto :O :D :D

ovvio che lo metto nella tesina :) guarda adesso il sito che ti ho mandato :D

~§~ Sempre E Solo Lei ~§~

cionci
22-02-2004, 14:05
Tutto ok...funziona bene ;)

Fenomeno85
22-02-2004, 14:07
si arrivata anche la tua email :)

se anche la seconda parte è andata bene ti trovi anche te una e.mail :)

~§~ Sempre E Solo Lei ~§~

cionci
22-02-2004, 14:08
Sì...è arrivata... Perfetto ;)

[Gnomix]
22-02-2004, 14:25
Un attimino :D ma se uno ha php su macchine linux nn è obbligatorio montare un server di posta ? perchè se usavo l'smtp del mio ISP le mail nn andavano mica..

Fenomeno85
22-02-2004, 17:32
non so sotto win funziona ... sei sicuro di averlo messo giusto??

~§~ Sempre E Solo Lei ~§~

[Gnomix]
22-02-2004, 18:19
si si, ma nel php.ini dice esplicitamente sta cosa.. il fatto ke sotto macchine linux sei costretto a mettere un server di posta.. però nn capisco come mai...

Fenomeno85
22-02-2004, 18:34
mi dispiace ma linux non lo utilizzo e, l'ho detestato la prima volta che l'ho l'installato :)

~§~ Sempre E Solo Lei ~§~

cionci
22-02-2004, 19:04
Sì...vero, ma su Linux c'è al 99% almeno sendmail...

[Gnomix]
22-02-2004, 19:08
Quindi sotto linux è OBBLIGATORIO avere un server mail ?

cionci
22-02-2004, 19:11
Sì, ma basta anche sendmail che è installato di default su TUTTE le distribuzioni Linux... Non è un vero è proprio server di posta, ma + che altro un server SMTP in uscita...

[Gnomix]
22-02-2004, 19:15
si si io già che ci sono uso postfix :D cmq grazie almeno sono certo che non ho altre soluzioni se nn installare un "server mail".. anche se mi rimane ancora oscuro come mai sotto windows non è necessario il server mentre sotto linux si...

Fenomeno85
22-02-2004, 19:41
Originariamente inviato da [Gnomix]
si si io già che ci sono uso postfix :D cmq grazie almeno sono certo che non ho altre soluzioni se nn installare un "server mail".. anche se mi rimane ancora oscuro come mai sotto windows non è necessario il server mentre sotto linux si...

ovvio Zio Bill è avanti :D

~§~ Sempre E Solo Lei ~§~

cionci
23-02-2004, 00:10
Originariamente inviato da Fenomeno85
ovvio Zio Bill è avanti :D

~§~ Sempre E Solo Lei ~§~
Non è per neinte avanti...è solo che semplicemente Unix e Linux sono così da sempre... Sendmail è storicamente presente in tutte le macchine...è stata una delle prime applicazini create su Unix...ed a lui si appoggiano tutti i programmi che necessitano di inviare posta fra utenti della macchina e verso l'esterno....per questo anche php si appoggia a sendmail... Inoltre ricordo che un server SMTP non è un "server di posta", ma una parte di esso, e solitamente sendmail non è accessibile dall'esterno...
Sendmail è considerato come parte del sistema operativo... Su Windows esistono una serie di API che si occupano di inviare la posta...ma non sono capaci di farlo da sole e si devono appoggiare ad un servizio SMTP esterno (anche Windows ha in realtà un SMTP server che si installa con IIS)...

Fenomeno85
10-06-2004, 18:29
quando si dice la sfiga ... non vuole + funzionare sta maledetta funzione :cry:

~§~ Sempre E Solo Lei ~§~

cionci
10-06-2004, 18:32
Strano...che dice ?

Fenomeno85
10-06-2004, 18:34
mi arriva questa roba all'indirizzo:

Mail Delivery Service [postmaster@aliceposta.it]

- These recipients of your message have been processed by the mail server:
fenomeno85@lycos.it; Failed; 5.5.0 (other or undefined protocol status)

Remote MTA mx1.mail.spray.net: SMTP diagnostic: 554 <fenomeno85@lycosit>: Sender address rejected: Access denied

~§~ Sempre E Solo Lei ~§~

cionci
10-06-2004, 18:39
fenomeno85@lycosit>: Sender address rejected: Access denied
Che vuol dire secondo te ? Rifiutato l'indirizzo del mittente...

Fenomeno85
10-06-2004, 18:41
si l'avevo notatio pure io ma guarda il codice:



<?php
mail("fenomeno85@lycos.it", "Oggetto", "prova", "FROM: fenomeno85@lycos.it");
?>



~§~ Sempre E Solo Lei ~§~

cionci
10-06-2004, 18:43
Ma su quale server web hai lo stai facendo girare ? Sul tuo ? In tal caso metti come server quello del tuo provider...

Fenomeno85
10-06-2004, 18:45
ho messo nel file php.ini

in smtp: out.aliceposta.it

~§~ Sempre E Solo Lei ~§~

cionci
10-06-2004, 18:52
Metti il tuo indirizzo di alice....oppure metti uno \r\n in fondo dopo la fine della mail...