PHP - 发送邮件不起作用

时间:2013-03-28 20:48:19

标签: php email

我已经看过其他一些帖子了,我现在正在读一本书。我按照这本书所说的而且我不理解我所缺少的东西。

我尽量不把它作为双重帖子,但代码与我在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 = "myemail@gmail.com";
$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 = myemail@gmail.com

我很感激我能得到任何帮助。谢谢!

BTW我收到以下错误:  警告:mail():SMTP服务器响应:530-5.5.1需要身份验证。了解更多信息,请访问530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 wx2sm302658igb.4 - 第24行C:\ wamp \ www \ sam \ sendmail.php中的gsmtp

1 个答案:

答案 0 :(得分:1)

您的PHP代码看起来不错,但可能您无法使用PHP's核心mail函数通过gmail的{​​{1}发送电子邮件服务器。请查看this post,因为它可以帮助您。