2015-10-20 108 views
1

第一次质疑这样下去容易对我,如果你需要什么,就问PHP邮戳无效参数

面试的,我需要使用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' => "[email protected]", 
    'From' => "[email protected]", 
    'Cc' => "[email protected]", 
    '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 Repository

Actual app (ftp server)

非常感谢您

编辑 - 只注意到FTP服务器上运行PHP 5.3.3,我我会尝试将它更新到5.4。看来大多数问题都与此有关。

回答

2
$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' => "[email protected]", 
     'From' => "[email protected]", 
     'Cc' => "[email protected]", 
     '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); 

它希望它是多维度的。毕竟它是一批。

+0

另外考虑使用'$ client-> sendEmail($ message)'发送一条消息。 –