Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] mail() i zalaczniki
Forum PHP.pl > Forum > Przedszkole
hhg
dlaczego taki kod

  1. <?php
  2. mail('email@email.pl','temat','tresc','From: email@email.pl; X-attachments: kopia.sql');
  3. ?>


nie wysyla mi e-maila za zalacznikiem kopia.sql?

opcja bez zalacznika dziala a plik na pewno jest w tym katalogu co skrypt...

prosze o pomoc
phpion
Poczytaj w jaki sposób tworzy się nagłówki wiadomości. Wg mnie muszą być odzielone znakiem nowej linii, natomiast u Ciebie są napisane w jednej linii.
Przykłady znajdziesz tutaj: mail" title="Zobacz w manualu PHP" target="_manual.
Lonas
  1. <?php
  2. function EmailAttachment($from, $to, $subject, $textbody, &$attachmentdata, $attachmentfilename) {
  3. $boundary = '_NextPart_'.time().'_'.md5($attachmentdata).'_';
  4.  
  5. $textheaders = '--'.$boundary."\n";
  6. $textheaders .= 'Content-Type: text/plain; format=flowed; charset="iso-8859-1"'."\n";
  7. $textheaders .= 'Content-Transfer-Encoding: 7bit'."\n\n";
  8.  
  9. $attachmentheaders = '--'.$boundary."\n";
  10. $attachmentheaders .= 'Content-Type: application/octet-stream; name="'.$attachmentfilename.'"'."\n";
  11. $attachmentheaders .= 'Content-Transfer-Encoding: base64'."\n";
  12. $attachmentheaders .= 'Content-Disposition: attachment; filename="'.$attachmentfilename.'"'."\n\n";
  13.  
  14. $headers[] = 'From: '.$from;
  15. $headers[] = 'Content-Type: multipart/mixed; boundary="'.$boundary.'"';
  16.  
  17. return mail($to, $subject, $textheaders.ereg_replace("[x80-xFF]", '?', $textbody)."\n\n".$attachmentheaders.wordwrap(base64_encode($attachmentdata), 76, "\n", true)."\n\n".'--'.$boundary."--\n\n", implode("r\n", $headers));
  18. }
  19.  
  20. $newfullfilename = $backupFile.".gz";
  21. $fp = @fopen($newfullfilename, 'rb');
  22. $emailattachmentfiledata = fread($fp, filesize($newfullfilename));
  23. fclose($fp);
  24. EmailAttachment("leonard@lonas.us.to", "webmaster@jakar.pl", 'backupDB: '.basename($newfullfilename), 'backupDB: '.basename($newfullfilename), $emailattachmentfiledata, basename($newfullfilename)) ;
  25. ?>
nitro18
Albo użyj klasy PHPMailer, mail() zaczyna być przeżytkiem
hhg
tak jak jest dalej nie wysyła:
  1. <?php
  2. mail('adres@gmail.com','temat','tresc maila','From: adres@gmail.com \n ' .
  3. 'Content-Type: application/octet-stream; name="kopia.sql"; \n' .
  4. 'Content-Disposition: attachment; filename="kopia.sql"; \n');
  5. ?>
nitro18
gmail wymaga autoryzacji... patrz moj post powyzej
hhg
  1. <?php
  2. mail('adres@gmail.com','temat','tresc maila','From: adres@gmail.com \n ' .
  3. 'Content-Type: application/octet-stream; name="kopia.sql"; \n' .
  4. 'Content-Disposition: attachment; filename="kopia.sql"; \n');
  5. ?>


to mialo wysylac plik kopia.sql na e-mail, niestety e-mail sie wogole nie wysyla ale juz kod:

  1. <?php
  2. mail('adres@gmail.com','temat','tresc maila','From: adres@gmail.com \n ');
  3. ?>


juz wysyla maila

czyli tak jakby cos szwankowalo z zalacznikiem albo zle to powpisywalem..
phpion
Problem może leżeć w użyciu ' zamiast " (przy użyciu ' \n nie jest "interpretowane" tylko wyświetlane). Zmień ' na " przy tworzeniu nagłówków.
hhg
wywala cos takiego
Cytat
Malformed header from CGI script: Content-Type: application/octet-stream; name="kopia.sql"; X-Powered-By: PHP/5.2.1 Content-type: text/html


wydaje mi sie ze dobrze kombinujesz smile.gif tylko ze cos jeszcze nie tak jest, prosze o dalsza pomoc, za dotychczasowa rowniez dzieki
phpion
Cytat(hhg @ 4.12.2007, 00:05:02 ) *
wydaje mi sie ze dobrze kombinujesz

Raczej to ty powinienieś kombinować i starać się poradzić sobie samemu. Mnie szczerze mówiąc średnio obchodzi czy ten kod zadziała czy nie.
Napisz kiedy pojawiają ci się te nagłówki.
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.