eu recebo este erro: X-Amavis-Alert: BAD HEADER SECTION, erro MIME: erro: não foi possível analisar a cabeça; ao enviar um e-mail com um pdf anexado a um webmail roundcube, se eu enviar o mesmo e-mail para o gmail não tenho nenhum problema, meu código é:
$doc=new SimpleXmlElement($raw_response, LIBXML_NOCDATA);
$pdf=$doc->params->param->value->array->data->value->struct->member[0]->value->base64;
//echo $pdf;
file_put_contents("pacte_actionnaire.pdf", base64_decode($pdf));
$to = '[email protected]';
$subject = 'Test';
$boundary = md5(uniqid(microtime(), TRUE));
$headers = "From: test <[email protected]>\r\nMime-Version: 1.0\r\nContent-Type: multipart/mixed;boundary=".$boundary."\r\n\r\n";
// Message
$msg = 'This is a multipart/mixed message.'."\r\n\r\n";
// Texte
$msg .= '--'.$boundary."\r\n";
$msg .= "Content-type:text/plain;charset=utf-8\r\n Content-transfer-encoding: 7bit\r\n\r\n";
$msg .= 'Un message avec une pièce jointe.'."\r\n";
// Pièce jointe
$file_name = 'pacte_actionnaire.pdf';
$file_type = filetype($file_name);
$file_size = filesize($file_name);
$handle = fopen($file_name, 'r') or die('File '.$file_name.'can t be open');
$content = fread($handle, $file_size);
$content = chunk_split(base64_encode($content));
$f=fclose($handle);
$msg .= '--'.$boundary."\r\n";
$msg .= 'Content-type:'.$file_type.';name='.$file_name."\r\n";
$msg .= 'Content-transfer-encoding:base64'."\r\n";
$msg .= $content."\r\n";
$msg .= '--'.$boundary."\r\n";
mail($to, $subject, $msg, $headers);
Para receber um documento em PDF de uma resposta xmlrpc e enviá-lo por e-mail, a mensagem de erro exata é:
X-Amavis-Alert: BAD HEADER SECTION, MIME error: error: couldn't parse head;
error near:;
JVBERi0xLjQNJeLjz9MNCjcgMCBvYmoNPDwvTGluZWFyaXplZCAxL0wgNjY4MzAvTyA5L0UgNjIx;
NjkvTiAxL1QgNjY1MzkvSCBbIDQ5NSAxNjZdPj4NZW5kb2JqDSAgICAgICAgICAgICAgICAgICAg;
DQoyOCAwIG9iag08PC9EZWNvZGVQYXJtczw8L0NvbHVtbnMgNC9Qc[...]
depois de error near:;
é o pdf codificado em base64 então eu suponho que o erro vem da codificação pdf.