Newsgroup: it.comp.www.php
Titolo: comando mail() bloccato?

ciao a tutti
da poco mi sono messo ad imparare PHP
mi sono registrato su zendurl(spazio web e MySQL gratuito) per fare delle 
prove
del sito che sto creando
ho fatto la pagina iniziale con tanto di login per avere un riscontro degli 
utenti che si registreranno al sito
ma ho avuto una brutta sorpresa.....
con il comando mail() volevo inviare una mail di conferma della 
registrazione
inviavo user e password come promemoria all'utente che usando un link 
nell'e-mail
mi avrebbe confermato che tutto fosse andato a buon fine....
uso il DB MySQL per tenere uno storico delle persone registrate
ma appena ho fatto delle prove con i miei account di posta
il server mi ha risposto così:
Warning: mail() has been disabled for security reasons in 
/home/zendurl/public_html/miosito/registrazione.php on line 21
come posso fare? ho già provato con mailto in html ma usa il mio pc per 
inviare l'e-mail....
io praticamente ho bisogno che il provider invii l'e-mail agli utenti!!!
grazie
R1g3L

 /home/zendurl/public_html/miosito/registrazione.php on line 21
usa la libreria PEAR::Mail da 
http://pear.php.net
 e utilizza un server smtp
di tua conoscenza, cosě puoi mandare quante mail vuoi.
-- 
there is no real life, only AFK

 mi sono messo ad imparare PHP
In inglese, giusto?

 di tua conoscenza, cosě puoi mandare quante mail vuoi.
grazie adesso farň qualche ricerca su google ;D 

 ha scritto nel messaggio 
news:suppanews-EA641...@nntp.aioe.org...

in che senso scusa?
ho scaricato un manuale in italiano/inglese delle basi
e lo trovo abbastanza intuitibo in quanto
conosco abbastanza bene VB/Delphi e un pochino di C
uso il tool phpProfessional per le pagine

 di tua conoscenza, cosě puoi mandare quante mail vuoi.
