2014-01-21 81 views
1

我有一個註冊腳本,用於向註冊的用戶發送電子郵件。將PHP配置爲使用SMTP功能

 //// Set headers //// 
     $headers = 'MIME-Version: 1.0' . "rn"; 
     $headers .= "Content-type: textrn"; 
     $headers .= "From: $from"; 
     /// Send the email now //// 
     mail($email1, $subject, $message, $headers, '-f [email protected]'); 
     //mail($email1, $subject, $message, $headers, '-f [email protected]'); 
     $db->commit(); 
     echo "Thanks for joining! Check your email in a few moments to activate your account so that you may log in. See you on the site!"; 
     $db = null; 
     exit(); 
} 
     catch(PDOException $e){ 
       $db->rollBack(); 
       echo $e->getMessage(); 
       $db = null; 
       exit(); 
     } 

這裏用於配置我的SMTP服務器:

SMTP=smtp.gmail.com 
smtp_port=587 
sendmail_from = [email protected] 

sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" 

當過我嘗試運行我的登錄腳本,我得到這個:

感謝您加入!請稍後檢查您的電子郵件以激活您的帳戶,以便您登錄。在網站上查看您!

我的問題是,誰曾經註冊 - 從來沒有收到電子郵件。起初我認爲它可能只是本地主機上不可能實現的功能。然後但是,我看到其他人的工作的一些代碼,但給了我這樣的錯誤......

變量$從沒有設置

我怎麼能配置我的代碼,以便它運行沒有錯誤?

另外,如何配置代碼以確保發送電子郵件的人誰收到它?

+0

您需要使用SMTP認證(用戶名和密碼)才能使用Gmail的SMTP服務器。我會研究PHPmailer或其他允許smtp驗證的php郵件包。 – Pitchinnate

+0

我下載了PHPMailer作爲最後的手段。我會試一試。 – nathanleachman

回答

1

對於在PHP中使用SMTP,你應該看看phpmailer。 https://github.com/Synchro/PHPMailer

易於配置併爲您完成所有工作。

+0

如何使用PHPmailer? – nathanleachman

+0

@jacktherap只是看文檔。 Theres基本上是一個複製和粘貼示例,你只需要修改服務器和密碼。 – dognose