Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wysyłanie e-mail za pomoca formularza
suhy
post 17.02.2008, 12:51:10
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 17.02.2008

Ostrzeżenie: (0%)
-----


Napisalem formularz dzięki któremu mozna wyslac e-maila.
oto on:
Kod
<FORM ENCTYPE="text/plain" ACTION="mailto:dsj2i3@wp.pl?SUBJECT=turniejdsj-zapis" METHOD="Post"><BR><FONT SIZE=2 COLOR="BLACK"><BR><BR>Nick: <INPUT NAME="Nick"><BR><BR>E-mail: <INPUT NAME="E-mail"><BR><BR>plik: <input type="file" name="plik" size="20"><BR><BR><INPUT TYPE="reset" VALUE="Wyczysc"><BR><BR><BR><INPUT TYPE="submit" ]VALUE="Wyslij">

Chciałbym aby ten wybrany plik 
Kod
<BR>plik: <input type="file" name="plik" size="20">

został wysłany jako załacznik. Czy da się tak zrobić jak tak to pomózcie

Ten post edytował suhy 17.02.2008, 12:53:23
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Sebastian003
post 17.02.2008, 13:09:50
Post #2





Grupa: Zarejestrowani
Postów: 282
Pomógł: 2
Dołączył: 22.03.2007

Ostrzeżenie: (0%)
-----


Poniżej rozwiązanie jakie ja stosuję do wysłania załącznika.

formularz.php

Kod
<FORM NAME="zalacznik" METHOD="post" ACTION="wyslij.php" ENCTYPE="multipart/form-data">
<input type="hidden" name="wyslij" value="1" />
<input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
<INPUT type="file" name="plik1">
<INPUT TYPE="SUBMIT" VALUE="Wyślij zalacznik">
</FORM>


wyslij.php

Kod
<?php
//sprawdzenie czy załącznik pochodzi z formularza
if ($_POST["wyslij"]==1)
{
srand((double)microtime()*1000000);
$znacznik = md5(uniqid(rand()));

// dane o odbiorcy, nadawcy
$odbiorca="nazwa-twojego-maila@domena.pl";
$tytul="Mail z zalaczniekiem";
$nadawca = "Mail ze strony";
$nadawca_mail="mail-ze-strony@domena.pl";

// treść listu
$tresclistu = "tutaj piszesz całą treść maila";

// definicja nagłówków
  $naglowki  = "From: $nadawca <$nadawca_mail>\n";
  $naglowki .= "MIME-Version: 1.0\n";
  $naglowki .= "Content-Type: multipart/mixed;\n";
  $naglowki .= "\tboundary=\"___$znacznik==\"";

// nagłówki listu
  $tresc="--___$znacznik==\n";
  $tresc .="Content-Type: text/plain; charset=\"iso-8859-2\"\n";
  $tresc .="Content-Transfer-Encoding: 8bit\n";
  $tresc .="\n$tresclistu\n";

// nagłówki i obsługa załącznika
  $plik_nazwa_tmp = $_FILES["plik1"]["tmp_name"];
  $plik_nazwa_oryginalna = $_FILES["plik1"]["name"];
  $plik_wielkosc = $_FILES["plik1"]["size"];

if (is_uploaded_file($plik_nazwa_tmp))
  {
    $tresc .="--___$znacznik==\n";
    $tresc .="Content-Type: image/gif\n";
    $tresc .="Content-Disposition: attachment;\n";
    $tresc .=" filename=\"$plik_nazwa_oryginalna\"\n";
    $tresc .="Content-Transfer-Encoding: base64\n\n";
    $f = fopen($plik_nazwa_tmp,"rb");
    $dane = fread($f,filesize($plik_nazwa_tmp));
    fclose($f);
    $tresc .= chunk_split(base64_encode($dane));
    $tresc .="--___$znacznik==--\n";
  }

// wysłanie listu
     if (mail($odbiorca,$tytul,$tresc,$naglowki))
   {
   print "E-mail z załącznikiem został wysłany poprawnie.";
   }
   else
   {
   print "E-mail NIE został wysłany poprawnie.
   <br>Prosimy o <a href=\"javascript:history.back();\">powrót</a> i wysłanie e-maila ponownie.";
   }
}
?>
Go to the top of the page
+Quote Post
nowotny
post 17.02.2008, 13:17:17
Post #3





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

Ostrzeżenie: (0%)
-----


Cytat(Sebastian003 @ 17.02.2008, 13:09:50 ) *
Poniżej rozwiązanie jakie ja stosuję do wysłania załącznika.

Tylko, jak widać, kolega suhy nie używa php do wysyłania tylko klienta pocztowego usera...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 04:52