Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP+mail+załącznik
Forum PHP.pl > Forum > Przedszkole
fish
mam skrypt który wysyła maile z załącznikiem do ludzi (mails.txt) problem polega na tym, że plik który dodaję do załącznika (html) pokazuje mi się w np.outlocku jako ciąk znaków w a nie jako strona html, w czym jest błąd?? Jeżeli wiecie stawiam piwo smile.gif

  1. <?
  2. if(isset($submit)) {
  3.  
  4.  function fileopenanddecode($file) {
  5. if (is_readable($file)) {
  6. $fd = fopen($file, &#092;"r\");
  7. $plik = fread($fd, filesize($file));
  8. $encoded = chunk_split(base64_encode($plik));
  9. fclose($fd);
  10. }
  11.  return $encoded;
  12.  }
  13. $myMail = &#092;"mail@wp.pl\"; // Zmien na swój adres E-mail
  14. $myName = &#092;"Ktoś\"; // Zmien na swoje imie i nazwisko
  15. $temat = &#092;"temat\";
  16. $writeFile = &#092;"mails.txt\";
  17.  
  18.  $boundary = &#092;"-->===_54654747_===<---->>4255==_\"; 
  19.  $head = &#092;"From: $myName <$myMail>n\"; 
  20.  $head = $head . &#092;"Reply-To: $myMailn\"; 
  21.  $head = $head . &#092;"X-Mailer: phpn\"; 
  22.  $head = $head . &#092;"X-Sender: <$myMail>n\"; 
  23.  $head = $head . &#092;"Return-Path: <$myMail>n\"; // adres zwrotny dla błędów 
  24.  $head = $head . &#092;"MIME-version: 1.0n\"; 
  25.  $head = $head . &#092;"Content-type: multipart/mixed; \"; 
  26.  $head = $head . &#092;"boundary=\"$boundary\"n\"; 
  27.  $head = $head . &#092;"Content-transfer-encoding: 7BITn\"; 
  28.  $head = $head . &#092;"X-attachments: $filename_name;nn\"; 
  29.  
  30.  $mesg = &#092;"--\" . $boundary . \"n\"; //pamiętamy dwa minusy na początku 
  31.  $mesg = $mesg . &#092;"Content-Type: text/plain; charset=\"us-ascii\"nn\"; 
  32.  $mesg = $mesg . $message . &#092;"n\"; 
  33.  $mesg = $mesg . &#092;"--\" . $boundary . \"n\"; //pamiętamy dwa minusy na początku 
  34.  $mesg = $mesg . &#092;"Content-type: \" . $filename_type . \"; name=\"$filename_name\";n\"; 
  35.  $mesg = $mesg . &#092;"Content-Transfer-Encoding: base64n\"; 
  36.  $mesg = $mesg . &#092;"Content-disposition: attachment; filename= \"$filename_name\"nn\"; 
  37.  $mesg = $mesg . fileopenanddecode($filename) . &#092;"n\"; //czytamy plik i go kodujemy 
  38.  $mesg = $mesg . &#092;"--\" . $boundary . \"-- n\"; //pamiętamy dwa minusy na początku i na końcu 
  39.  
  40.  $mails = file($writeFile);
  41. for ($i=0; $i < count($mails); $i++){
  42. mail(&#092;"$mails[$i]\",$temat,$mesg,$head);
  43. }
  44.  echo &#092;"Wiadomosc zostala wyslana!<br><a href=\"listonosz.php\">Jeszcze raz</a>\";
  45. }
  46. else {
  47. ?>
  48. <html>
  49. <head>
  50. <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-2\"></head>
  51. <center>
  52. <form name=\"wysylanie\" method=\"post\" action=\"listonosz.php\" enctype=\"multipart/form-data\">
  53. <table width=\"300\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
  54. <tr><td>Wiadomosc:</td><td><textarea name=\"message\" cols=\"60\" rows=\"15\" wrap=\"VIRTUAL\"></textarea></td></tr>
  55. <tr><td>Zalacznik:</td><td><input type=\"file\" name=\"filename\"></td></tr>
  56. <tr><td colspan=\"2\"><input type=\"submit\" name=\"submit\" value=\"submit\"></td></tr>
  57. </table>
  58. </form>
  59. </center>
  60. </html>
  61. <?php
  62. }
  63. ?>
hwao
Cytat
mam skrypt który wysyła maile z załącznikiem do ludzi (mails.txt) problem polega na tym, że plik który dodaję do załącznika (html) pokazuje mi się w np.outlocku jako ciąk znaków

Zmien moze rozszerzenie na .html ?
fish
rozszerzenie załącznika?questionmark.gif jest w .html
hwao
Cytat(fish @ 2005-05-03 11:26:25)
rozszerzenie załącznika?questionmark.gif jest w .html

W takim razie nagłowek
  1. <?php
  2. $head = &#092;"MIME-Version: 1.0rn\";
  3. $head .= &#092;"Content-type: text/html; charset=iso-8859-1rn\";
  4. ?>

za
  1. <?php
  2.  $head = $head . &#092;"Content-type: multipart/mixed; \";
  3.  $head = $head . &#092;"boundary=\"$boundary\"n\"; 
  4. ?>
fish
ok, udało się nalerzy zamienieć kodowanie w mesage na:
  1. <?php
  2.  
  3. $mesg = $mesg . &#092;"Content-type: text/html\" . \"; name=\"$filename_name\";n\"; 
  4.  
  5. ?>

wtedy na stełe załącznik jest definiowany jako html
hwao
Cytat(fish @ 2005-05-03 11:07:28)
Jeżeli wiecie stawiam piwo smile.gif

winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.