小编DaG*_*rov的帖子

PHP mail()函数中是否有错误?

我希望有人能够帮助我,因为我对导致问题的原因感到茫然.我们的网站有一个联系我们表格,其中包含姓名,电子邮件,孩子姓名,孩子ID和消息的字段.

当表单提交时,服务器端php代码验证表单字段,如果一切正常,则使用内置的php mail()函数发送2封电子邮件.

电子邮件1将转到托管Exchange服务器上的收件箱,其中包含表单字段中的值.

电子邮件2发送给提交表单的人说谢谢 - 我们会尽快给您回复.

对于电子邮件1,From,Reply-To和Return-Path标头设置为在表单中输入的电子邮件,而mail()函数中的To param是托管Exchange服务器的收件箱的电子邮件地址.

对于电子邮件2,From,Reply-To和Return-Path标题设置为托管Exchange服务器上收件箱的电子邮件地址,mail()函数中的To param是在表单中输入的电子邮件地址.

该网站的主机具有正确设置的MX,PTR,SPF和TXT记录,以允许电子邮件发送到托管Exchange服务器的收件箱的电子邮件地址.该网站的主机使用QMail作为实际发送电子邮件的SMTP服务,在所有测试中,QMail在发送电子邮件1和2时都收到成功.mail()函数没有发出错误.

使用IE8,Chrome和FF3.6.17进行本地测试.显示此问题的测试之间的代码没有更改.

在所有测试案例中,电子邮件2(返回提交表单的人)发送得很好.另一方面,电子邮件1只是间歇性地工作.一般模式是第一次联系表单与表单中的每个不同的电子邮件地址一起使用,电子邮件被正常发送,标题和正确.

第二次联系表单与表单中以前使用过的电子邮件地址一起使用时,To param设置为表单中的电子邮件地址,标题都是空白的,尽管To电子邮件地址不正确,但是电子邮件

没收到.该网站的主持人的支持人员可能已经发现了另一个潜在的症状,即在清除cookie之后,所有的电子邮件2都通过了确定.但是,该页面不使用与表单相关的任何cookie.最后,我再次尝试了一段时间(30分钟?),因为电子邮件2没有通过,然后另一次尝试工作,之后电子邮件2再次如上所述搞砸了.

php的mail()函数是否存在已知错误?是否可以使用mail()的最大频率?我不知道为什么代码有时会起作用,有时却不行.该网站的主持人员也处于亏损状态.试图谷歌这个问题似乎出现了人们说使用不同的模块(Swift梅勒,PHPMailer,梨邮件等)的论坛,但由于网站是实时的,我担心重建自动电子邮件代码将

引入超出上述错误的错误.

...编辑6jun11 ...

对不起,不知道我可以编辑我的帖子......

这是最相关的代码:

function UserToSiteEmail( $name, $fromEmail, $message, $kidID, $kidName )
{
    $subject = "Face of Kinder - contact us";
    $headers = GetEmailHeaders($fromEmail);
    $imageFilename = constant("URL_ROOT")."/kidimages/".$kid->ImageFilename;
    $profileUrl = constant("URL_ROOT")."/profile.php?k=".$kid->KidID;
    $body = file_get_contents("EmailTemplates/ContactUs.html");
    $body = str_replace("#FromName#",$name,$body);
    $body = str_replace("#FromEmail#",$fromEmail,$body);
    $body = str_replace("#KidName#",$kidName,$body);
    $body = str_replace("#KidID#",$kidID,$body);
    $body = str_replace("#Message#",$message,$body);
    $body = str_replace("#SiteRoot#",constant("URL_ROOT"),$body);
    return mail(constant("FROM_EMAIL"),$subject,$body,$headers);
}

