Mam problem z kodowaniem nagłówków w skrypcie do wysyłania e-maili z załącznikiem . Skrypt Poprawnie wysyła załączniki ale nie przysyła znaków specjalnych :
<?php
$email = $_POST['email'];
$id = $_POST['id'];
$txt = $_POST['message'];
////////// USTAWIENIA //////////
$odbiorca = 'adres@email.pl'; // Adres e-mail adresata
$tytul = 'temat'; // Temat listu
$message = 'Informacja.'; // Komunikat
$error = 'Wystąpił błąd podczas wysyłania formularza'; // Komunikat błędu
$zformularza = " Przykładowy txt <br /> <a href=http://www.wp.pl>wp.pl</a> $txt ";
// Nagłówki
$naglowki = "From: \n";
$naglowki .= "MIME-Version: 1.0\n";
$naglowki .= "Content-Type: multipart/mixed;\n";
$naglowki .= "\tboundary=\"___$znacznik==\"";
// Treść listu
$tresclistu="--___$znacznik==\n";
$tresclistu .="Content-Type: text/plain; charset=\"iso-8859-2\"\n";
$tresclistu .="Content-Transfer-Encoding: 8bit\n";
$tresclistu .="\n$zformularza\n";
// Załącznik
$nazwa_tymczasowa = $_FILES["plik1"]["tmp_name"];
$nazwa_pliku = $_FILES["plik1"]["name"];
{
$tresclistu .="--___$znacznik==\n";
$tresclistu .="Content-Type: image/jpg\n";
$tresclistu .="Content-Disposition: attachment;\n";
$tresclistu .=" filename=\"$nazwa_pliku\"\n";
$tresclistu .="Content-Transfer-Encoding: base64\n\n";
$f = fopen($nazwa_tymczasowa, "rb"); $tresclistu .="--___$znacznik==--\n";
}
// wysłanie listu
if (mail($odbiorca,$tytul,$tresclistu,$naglowki)) {
}
else
{
}
?>
W moim starym skrypcie poniżej mam poprawnie zakodowane znaki ale nie wiem jak to połączyć w całość - czyli by wysyłało załącznik i były znaki specjalne HTML w liście
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-2\r\n";
$headers .= "Content-Transfer-Encoding: 8bit\r\n";
$headers .= "From: " . $from . "\r\n";