【问题标题】:PHP Mail not sending on website using Ras Pi LAMP serverPHP Mail 未使用 Ras Pi LAMP 服务器在网站上发送
【发布时间】:2015-04-30 00:45:13
【问题描述】:

我在 Raspberry Pi LAMP 服务器上运行我的引导网站,但我收到“错误!”使用联系表单发送消息时,表单使用 PHP Mail 使用两个文件,联系表单位于主页上,代码如下:

index.html 上的联系表格:

<div class="col-sm-12">
<form class="form-horizontal" action="assets/php/contactForm.php" method="post" role="form" id="contactForm">
                        <div class="form-group">
                            <div class="col-sm-6">
                                <input type="text" name="name" class="form-control" placeholder="Name"> 
                            </div>
                            <div class="col-sm-6">
                                <input type="text" name="contactEmail" class="form-control" placeholder="Email">
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="col-sm-12">
                                <textarea name="message" class="form-control" rows="8" placeholder="Message"></textarea>
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="col-sm-12">
                                <button type="submit" class="btn btn-theme ladda-button" data-style="expand-left">
                                <span class="ladda-label">Submit</span>
                                </button>
                            </div>
                        </div>
                    </form>

contactForm.php

<?php
include("include/settings.php");

if(isset($_POST['name']) && isset($_POST['contactEmail']) && isset($_POST['message'])){
$name = $_POST['name'];
$from = $_POST['contactEmail'];
$message = $_POST['message'];

$subject = "Message from " . $name;

if (mail ($to, $subject, $message, $from)) { 
    $response = array('sent' => 1);
    echo json_encode($response);
} else { 
    $response = array('sent' => 0);
    echo json_encode($response);
} 
}
?>

settings.php

<?php

// Contact
$to = 'xxxxxxx@hotmail.co.uk';
$subject = 'Contact Form from website';

?>

(出于隐私原因,电子邮件地址已删除并由 xxxxxxx 替换)

知道为什么我会收到“错误!”什么时候使用表格?

【问题讨论】:

    标签: php email raspberry-pi lamp


    【解决方案1】:

    从你的 Pi 上的命令行,你能测试以下内容吗

    mail -s "Test Email" xxxxxxx@hotmail.co.uk < /dev/null
    

    检查 Pi 是否准备好发送邮件。如果没有,您可能需要安装某种邮件服务器(大多数指南都指向 postfix,但也有其他的)。如果您确实想安装 postfix,请使用以下

    sudo apt-get install postfix
    

    另外,在您的 /etc/php5/apache2/php.ini 文件中,检查 sendmail_path 选项的设置。

    【讨论】:

      【解决方案2】:

      您还没有分享任何具体的配置细节,尽管上面的代码应该可以发送电子邮件。

      您必须确保电子邮件地址@hotmail.co.uk 存在,因此请尝试使用任何其他提供商的电子邮件地址并检查。代码看起来不错。

      【讨论】:

        猜你喜欢
        • 2022-08-18
        • 1970-01-01
        • 2020-05-15
        • 2018-06-07
        • 2014-05-28
        • 1970-01-01
        • 2013-04-28
        • 1970-01-01
        • 2013-09-01
        相关资源
        最近更新 更多