在 PHP 中使用 mail() 时遇到问题

时间:2021-06-28 17:56:29

标签: php email smtp

我正在为一个学校项目(新生)建立一个网站,并希望向其中添加一个简单的反馈表,该表将电子邮件发送到我的个人 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

1 个答案:

答案 0 :(得分:1)

好吧,显然这是因为 gmail 是我的收件人,它会过滤掉我的电子邮件。我使用了 10 分钟的临时电子邮件,安全性实际上为 0,并且代码确实有效(但不确定它在现实生活场景中的用处)。