function GetEmailHeaders( $fromEmail )
{
    $headers = …
Run Code Online (Sandbox Code Playgroud)

php email

9
推荐指数
1
解决办法
1693
查看次数

PDO :: getAttribute(PDO :: ATTR_CONNECTION_STATUS)的可能结果是什么

我几乎整天都在寻找这个......而且似乎无法找到任何地方返回的值.有人能告诉我:

  1. 什么值会PDO::getAttribute(PDO::ATTR_CONNECTION_STATUS);回归?
  2. 是否有可能依靠其结果来确定连接是否仍然存在?(最终,我可以用什么来检查连接是否仍然存在?)

php connection pdo

7
推荐指数
1
解决办法
2505
查看次数

在php中,不通过命令行获取composer软件包的版本

标题说了。有没有一种方法可以在不调用composer show -i或类似的情况下从composer获取应用程序当前使用的版本?

我想要这样做,以便可以确定应用程序当前正在使用的版本,以及是否需要更新以显示警报并最终自动更新。

php composer-php

6
推荐指数
1
解决办法
1477
查看次数

SQLite作为会话存储

我想知道将SQLite用作主会话存储或至少作为主要memcached的备份会话存储是一种好习惯吗?

你能给我一些优点和缺点吗?

(我正在为教育目的构建MVC框架,并考虑了不同的可能性和实现)

php sqlite model-view-controller memcached session-cookies

5
推荐指数
1
解决办法
4456
查看次数

PHP与Spl DataStructures一起替代多维数组

我在这个主题上看到了很多问题,但没有一个问题涉及我的案例.

我正在构建一个基于5个类的ACL模块:

  1. 角色
  2. 特权
  3. 包装器(猜测它的作用..)特权,角色和组类的工厂
  4. 组/角色的AccessList存储(基于用法和案例)

我正在考虑使用SplQueue来存储权限级别(主要用于继承的权限)所以我想使用单个对象来存储所有内容,并且不认为普通的多维数组将是最佳选择.流程就像这个粘贴,它是TL; DR ..对不起.

所以我的问题是SplQueue在我的情况下是否有点过分?

我应该使用和替代Spl数据结构,如果是这样的话?

编辑 好吧我想不出一个很好的用法示例,所以让我们继续使用基于UNIX的GBAC.

php spl acl

5
推荐指数
1
解决办法
861
查看次数

如何在PHP框架中实现bootstraping类?

嘿伙计们我正在制作我自己的MVC框架(请不要因为每个人都想制作一个框架而投票给我.)等等.我想创建一个类似于我在许多框架中看到的引导类.我这样做是因为我已经决定从内部开始学习一个框架,从而进入下一个阶段.但我遇到的问题很少.但我会在不同的问题上将它们分开.现在澄清我的问题: What features should a Bootstrapping class have?并且Can you give me articles that could help me?

php bootstrapping frameworks

4
推荐指数
1
解决办法
741
查看次数

如何在单个查询中搜索多个子字符串

我遇到了一个我无法进一步思考的问题.简而言之,我有ul一百个li,每个li都有几十个单词作为文字; 在列表的最顶部,我为用户输入了一个输入框,用于输入一些关键字; 比如说,我想要从那个巨大的列表中过滤掉同一行中存在以下三个词的行:" 红色甜草莓 ".点击搜索按钮,线条被过滤掉,我只有两行包含我感兴趣的单词.

li1:"我等不及吃一些红甜草莓了 "

li2:"现在是夏天,红色的甜草莓现在很新鲜"

在此之前一切都很好.

当三个查找的单词被字符串中的其他单词或字符分隔时,会出现问题.因此,以上面的示例为例,过滤器永远不会显示以下行:

li3:" 红色甜草莓现在上市了"

所以,在这里我放下整个函数来过滤和整理上面例子的结果:

$(document).ready(function() {
      var links = new Array();
      $("h4").each(function(index, element) {
      links.push({
            text: $(this).text(),
            element: element
        });
    });

    $("#searchbutton").click(function() {
        var query = $("#inputtext").val();
        var querywords = query.split(',');

        var results = new Array();
        for(var i = 0; i < querywords.length; i++) {
            for(var j = 0; j < links.length; j++) {
                if (links[j].text.toLowerCase().indexOf(querywords[i].toLowerCase()) > -1) { …
Run Code Online (Sandbox Code Playgroud)

javascript regex indexof

2
推荐指数
1
解决办法
2924
查看次数

PHP Closure类给出致命错误?

我得到这个:

PHP致命错误:调用未定义的方法Closure :: bind()

我收到错误的行是:

public function bind($signal, $callback)
{

    if (!array_key_exists($signal, $this->_registry))
        $this->_registry[$signal] = array();
    $this->_registry[$signal][] = \Closure::bind($callback, null, 'static'); // here

    return $this;
}
Run Code Online (Sandbox Code Playgroud)

如您所见,我使用手册中Closure::bind()显示的内容.请注意我正在使用(注意斜杠),因为我使用命名空间自动加载,需要通知自动加载器它应该查看系统命名空间.\Closure::bind()

注意

仔细查看文档中的每个类,并注意每个细节:)

php closures

0
推荐指数
1
解决办法
751
查看次数