2011-03-11 45 views
0

所以,我正在嘗試做一件非常簡單的事情 - 使用PHP發送電子郵件。我查看了堆棧上的其他查詢,並沒有涉及條件語句,所以我想檢查一下,看看我能否得到一些快速的建議。請參閱下面的條件,然後將確認/感謝電子郵件發送給捐贈給我的組織的人。在條件語句後使用PHP發送電子郵件

難道是我首先讓代碼回顯/打印語句,然後運行mail()函數?

if ((isset($_POST['submitted'])) && ($ack!="SUCCESS")) { 

    $_SESSION['reshash']=$resArray; 
    $location = "https://globalcitizenyear.org/wp-content/themes/deMar/APIError.php"; 
     header("Location: $location"); 
    } elseif ($ack =="SUCCESS") { 

     echo ("<h2>Thank You</h2><p>Thank you for your generous donation of $$amount. You will receive an email confirmation with an attached tax receipt.</p>"); 
     $body = "Dear $firstName, 
     /n/nThank you ... 

/n/nAs I travel the country, ... 

/n/nPlease accept my deepest gratitude for your contribution. 
/n/nSincerely, 
/n/nAbigail Falik 
/n/nFounder and CEO 
/nGlobal Citizen Year"; 

**$body = wordwrap($body,70); 
mail("$email",'Thank you for your donation to Global Citizen Year (Important tax receipt)', $body,"From:[email protected]");** 

    } 
    else { 
    // Display Form ?> 
+2

你想完成什麼?我沒有看到這個問題。 – Moshe 2011-03-11 19:27:31

+1

'/ n'應該是'\ n' – drudge 2011-03-11 19:29:59

+0

即使這樣,它們也不是必需的 - 你在字符串中有換行符開頭! – Charles 2011-03-11 19:34:19

回答

2

您的代碼看起來沒問題。最好先發送郵件並檢查功能是否成功。然後,如果成功,您可以回顯「您將收到一封電子郵件確認...」,如果mail()呼叫失敗,則會顯示一些其他消息。但是,使用mail()函數,郵件過程中通常會遇到問題。從這個功能獲得'真正'的回報並不意味着Everything已經在電子郵件世界中發揮作用。

使用其他函數,如數據庫寫入,您將獲得從函數返回的可靠成功或失敗,並應對其執行適當的操作。這意味着您希望在打印出一條消息說一切正常的情況下運行該功能。

+0

當然,'mail()'關於實際交付 - 它只是確認郵件已交給本地SMTP服務器,而不是實際交付。 – 2011-03-11 19:34:14