我有一个脚本,每当收到邮件时,都会使用cpanel管道来执行php文件。我的问题是每当我发送带附件的电子邮件时; mime_parser.php库也没有解码该信息。这是我的代码:
#!/usr/bin/php -q
<?php
require_once('inc/engage.php');
// Create socket
$sock = fopen("php://stdin", 'r');
$email = '';
while(!feof($sock)){
$email .= fread($sock, 1024);
}
fclose($sock);
require_once('libraries/rfc822_addresses.php');
require_once('libraries/mime_parser.php');
$mime = new mime_parser_class;
$mime->ignore_syntax_errors = 1;
$parameters = array('Data' => $email);
$mime->Decode($parameters, $decoded);
$DB->query("INSERT INTO email_accounts_mail (`message`) VALUES('".serialize($decoded)."')");
?>
rfc822_addresses.php:https://raw.githubusercontent.com/suhastech/pushmail/master/class/rfc822_addresses.php
mime_parser.php:https://raw.githubusercontent.com/ryancramerdesign/EmailImage/master/pop3_classes/mime_parser.php
我希望电子邮件解码包含和不包含附件的邮件。现在它解码它没有附件;但不是......我错过了什么?
答案 0 :(得分:0)
我自己想通了。通过将数据保存在tmp文件夹中并在使用后删除它,我可以检索附件存储的所有数据。这是通过在parameters数组中添加带有指定文件夹(我的是tmp)的SaveBody属性,然后创建文件夹来完成的。在我完成文件夹中的内容后,我删除了所有文件以节省空间。 : - )