使用PHP解析管道电子邮件

时间:2017-11-20 19:20:16

标签: php twilio cpanel

我一直在尝试使用此功能设置系统:

  1. 发送电子邮件至我的服务器
  2. 服务器将电子邮件发送到php脚本
  3. Php脚本分析电子邮件获取主题和正文
  4. 从电子邮件主题获取电话号码并使用电子邮件正文发送文本
  5. 我在这里找到了一个电子邮件解析器:https://github.com/daniele-occhipinti/php-email-parser

    我想我已经正确设置了它,但除了发送电子邮件之外我不知道如何测试它。但我无法看到我的剧本在那一点上的回声。此外,当我发送电子邮件时,我知道有些东西不起作用,因为文本不通过twilio发送。我做错了什么?

    以下是代码:

    #!/usr/bin/php -q
    <?php
    require_once '../resources/Twilio/autoload.php';
    use Twilio\Rest\Client;
    require('config.php');
    
    // Retrieve Email
    require_once("../resources/PlancakeEmailParser.php");
    
    $email = "php://stdin";
    
    $emailParser = new PlancakeEmailParser(file_get_contents($email));
    
    $subject = $emailParser->getSubject();
    $text = $emailParser->getPlainBody();
    
    
    
    $number = preg_replace('/[^0-9]/', '', $subject);
    $phone = "+".$number;
    // After this I send the message via Twilio
    

1 个答案:

答案 0 :(得分:0)

您正在输入输入,因此您可能需要缓冲流以确保在尝试处理之前已收到所有数据。

这样的事情:

$dataIn = fopen('php://stdin', 'r');
if ($dataIn) {
    $email = '';
    while($line = fgets($dataIn)) { 
        $email .= $line;
    }
    fclose($dataIn);
}