【问题标题】:PHP mail Function Not Working Properly With Form [duplicate]PHP邮件功能无法正常使用表单[重复]
【发布时间】:2012-01-07 19:22:43
【问题描述】:

我在 PHP 中创建联系表单时遇到了无穷无尽的麻烦。

我首先尝试了写入数据的方法(如这里的问题中所述:HTML Form Not Outputting To CSV File (Or Displaying Correct Error Messages)),现在我只是尝试将信息通过电子邮件发送给自己的方法。

这是我的 jsfiddle:

http://jsfiddle.net/tqs6g/1/

这是我编写的用于将信息发送给自己的 PHP(我知道这不是很优雅的编码,但我只想先让一些东西工作,然后我打算使用数组等):

<?php

if (isset($_POST['brandname']) && isset($_POST['firstname']) && isset($_POST['lastname']) && isset($_POST['email']) && isset($_POST['website'])){
    $brandname = $_POST['brandname'];
    $firstname = $_POST['firstname'];
    $lastname = $_POST['lastname'];
    $email = $_POST['email'];
    $website = $_POST['website'];

    if(!empty($brandname) && !empty($firstname) && !empty($lastname) && !empty($email)){
        $to = 'myemail@example.com';
        $subject = 'Submission Form';
        $body = $firstname;
        $headers = 'From: '.$email;

        if (@mail($to, $subject, $body, $headers)){
            echo 'Yeah yeah';
            }else{
                echo 'yeah no.';
                }

        }else{
        echo 'Please fill out all required fields.';
        }

    }
?>

我在这个例子中使用的电子邮件显然不是我的电子邮件(我在我的代码中使用了我的真实电子邮件)。基本上发生的事情是我填写表格并点击提交,它会重新加载 form.php 页面。我检查了我的电子邮件,但没有收到任何邮件。如果我检查该网站的源代码,“是啊是啊”。显示在代码中(当它成功发送电子邮件时,它会从那里回显)。所以代码似乎运行正常,但没有输出任何东西。

我是否必须通过本地主机设置一些邮件服务器/功能?

我错过了什么?

【问题讨论】:

  • 如果您在本地工作(例如使用 XAMPP),您需要在 php.ini 中设置 sendmail 的路径才能发送电子邮件。这可能会有所帮助:codingforums.com/archive/index.php/t-77553.html
  • 你能把错误和警告打开,或者检查你的日志吗?
  • 我的php.ini已经有:[邮件功能];仅适用于 Win32。 SMTP = 本地主机 smtp_port = 25 。这是我应该看的那条线吗?
  • 我需要查看哪些警告?就看起来而言,代码运行正常,因为所有内容都重新加载并发送了成功的回显。我应该从哪里开始调试?
  • @MxmastaMills 好吧,我明白了...我可以解决您的问题,因为 Linux 和 Mac OS 是基于 UNIX 的。我找到的最佳解决方案:安装 PostFix。这似乎很有希望,并且与我所做的非常相似:hints.macworld.com/article.php?story=20081217161612647 - 也许我的问题也会对您有所帮助:askubuntu.com/questions/88117/… - 祝你好运!

标签: php html forms email


【解决方案1】:

你不需要在你的服务器上设置任何东西,它对我来说很好。

尝试用mail 替换@mailmail(...) 总是为我工作。

【讨论】:

  • @ 'operator' 禁止显示错误消息。 @mailmail 调用同一个函数。
  • @H Bellamy 我试过了,但没有任何改变。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-29
  • 1970-01-01
  • 1970-01-01
  • 2015-09-27
  • 2017-10-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多