簡體   English   中英

使用PHP發送電子郵件

[英]Send Emails using PHP

我有一個聯系表,我想將電子郵件發送到emailField的電子郵件。

$subject = $_POST['demail2'];
$message = $_POST['textarea'];
$mail_from = $_POST['demail'];
$name = $_POST['dname'];
$header = "from: $name";
$to = "some-email@some-provider.com";

$send_contact = mail($to, $subject, $message, $header);

if ($send_contact)
{
    echo "We´ve recieved your information";
}
else
{
    echo "Error";
}

我嘗試了這個但是沒用...

嘗試這個,

$subject = $_POST['demail2'];
$message = $_POST['textarea'];
$mail_from = $_POST['demail'];
$name = $_POST['dname'];

$to = "some-email@some-provider.com";
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

$headers .= 'From: '.$name.' <'.$mail_from.'>' . "\r\n";    
$send_contact = mail($to, $subject, $message, $headers);

1-打開您的php.ini
2-查找並取消注釋sendmail_path = "sendmail -t -i"
3-重新啟動apache

注意:
您應該放置完整路徑 (即/usr/sbin/sendmail -t -i
sendmail_path = "/usr/sbin/sendmail -t -i"

如果仍然失敗,則應啟用並顯示錯誤以便正確調試,為此,請在腳本頂部添加以下代碼:

error_reporting(E_ALL); ini_set('display_errors', 1);

當mail()返回false時,可以使用error_get_last()。

使用print_r(error_get_last())您會得到正確的錯誤

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM