PHP 邮戳 生成的文件中为 foreach() 提供的参数无效


PHP Postmark Invalid argument supplied for foreach() in generated file

第一次提问,所以对我放轻松,如果你还需要其他任何东西,就问

对于求职面试,我需要创建一个使用PHP和邮戳的小型邮件应用程序。用户界面很丑,但它不应该很漂亮,我的HTML布局技能已经得到了证明。所以这只是我需要的PHP功能。

所以,对于我的实际问题:我使用以下代码填充数组

$message = array(
    //'To' => filter_input(INPUT_POST, 'To'),
    //'From' => filter_input(INPUT_POST, 'From'),
    //'Cc' => filter_input(INPUT_POST, 'Cc'),
    //'Bcc' => filter_input(INPUT_POST, 'Bcc'),
    //'Subject' => filter_input(INPUT_POST, 'Subject'),
    //'TextBody' => filter_input(INPUT_POST, 'TextBody')
    'To' => "roderikmasure@gmail.com",
    'From' => "roderik@masure.org",
    'Cc' => "mistermorgoth666@gmail.com",
    'Subject' => "Test",
    'TextBody' => "Dit is een testmail, ik hoop dat het nu eindelijk werkt."
);
$client = new PostmarkClient("<API TOKEN>");
$sendResult = $client->sendEmailBatch($message);

很简单,应该没问题,我想。尽管如此,我还是不断收到相同的错误:

Warning: Invalid argument supplied for foreach() in /srv/www/sites/roderik/vendor/wildbit/postmark-php/src/Postmark/PostmarkClient.php on line 136 Warning: Invalid argument supplied for foreach() in /srv/www/sites/roderik/vendor/wildbit/postmark-php/src/Postmark/PostmarkClient.php on line 136 Warning: Invalid argument supplied for foreach() in /srv/www/sites/roderik/vendor/wildbit/postmark-php/src/Postmark/PostmarkClient.php on line 136 Warning: Invalid argument supplied for foreach() in /srv/www/sites/roderik/vendor/wildbit/postmark-php/src/Postmark/PostmarkClient.php on line 136 Warning: Invalid argument supplied for foreach() in /srv/www/sites/roderik/vendor/wildbit/postmark-php/src/Postmark/PostmarkClient.php on line 136 Parse error: syntax error, unexpected T_USE, expecting T_FUNCTION in /srv/www/sites/roderik/vendor/guzzlehttp/guzzle/src/Client.php on line 20

我已经多次检查了第 136 行的代码,但我不知道是什么导致了错误。

这是第 136 行

的代码(第二行是 136(:

foreach ($emailBatch as $key => $email) {
        foreach ($email as $emailIdx => $emailValue) {
            if (strtolower($emailIdx) == 'headers') {
                $email[$emailIdx] = $this->fixHeaders($emailValue);
            }
        }
        array_push($final, $email);
    }

因此,错误似乎出在邮戳自动生成的文件中但我不知道如何解决它。

你们中是否有人遇到过这个问题并找到了解决方案?如果你这样做,如果你能帮助我,那就太好了

Git 存储库

实际应用(FTP 服务器(

谢谢

编辑 - 刚刚注意到 ftp 服务器运行 PHP 5.3.3,我将尝试将其更新到 5.4。似乎大多数问题都与此有关。

$message = array(
    array(
        //'To' => filter_input(INPUT_POST, 'To'),
        //'From' => filter_input(INPUT_POST, 'From'),
        //'Cc' => filter_input(INPUT_POST, 'Cc'),
        //'Bcc' => filter_input(INPUT_POST, 'Bcc'),
        //'Subject' => filter_input(INPUT_POST, 'Subject'),
        //'TextBody' => filter_input(INPUT_POST, 'TextBody')
        'To' => "roderikmasure@gmail.com",
        'From' => "roderik@masure.org",
        'Cc' => "mistermorgoth666@gmail.com",
        'Subject' => "Test",
        'TextBody' => "Dit is een testmail, ik hoop dat het nu eindelijk werkt."
    )
);
$client = new PostmarkClient("f92ee11a-3de9-48ff-801e-1b6efc9afcdf");
$sendResult = $client->sendEmailBatch($message);

它期望它是多维的。 毕竟是一批。