2013-03-28 68 views
0

我已經看到了其他一些帖子,我現在正在從一本書中學習。我跟着書上說的話,我不明白我錯過了什麼。PHP - 發送郵件不起作用

我試圖不讓它成爲一個雙重職位,但代碼與我在stackoverflow上閱讀的代碼完全不同,所以在這裏我去了。我希望有一個人可以幫助我。我是一個完整的初學者。

Basic.php有這個腳本

<form action="sendmail.php" method="POST"> 
<p><strong>Name:</strong><br /> 
<input type="text" size="25" name="name" /></p> 
<p><strong>E-Mail Address:</strong><br /> 
<input type="text" size="25" name="email" /></p> 
<p><strong>Message:</strong><br /> 
<textarea name="message" cols="30" rows="5"></textarea></p> 
<p><input type="submit" value="send" /></p> 
</form> 

sendmail.php有這個腳本。

echo "<p>Thank you, <b>" . $_POST['name'] . "</b>, for your message!</p>"; 
echo "<p>Your e-mail address is: <b>" . $_POST['email'] . "</b>. </p>"; 
echo "<p>Your message was: <br/>"; 
echo $_POST['message']."</p>"; 
//start building the mail string 
$msg = "Name: " . $_POST['name'] . "\n"; 
$msg .= "E-mail: " . $_POST['email'] . "\n"; 
$msg .= "Message: " . $_POST['message'] . "\n"; 
//set up the mail 
$recipient = "[email protected]"; 
$subject = "Form Submission Results"; 
$mailheaders = "From: me \n"; 
$mailheaders .= "Reply To " . $_POST['email']; 
//send the mail 
mail($recipient, $subject, $msg, $mailheaders); 

這是我改變的php.ini(這部分我不知道)。

[mail function] 
; For Win32 only. 
; http://php.net/smtp 
SMTP = smtp.gmail.com 
; http://php.net/smtp-port 
smtp_port = 465 
; For Win32 only. 
; http://php.net/sendmail-from 
sendmail_from = [email protected] 

我很感激任何幫助,我可以得到。謝謝!

順便提一下我收到以下錯誤: 警告:郵件():SMTP服務器響應:530-5.5.1需要身份驗證。瞭解更多530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 wx2sm302658igb.4 - gsmtp在C:\ WAMP \ WWW \在線SAM \ sendmail.php 24

+0

使用'PHPMailer' – Kermit

+0

是否有任何錯誤或什麼? – MahanGM

+0

是的我收到以下錯誤: –

回答

1

PHP代碼看起來不錯,但可能是你將無法發送E-郵件使用PHP's核心mail功能,通過gmailSMTP服務器。看看this post,因爲它可以幫助你。

+0

謝謝!我會立即看一看 –