mail med fil att
Hey er der en der kan fortælle mig hvordan man får en fil felt mere på denne kode:// Hvis din mail er sendt.
if(isset($_POST[afsend])) {
$fil = $_FILES['fileatt']['name'];
$fra = $_POST[email];
$til = $_POST[modtager];
$emne = $_POST[emne];
$besked = $_POST[indhold];
// Definér $boundary
// boundary er en unik streng der identifiserer vores email
$boundary = uniqid("");
// Siden det er en tekstfil, kender vi allerede MIME typen
$mimeType = "application/unknown";
// Læs filen ind i en variable
$fil_var = fread(fopen($_FILES['fileatt']['tmp_name'], "r"), filesize($_FILES['fileatt']['tmp_name']));
// Gør filen læsevenlig for email-klienten
$fil_var = base64_encode($fil_var);
// Split filkoden op i linier med 76 tegn i hver
$fil_var = chunk_split($fil_var);
// Følgende lille stykke klarer det meste mht. headers, der fortæller email-klienten hvad der er på vej
// Vi sætter vores unikke streng ind her
$body = "\n--$boundary\n";
// Vi fortæller at følgende stump er af typen text/plain samt
// hvilket tegnsæt vi bruger
$body .= "Content-type: text/plain; charset=iso-8859-1\n";
$body .= "Content-transfer-encoding: 8bit\n\n";
// Vi sætter body-texten ind her
$body .= $besked."\n\n";
// Slut på brødteksten
$body .= "--$boundary\n";
// Så er det filens tur
// Vi fortæller lige mime-typen og filnavnet
$body .= "Content-type: $mimeType; name=".$fil."\n $mimeType; name=".$fil2."\n";
// Fortæller at vi vil have filen hæftet ved - ikke direkte i mailen.
// Vil du gerne have den direkte i mailen, ændres 'attachment' til 'inline'
// Bemærk: Bl.a. OE viser _også_ filen i selve mailen selvom du angiver 'attachment'
$body .= "Content-disposition: attachment; filename=".$fil."\n attachment; filename=".$fil2."\n";
// Klienten skal have at vide at meddelelsen er encoded med base64
$body .= "Content-transfer-encoding: base64\n\n";
// Vi sætter filkoden ind
$body .= $fil_var."\n\n";
$body .= $fil_var2."\n\n";
// Vi slutter af med den samme unikke streng som vi startede med
$body .= "--$boundary--";
// Vi definerer from-headeren
$headers = "From: ".$fra."<".$fra.">\n";
// Vi fortæller hvilken type indhold mailen indeholder
// samt emailens unikke id-streng
$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"";
// Hvis mailen bliver sendt afsted problemfrit
if (mail($til, $emne, $body, $headers)) {
echo "Mailen er sendt!";
// Hvis ikke skriver vi lige en fejlmeddelelse
} else {
echo "Der opstod en fejl, og mailen blev ikke sendt!";
}
}
Mvh
