2015-01-19 35 views
10

Sto tentando di utilizzare la funzione mail() di PHP per inviare una mail di prova.[Avviso PHP: mail(): "sendmail_from" non impostato in php.ini o personalizzato "Da:" header mancante

$to = "****@gourab.me"; 
$sub = "Php Mail"; 
$msg = "Test Message From PHP"; 

mail($to, $sub, $msg, "From: **********@gmail.com"); 

Quando si tenta di eseguire il debug attraverso step in phpdbg, mostra il messaggio:

[PHP Warning: mail(): " sendmail_from" not set in php.ini or custom "From:" header 
missing in C:/xampp/htdocs/tinyProj/mail.php on line 4] 

non riesco a capire perché?

+0

Che cosa è la tua domanda? –

+2

Bulk, la domanda si legge abbastanza chiaramente come "Non riesco a capire perché? Qualcun altro?" – Epirocks

risposta

21

Sembra che l'intestazione From non sia formattata correttamente. Prova a modificare:

$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'From: Your name <[email protected]>' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

mail($to, $subject, $body, $headers); 
+1

L'ho provato ma ora phpdbg mostra '[PHP Warning: mail(): Impossibile connettersi al mailserver sulla porta localhost 25, verificare le impostazioni" SMTP "e" smtp_port "in php.ini o usare ini_set()' – Ikari

+0

Are sei su un server live o solo sul tuo PC? – fillobotto

+0

Sono sul mio PC con XAMPP – Ikari

2

Bro sembra che si sta utilizzando si possiede/localhost/127.0.0.1 PC server è per questo che non è possibile connettersi al server SMTP. È possibile inviare posta solo dal server live utilizzando la codifica simile con alcune modifiche :), ad esempio aggiungere un parametro "Intestazione/Da".

mail("[email protected]","Answer","Hope You Vote My Answer Up","From: [email protected]"); 
0
<?php 
if(isset($_POST['send'])){ 
    $from = $_POST['femail']; 
    $phoneno = $_POST['phoneno']; 
    $message = $_POST['message']; 
    $carrier = $_POST['carrier']; 
    if(empty($from)){ 
     echo("enter the email"); 
     exit(); 

    } 
else if(empty($phoneno)){ 
    echo("enter the phone no"); 
    exit(); 
    } 
elseif(empty($carrier)){ 
    echo("enter the specific carrier"); 
    exit(); 
    } 
else if(empty($message)){ 
    echo("enter the message"); 
    exit(); 
    } 
    else{ 
    $message = wordwrap($message, 70); 
    $header = $from; 
    $subject = 'from submission'; 
    $to = $phoneno.'@'.$carrier; 
    $result = mail($to, $subject, $message, $header); 
    echo("message sent to".$to); 

    } 

    } 
?> 
+0

Caro Yusuph, quando rispondi a questo tipo di domande dovresti cercare di essere più diretto, la domanda dice che sta ricevendo un messaggio di errore ma sembra che stia bene con il codice. –