我有网站,我不专业,但我已经完成除了发送邮件的问题。
当我单击“立即发送”按钮时,屏幕上会显示消息“感谢您的消息”,但我没有收到任何电子邮件。
我检查了垃圾邮件箱,它不在那里
我检查了phpinfo SMTP端口打开和25
我检查了phpinfo senmail路径/usr/sbin/sendmail-t-I
我打电话给托管公司发邮件,他们说每次都可以服务器端检查你的send mail脚本。
这里是sendmail.php文件;

<?php
$name       = @trim(stripslashes($_POST['name']));
$from       = @trim(stripslashes($_POST['email']));
$subject    = @trim(stripslashes($_POST['subject']));
$message    = @trim(stripslashes($_POST['message']));
$to         = 'tradertarik@gmail.com';

$headers   = array();
$headers[] = "MIME-Version: 1.0";
$headers[] = "Content-type: text/plain; charset=iso-8859-1";
$headers[] = "From: {$name} <{$from}>";
$headers[] = "Reply-To: <{$from}>";
$headers[] = "Subject: {$subject}";
$headers[] = "X-Mailer: PHP/".phpversion();

mail($to, $subject, $message, $headers);
die;

我需要帮助找出问题所在。我检查了其他的问题,不知怎么问,这对我没有帮助。
提前谢谢。
另外,我不确定是否有人需要表单html代码,但我认为添加它也会很好。
    <div class="contact-form wow fadeIn" data-wow-duration="1000ms" data-wow-delay="600ms">
      <div class="row">
        <div class="col-sm-6">
          <form id="main-contact-form" name="contact-form" method="post" action="sendemail.php">
            <div class="row  wow fadeInUp" data-wow-duration="1000ms" data-wow-delay="300ms">
              <div class="col-sm-6">
                <div class="form-group">
                  <input type="text" name="name" class="form-control" placeholder="Name" required>
                </div>
              </div>
              <div class="col-sm-6">
                <div class="form-group">
                  <input type="email" name="email" class="form-control" placeholder="Email Address" required>
                </div>
              </div>
            </div>
            <div class="form-group">
              <input type="text" name="subject" class="form-control" placeholder="Subject" required>
            </div>
            <div class="form-group">
              <textarea name="message" id="message" class="form-control" rows="4" placeholder="Enter your message" required></textarea>
            </div>
            <div class="form-group">
              <button type="submit" class="btn-submit">Send Now</button>
            </div>
          </form>
        </div>

最佳答案

$headers参数不正确;应该是string而不是array。从PHP manual开始:
要插入电子邮件头末尾的字符串。
这通常用于添加额外的标题(From、Cc和Bcc)。应使用CRLF(\r\n)分隔多个额外的头。如果使用外部数据组成此头,则应清除数据,以便不会插入不需要的头。
你应该能够像这样解决问题:

mail($to, $subject, $message, implode("\r\n", $headers));

09-11 19:30
查看更多