Strona 1 z 1

Skrypt mail() php nie czyta znaków HTML

: 30 grudnia 2015, 16:28
autor: mielekwalinko
Witam. Sklepałem formularz kontaktowyvlecz mam problem z wysyłaniem znaków html, niby tekst wysyła się jako html np po wpisaniu w formularzu <h1> aaaa teks </h1> treśc maila dochodzi tak jak powinna czyli duży napis "aaaa teks", problem jest gdy próbuję dodać kod html zdjęcia, wydaje mi się że mam złe kodowanie bo podczas wysyłki kod html zdjęcia coś się zmienia i dlatego już w otrzymanej wiadomości email nie wyświetla się fotka.

Oto mój formularz

Kod: Zaznacz cały

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>       
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="Keywords" content="wyraz1, wyraz2, wyraz3..." />
    <meta name="description" content="Opis strony" />
     
</head>
<body>
<form action="mail.php" method="post">
    <fieldset>
    <legend></b>FORMULARZ</b></legend>
                

        <label for="temat">Temat: </label><br>
        <input type="text" id="temat" name="temat"/>
                    <br>
        <label for="wiadomosc">Wiadomość:</label><br>
        <textarea id="wiadomosc" name="wiadomosc" cols="40" rows="10"></textarea>
                    <br>
        <input type="submit" value="wyslij" id="send" name="send" />
    </fieldset>
</form>
</body>
</html>
a tu .php

Kod: Zaznacz cały

<?php
//filtruje dane użytkownika
$mail = "mojastrona@dsa.pl";
$temat =  htmlspecialchars(trim($_POST['temat']));
$wiadomosc = $_POST['wiadomosc'];
$wiadomosc = addslashes($wiadomosc);
$wiadomosc = iconv("UTF-8","ISO-8859-2",$wiadomosc);
$send = $_POST['send'];
//mail na który będa wysyłane wiadomości
$odbiorca = "odbiooorca@dsa.pl";
$charset = 'iso-8859-2';
//nagłówki
$header =
      "MIME-Version: 1.0\r\n" .
      "Content-Type: text/plain; charset=$charset\r\n" .
      "Content-Transfer-Encoding: 8bit";

$header = "Content-type: text/html; charset=utf-8\r\nFrom: $mail";


    //Sprawdzam czy są błędy i wysyłam wiadomość
    if (empty($error))
        {
        $list = "$wiadomosc";
        
        if (mail($odbiorca, $temat, $list, $header))   
        {
         $error .= "Twoja wiadomość została wysłana";
         }
        else
            { $error .= "Wystąpił błąd podczas wysyłania wiadomości, spróbuj później.";}   
        }
    
?>
Jeszcze jedno pytanie, mianowicie gdy chce wysłać maila muszę ciągle edytować plik mail.php
w jaki sposób zrobić tak żeby scrypt wysyłający maile pobierał adresy z notatnika.txt np wpisuje do notatnika 10 maili jeden pod drugim i żeby scrypt je ściągał i wysyłał.
Z góry dziękuje za pomoc :)