allora ho installato PEAR ed ho scaricato il package MAIL
ed ho provato ad usare sul mio Web Server (Apache 2.0.55)
il seguente codice:
<?php
include('Mail.php');
$recipients = '
j...@example.com
';
$headers['From']    = '
ric...@example.com
';
$headers['To']      = '
j...@example.com
';
$headers['Subject'] = 'Test message';
$body = 'Test message';
$params['sendmail_path'] = '/usr/lib/sendmail';
// Create the mail object using the Mail::factory method
$mail_object =& Mail::factory('sendmail', $params);
$mail_object->send($recipients, $headers, $body);
?>
cosa sbaglio?
ho usato 2 e-mail che posseggo
una per inviare ed una per ricevere
non capisco dove devo utilizzare il server smtp... ;(((
grazie 

';
        $headers['To']      = $to;
        $headers['Subject'] = $subject;
        $email_footer = get_admin("email_footer");
        $body = $body;
        $body.= "\n\n--\n".$email_footer;
        $params['host'] = 'smtp.server';
        //$params['port'] = 25;
        $params['auth'] = true;
        $params['username'] = '
us...@domain.com
';
        $params['password'] = 'password';
        $params['persist'] = false;
        // Create the mail object using the Mail::factory method
        $backend = "smtp";
        $mail_object =& Mail::factory($backend, $params);
        $mail_object->send($recipients, $headers, $body);
-- 


 Devi installare anche la libreria Smtp che trovi sempre su pear
ok ora l'ho installata
ed in locale funziona tutto con il seguente codice:
<?php
require_once "Mail.php";
$recipients = '
m...@fastwebnet.it
';
$headers['From']    = '
m...@fastwebnet.it
';
$headers['To']      = '
rice...@fastwebnet.it
';
$headers['Subject'] = 'Ti sei registrato!';
$params["host"] = "
smtp.fastwebnet.it
";
$params['port'] = 25;
$params['auth'] = true;
$params["username"] = "xxxxxx";
$params["password"] = "xxxxxx";
$params['persist'] = false;
$mail_object =& Mail::factory('smtp', $params);
if ($mail_object->send($recipients, $headers, 'mail di prova!'))
 echo "mail inviata con successo";
else
 echo "errore nell'invio della email";
?>
ora ho provato ad inserire la pagina con l'ftp sullo spazio web di zendurl
ma non riesce a trovare mail.php
gli errori sono questi:
Warning: require_once(Mail.php) [function.require-once]: failed to open 
stream: No such file or directory in 
/home/zendurl/public_html/t/test/invia.php on line 2
Fatal error: require_once() [function.require]: Failed opening required 
'Mail.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in 
/home/zendurl/public_html/t/test/invia.php on line 2
in locale avrei messo mano al php.ini in include_path ma sul web come 
faccio?
ho provato queste 3 soluzioni:
require_once "Mail.php";
require_once "/Mail.php";
require_once "\Mail.php";
ma purtroppo da sempre lo stesso errore :((
grazie x la pazienza ;D 

 grazie x la pazienza ;D
Le librerie Pear possono essere incluse sia a livello globale, sia nel tuo
spazio a disposizione.
quindi basta che scarichi Pear Mail Mail_Smtp e le includi come faresti con
qualsiasi altro file incluso.
magari usando require_once invece che require.
e poi se a posto.
ciao


 qualsiasi altro file incluso.
ho visto che l'errore che da dice anche:
include_path='.:/usr/lib/php:/usr/local/lib/php'
devo creare queste directory e metterci
mail.php
smtp.php
?????
o devo scaricare pear-1.6.2 e mettere
tutto il contenuto in una dir PEAR?
grazie

 
ovviamente a te basta inserire il framework principale che è Pear
e poi le librerie annesse mail e smtp


 e poi le librerie annesse mail e smtp
ti dico i passaggi che ho fatto:
ho scaricato l'archivio pear-1.6.2.tar
l'ho aperto e dentro c'č:
OS
PEAR
SCRIPTS
install
package.dtd
...
ho copiato solo la cartella "PEAR" sul web
con tutti i suoi file
ho preso le directory MAIL e NET che avevo scaricato
e le ho inserite nella dir PEAR
richiamo la mia pagina invia_mail.php
con il relativo include:
require_once "mail.php";
alla fine ho una struttura fatta cosi:
/
images
PEAR-->MAIL-->mail.php
PEAR-->NET-->SMTP.php
invia.php
ma purtroppo non funziona ancora :(
sono proprio tonto
sorry ma non capisco
grazie 

 grazie
-- 


 nel file invia.php fai poi require_once("PEAR/Mail.php");
ho fatto come hai detto ma mi sorge un dubbio:
io nella dir PEAR del mio PC ho le dir "Mail" e "Net"
in "Mail" ho:
-mail.php
-null.php
-RFC822.php
-sendmail.php
-smtp.php
mentre in "Net" ho:
-SMTP.php
-Socket.php
e infatti mi da questi errori ora:
Warning: Mail_smtp::include_once(Net/SMTP.php) 
[function.Mail-smtp-include-once]: failed to open stream: No such file or 
directory in /home/zendurl/public_html/b/bakath/PEAR/Mail/smtp.php on line 
206
Warning: Mail_smtp::include_once() [function.include]: Failed opening 
'Net/SMTP.php' for inclusion 
(include_path='.:/usr/lib/php:/usr/local/lib/php') in 
/home/zendurl/public_html/b/bakath/PEAR/Mail/smtp.php on line 206
Fatal error: Class 'Net_SMTP' not found in 
/home/zendurl/public_html/b/bakath/PEAR/Mail/smtp.php on line 210
La mia dir sul Web ora è cosi:
Nella root c'è:
File--> invia.php
Dir--> PEAR
Nella Dir PEAR
File--> Mail.php
File--> PEAR.php
Dir--> Mail
Dir--> Net
Nella Dir Mail
File--> mail.php
File--> null.php
File--> RFC822.php
File--> sendmail.php
File--> smtp.php
Nella Dir Net
File-->

 nel file invia.php fai poi require_once("PEAR/Mail.php");
sorry ma mi č partito il messaggio da solo
ancora non so che combinazione di tasti ho usato! ;O
ho fatto come hai detto ma mi sorge un dubbio:
io nella dir PEAR del mio PC ho le dir "Mail" e "Net"
in "Mail" ho:
-mail.php
-null.php
-RFC822.php
-sendmail.php
-smtp.php
mentre in "Net" ho:
-SMTP.php
-Socket.php
e infatti mi da questi errori ora:
Warning: Mail_smtp::include_once(Net/SMTP.php)
[function.Mail-smtp-include-once]: failed to open stream: No such file or
directory in /home/zendurl/public_html/b/bakath/PEAR/Mail/smtp.php on line
206
Warning: Mail_smtp::include_once() [function.include]: Failed opening
'Net/SMTP.php' for inclusion
(include_path='.:/usr/lib/php:/usr/local/lib/php') in
/home/zendurl/public_html/b/bakath/PEAR/Mail/smtp.php on line 206
Fatal error: Class 'Net_SMTP' not found in
/home/zendurl/public_html/b/bakath/PEAR/Mail/smtp.php on line 210
La mia dir sul Web ora č cosi:
Nella root c'č:
File--> invia.php
Dir--> PEAR
Nella Dir PEAR
File--> Mail.php
File--> PEAR.php
Dir--> Mail
Dir--> Net
Nella Dir Mail
File--> mail.php
File--> null.php
File--> RFC822.php
File--> sendmail.php
File--> smtp.php
Nella Dir Net
File--> SMTP.php
File--> Socket.php
nei tuoi msg non parlavi  di una dir "Net" ma se in locale
la rinomino e riavvio apache non funziona piů.....
grazie 

CUT
Ho risolto cosi:
Nella root:
File--> invia.php
File--> Mail.php
File--> PEAR.php
Dir--> "Mail"
Dir--> "Net"
Nella Dir Mail
File--> mail.php
File--> null.php
File--> RFC822.php
File--> sendmail.php
File--> smtp.php
Nella Dir Net
File--> SMTP.php
File--> Socket.php
forse non è molto pulita pero funziona ;DDDDDD
lo posto così se in futuro esisterà un'altro rin****ionito come me
avrà la soluzione a portata di click ;D
grazie mille per il tuo aiuto
senza di te non ne sarei mai venuto a capo ;*
ciao
R1g3L 

 senza di te non ne sarei mai venuto a capo ;*
tutto è bene quel che finisce bene :)
a presto
Sat_
