我正在为一个学校项目(新生)建立一个网站,并希望向其中添加一个简单的反馈表,该表将电子邮件发送到我的个人 gmail 帐户。我真的没有收到错误,但它没有发送任何内容。该网站使用 Laravel,但我正在构建的反馈表单是简单的 php(我必须使用一些普通的 php)。我在我的谷歌电子邮件中禁用了该安全设置,所以这不是问题。我已经有一个使用 laravel 构建的可以发送邮件的 Forgot Password 函数,但我不知道为什么普通 php 中的这个 mail() 函数不起作用。
操作系统是 Ubuntu
代码:
<?php
if ( isset( $_GET['submit2'] ) ){
$to = "redacted@gmail.com";
$subject = "Feedback for the Website!";
$body = "A user has entered feedback on the site!\n";
$body .= "Their feedback is:\n\n";
$body .= $feedback ?? '';
print "Thanks for your feedback!";
mail($to, $subject, $body);
}
else {
?>
<form action="feedback" method="GET">
<h2>1Please Send us your Feedback</h2>
<textarea cols=35 rows=15 name="feedback">
</textarea>
<br>
<input type="submit" name="submit2" value="Submit">
</form>
<?php
php.ini
[mail function]
; For Win32 only.
; http://php.net/smtp
XAMPP
SMTP=smtp.gmail.com
; http://php.net/smtp-port
smtp_port=587
; For Win32 only.
; http://php.net/sendmail-from
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
http://php.net/sendmail-path
;sendmail_path=/opt/lampp/lib/php/Mail/sendmail.php
sendmail_from=redacted@gmail.com
auth_username=redacted@gmail.com
auth_password=redactedPassword
答案 0 :(得分:1)
好吧,显然这是因为 gmail 是我的收件人,它会过滤掉我的电子邮件。我使用了 10 分钟的临时电子邮件,安全性实际上为 0,并且代码确实有效(但不确定它在现实生活场景中的用处)。