отправить письмо с приложением php - PullRequest
0 голосов
/ 02 мая 2018

мой код не работает

при получении письма содержимое файла находится в base64, а не в правильном формате.

Как это исправить?

мой код

$headers = 'From: ' .     "$from\r\n" . 'Reply-To: ' . "$from\r\n";


$file = $arquivo['tmp_name'];
$originalFile = $arquivo['name'];
$file_size = filesize($file);
$handle = fopen($file, "rb");
$anexo = fread($handle, $file_size);
fclose($handle);
$anexo = chunk_split(base64_encode($anexo));

// a random hash será necessário para separar conteúdos diversos a serem enviados
$separator = md5(time());

// Define o retorno de carro a ser utilizado
$eol = PHP_EOL;

// main header (multipart mandatory)
$headers = "From: $from" . $eol;
$headers .= "MIME-Version: 1.0" . $eol;
$headers .= "Content-Type: multipart/mixed; boundary=\"" . $separator . "\"" . $eol . $eol;


// message
$msg .= "--" . $separator . $eol;
$msg .= "Content-Type: text/html; charset=\"utf-8\"" . $eol;
$msg .= "Content-Transfer-Encoding: 8bit" . $eol . $eol;
$msg .= $mensagemHTML . $eol . $eol;

// attachment
$msg .= "--" . $separator . $eol;
$msg .= "Content-Type: ".$arquivo["type"]."; name=".$arquivo['name']." \n" . $eol;
$msg .= "Content-Transfer-Encoding: base64" . $eol;
$msg .= "Content-Disposition: attachment; filename=".$arquivo['name']." " . $eol . $eol;
$msg .= $anexo . $eol . $eol;
$msg .= "--" . $separator . "--";


$envio = mail($emaildestinatario, $assunto, $msg, $headers); 

этот атрибут

enter image description here

enter image description here

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

...