smtp mail in php.ini

ciao, sto facendo un paio di prove per l'invio di mail, ma ricevo quest'errore:

Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\Programmi\Apache Software Foundation\Apache2.2\htdocs\prova\capitolo11\firstmail.php on line 2

il codice è questo:

<?php
mail("miamail@gmail.com", "hi world", "mailati!");
?>

non capisco che c'è che non va, devo forse configurare in maniera diversa la sezione mail in php.ini? a me sembra di aver fatto tutto bene, ma direi che qualcosa sbaglio....

grazie

inviato 8 anni fa
gabar-el
X 0 X

La tua mail non contiene il mittente (FROM). Questo può essere impostato di default nel php.ini (direttiva sendmail_from) oppure direttamente con il comando mail, inserendo un header adeguato.

<?php
$to      = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com';

mail($to, $subject, $message, $headers);
?>

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

ok, ho capito, grazie.

però io ho modificato il php.ini, così:

; For Win32 only.
sendmail_from = prova@prova.it

perchè non va bene e devo mettere il parametro nella funizone mail?

risposto 8 anni fa
gabar-el
X 0 X

strano... hai riavviato apache? sicuro che il php.ini venga letto?

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

ho riavviato apache, come faccio a sapere se il php.ini viene letto?

in info.php ho queste informazioni a riguardo:

sendmail_from   prova@prova.it   prova@prova.it
SMTP   localhost   localhost
smtp_port   25   25

ma ora se provo a visualizzare il file ricevo questo errore:

Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 Unable to relay for

ho cercato in rete, ma le info che ho trovato non mi son d'aiuto....

risposto 8 anni fa
gabar-el
X 0 X

Da quell'errore si deduce che PHP sta facendo il suo dovere, infatti contatta correttamente il server SMTP. Questo però si rifiuta di inviare la mail, probabilmente perché è impostato per non effettuare il realy verso altri server.

Che server SMTP stai usando? Hai abilitato il relay?

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

già, se metto il server smtp del mio provider funzia infatti....

in che consiste il relay?

risposto 8 anni fa
gabar-el
X 0 X

Il relay consiste nel reinvio di una mail, ricevuta da un server SMTP, verso un altro server di destinazione. Questo accade quando il primo server che riceve la mail non riconosce il destinatario tra quelli che gestisce personalmente e quindi è costretto a contattare un altro server per completare l'operazione.

Questa operazione è normalmente consentita solo per le mail che hanno come mittente un utente gestito dal server. Il server si fida dei suoi utenti e quindi quando li riconosce come mittenti allora accetta di effettuare il relay se ce n'è bisogno. Al contrario il relay è normalmente vietato per le email che provengono da mittenti sconosciuti al server, poiché potrebbero generare spam incontrollato.

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

grazie...

risposto 8 anni fa
gabar-el
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda