【问题标题】:php mail function problemphp邮件功能问题
【发布时间】:2009-09-20 18:08:48
【问题描述】:

我目前有以下内容,但无法正常工作。 (通常我有正文和标题信息,但没有任何作用)

mail("idealvisions@live.com","Nieuw offerte aanvraag","test");

我们会在我的服务器上运行它,因为我运行的是 php 5 或更高版本,那里没有问题。但我相信联系页面来自运行 php 4.4 的客户端。现在客户真的在推动我修复这个问题,但它似乎无法修复。我什么都试过了

这里有什么问题?是php版本吗?

我也检查了 phpinfo 并有这个

sendmail_from 无值 无值 sendmail_path /usr/local/bin/bgc_webhosting_mailer.sh /usr/local/bin/bgc_webhosting_mailer.sh

【问题讨论】:

    标签: php email sendmail


    【解决方案1】:

    这听起来好像客户端的服务器没有正确设置邮件发送处理程序

    【讨论】:

      【解决方案2】:

      一些提供托管的 ISP 和一些免费的托管平台禁用了邮件功能,你可以试试这样:

      error_reporting(E_ALL);
      if (mail ('you@yourdomain.com', 'Test subject', 'Test Body')){
      echo 'Mail sent';
      }else{
      echo 'Mail not sent';
      }
      

      如果他们的服务器上的 mail() 存在问题,您可以考虑在其中一台服务器上发布邮件表单,然后将其退回到客户服务器上的感谢页面。

      【讨论】:

        【解决方案3】:

        从 sendmail 路径,您的主机使用自定义 sendmail 程序/shell 脚本。

        由于 sendmail from 没有设置,你必须在 mail() 函数中设置它,除非它被硬编码到/usr/local/bin/bgc_webhosting_mailer.sh,在这种情况下你应该询问主机。

        设置发送者示例:

        mail('recepient@example.com', 'Test subject', 'Test Body', "from:sender@example.com\n");
        

        如果 mail() 函数确实可用,那么请向您的主机询问替代方案,例如他们的本地 SMTP 服务器。

        然后您可以使用本地 SMTP 服务器发送电子邮件。可能最简单的方法是下载一个支持通过 SMTP 发送的电子邮件库,例如 PEAR Mail 或 SwiftMailer。

        梨:http://pear.php.net/package/Mail 斯威夫特:http://swiftmailer.org/

        如果您的主机不提供 SMTP 服务器,您可能应该寻找其他主机。但是,您始终可以使用免费的电子邮件服务,例如 Gmail 或 Yahoo,并通过他们的 SMTP 发送邮件。

        【讨论】:

          【解决方案4】:

          同样检查SeLinux,它可以防止任何由Apache产生的线程发送邮件。在这种情况下,您不会收到任何错误,也不会收到邮件。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-05-24
            • 1970-01-01
            • 1970-01-01
            • 2018-07-19
            • 2012-02-27
            • 2011-05-11
            • 2015-07-25
            • 1970-01-01
            相关资源
            最近更新 更多