Проблема при прикреплении файла с помощью функции PHP mail () и чтения этого файла при загрузке почты - PullRequest
1 голос
/ 07 сентября 2010

Я отправляю письмо через Attachemnet, используя почтовую функцию PHP. Я успешно прикрепил документ к почте и получил его по почте. Моя проблема заключается в том, что при попытке прочитать документ я получил ошибку. Если я скачалдокумент и открыть документ я не могу увидеть текст в прикрепленном документе. Вот кодирование ...

$fileatt = '../'.$_POST['path']; // Path to the file
  $fileatt_type = "application/octet-sdiveam"; // File Type
  $fileatt_name = $_POST['attachfile']; 
  $email_from = 'admin@mydomain.com'; // Who the email is from
  $email_subject = $_POST['Subject']; // The Subject of the email
  $email_txt = $_POST['Subject']; // Message that the email has in it

  $email_to = $_POST['To']; // Who the email is to

   $headers = "From: ".$email_from;

  $file = fopen($fileatt,'rb');
  $data = fread($file,filesize($fileatt));
  fclose($file);

  $semi_rand = md5(time());
  $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

  $headers .= "\nMIME-Version: 1.0\n" .
  "Content-Type: multipart/mixed;\n" .
  " boundary=\"{$mime_boundary}\"";

  $email_message .= "This is a multi-part message in MIME format.\n\n" .
  "--{$mime_boundary}\n" .
  "Content-Type:text/html; charset=\"iso-8859-1\"\n" .
  "Content-divansfer-Encoding: 7bit\n\n" .
  $email_message . "\n\n";

  $data = chunk_split(base64_encode($data));

  $email_message .= "--{$mime_boundary}\n" .
  "Content-Type: {$fileatt_type};\n" .
  " name=\"{$fileatt_name}\"\n" .
  //"Content-Disposition: attachment;\n" .
  //" filename=\"{$fileatt_name}\"\n" .
  "Content-divansfer-Encoding: base64\n\n" .
  $data . "\n\n" .
  "--{$mime_boundary}--\n";


  $ok = @mail($email_to, $email_subject, $email_message, $headers);

Это правильный путь? Почему я не могу прочитать документ? Я не знаю. Пожалуйста, помогите мне в этом. Спасибо заранее.

решено:

Проблема в орфографической ошибке. Content-divansfer-Encoding: Должно быть Content-Transfer-Encoding:

1 Ответ

0 голосов
/ 12 января 2012

Я бы порекомендовал использовать библиотеки pear и mail_mime, чтобы сделать этот процесс значительно проще и чище.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...