【问题标题】:Basic Contact Form in PHPPHP中的基本联系表
【发布时间】:2011-02-05 22:28:04
【问题描述】:

我正在为我的教会网站制作联系表。

教会已经注册了一封电子邮件(它是 POP3),托管公司说他们的邮件服务器是 mymail.brinkster.com。

有了所有这些信息,如何使用 mail() 发送表单?服务器不会显示 PHP 错误。当前代码如下所示:

    $headers = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    $headers .= 'From: *ChurchsEmail*' . "\r\n";

if(mail("*MyEmailHere*", "Setting Up PHP Email", "This would be the body of the email.", $headers))
{
        echo "The email was successfully sent.";
} else {
        echo "The email was NOT sent.";
}

我得到的只是“未发送电子邮件。”

那么有没有人有任何设置这样的电子邮件表单的经验?感谢任何可以帮助我的人以及任何有效的方法,请告诉我!

【问题讨论】:

  • 您是否有机会检查您的邮件服务器日志是否有任何错误?也许在 /var/log/mail.(log|warn|error) 的某个地方 - 如果在 linux 服务器上。
  • 我刚刚查看了我的网站所拥有的内容。除了有效的电子邮件地址之外,唯一的区别是您拥有$headers 我只有“来自:me@mysite.com”。
  • 浏览我的网站时没有/var/文件夹,只有一个public_html和一个includes,它是一个linux服务器。我从关于该主题的 about.com 文章中获取的标题。只需设置它们,以防一开始就有问题。一旦我能收到一封电子邮件,我就会在标题中找出我真正需要的内容。

标签: php email sendmail contact-form


【解决方案1】:

您可能需要configure 它。 cli/apache 用户需要有权访问 sendmail。

【讨论】:

  • 我无权访问 PHP.ini 文件。有人可以访问它是否很常见?
  • @NessDan - 是的,应该是。
【解决方案2】:

要直接使用 PHP mail() 函数,您的服务器必须正确设置邮件服务器。

如果您想通过外部帐户/服务器通过 SMTP 发送邮件,我建议您使用此处找到的库:http://phpmailer.worxware.com/
您还可以使用他们的 PHPMailer-FE,它甚至可以将您的联系表格转换为您的电子邮件。

【讨论】:

  • 我看到了,并决定我宁愿坚持使用基本的 mail() 函数。对于我们的网站,我们有一个非常基本的托管计划,您认为他们会限制在服务器上设置邮件的访问权限吗?
  • 实际上,如果它是一家不错的托管公司,他们应该会看到邮件功能可以正常工作。但是,如果您从与邮件服务器无关的邮件地址发送电子邮件,它很容易被标记为垃圾邮件。在共享主机计划中,您将无法设置自己的邮件服务器。您可能应该向您的托管公司寻求支持。
【解决方案3】:

我正在搜索他们的支持数据库并了解如何让电子邮件正常工作。它告诉我包含一个名为“class.phpmailer.php”的服务器文件

Article for Brinkster users.

感谢大家的帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多