2014-05-17 174 views
0

Im使用郵件形式,但郵件無法發送到Gmail收件箱!無法發送PHP郵件

這裏是我使用的代碼:

<?php 
if (isset($_POST['send'])) { 
    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $message = $_POST['message'];  

    $emailTo = '[email protected]'; 
    $subject = 'Sujet: '.$name; 

    $body = "Full Name: $name \n\n Message: $message \n\n Sent by : $email"; 
    $headers = 'De: ' .' <'.$email.'>' . "\r\n"; 

    if(mail($emailTo, $subject, $body, $headers)){ 
     echo "Success"; 

    }else{ 
      echo "Error"; 

    } 
} 

>

+1

你在使用'localhost'嗎? –

+0

是的!我使用xampp – Mariem

+2

http://stackoverflow.com/q/14802606/725306,http://expertester.wordpress.com/2010/07/07/how-to-send-email-from-xampp-php/,請參閱這[在SO上的答案](http://stackoverflow.com/a/4595838/725306) –

回答

0

試試這個代碼:

$name = $_POST['name']; 
$email = $_POST['email']; 
$message = $_POST['message']; 

$email_to = "[email protected]"; 
$email_subject = "Email for: ".$name; 

$headers = $headers = 'From: '.$email."\r\n". 
     'BCC: '.$email_to_bcc."\r\n" . 
     'X-Mailer: PHP/' . phpversion() . "\r\n" . 
     "MIME-Version: 1.0\r\n" . 
     "Content-Type: text/html; charset=utf-8\r\n" . 
     "Content-Transfer-Encoding: 8bit\r\n\r\n"; 

if (mail($email_to, $email_subject, $message, $headers)) { 
    echo "Mail sent"; 
} 

當然你的服務器必須能夠通過PHP的郵件功能來發送電子郵件。最好設置通過SMTP發送郵件:使用此腳本:https://github.com/Synchro/PHPMailer 易於設置並且工作良好。

0

如果你想從本地主機直接,你需要安裝一個郵件傳輸代理(MTA)發送電子郵件,或者如果你喜歡,一個SMTP服務。

IIS提供了一個。您可以另外找到其他人on Google

你也可以改變你的php.inimail settings。這不會使用localhost來發送電子郵件,而是一個允許您從PHP腳本發送電子郵件的中繼主機。

Source