12 listopada
Wysyłanie maila w utf8 - rozwiązanie
Rozwiązanie dotyczy zadania numer 5 z tego posta. A więc zaczynamy. Najpierw trzeba dodać treść maila.
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body>
Witaj drogi Użytkowniku!<br />
<br />
Właśnie zarejestrowałeś się w najlepszej grze na świecie typu MMORPG! Gratuluje słusznego wyboru.<br />
Dane które podałeś to :<br />
<table>
<tr>
<td>Login</td>
<td>'.$_POST['login'].'</td>
</tr>
<tr>
<td>Mail</td>
<td>'.$_POST['mail'].'</td>
</tr>
<tr>
<td>Login</td>
<td>'.$_POST['login'].'</td>
</tr>
<tr>
<td>Imię</td>
<td>'.$_POST['imie'].'</td>
</tr>
<tr>
<td>Nazwisko</td>
<td>'.$_POST['nazwisko'].'</td>
</tr>
<tr>
<td>Imię Twojej postaci</td>
<td>'.$_POST['imie_postaci'].'</td>
</tr>
</table>
</body>
</html>
';
Jak widać - nic specjalnego. Zwykły html obrazujący dane, które wysłaliśmy za pomocą formularz. Warto zauważyć, że cały html jest kodowany w utf-8. Następnie dodajemy tytuł oraz pola dodatkowe.
$dodatkowo.="MIME-Version: 1.0\r\n";
$dodatkowo.="Content-type: text/html; charset=utf-8\r\n";
$temat = 'Potwierdzenie rejestracji w najlepszej grze MMORPG';
$temat = "=?UTF-8?B?".base64_encode($temat)."?=";
$dodatkowo = strtr($dodatkowo, "\xA5\x8C\x8F\xB9\x9C\x9F", "\xA1\xA6\xAC\xB1\xB6\xBC");
$zam2 = strtr($zam2, "\xA5\x8C\x8F\xB9\x9C\x9F", "\xA1\xA6\xAC\xB1\xB6\xBC");
if (mail($_POST['mail'], $temat, $tresc, $dodatkowo))
echo 'Mail został wysłany';
else
echo 'Nie udało się wysłać maila';
W zmiennych dodatkowych ustawiamy między innymi pole from (oraz inne nagłówki). W każdym pierwszym kursie znajduję się opis jak ustawiać nagłówki i co konkretnie znaczą. Ja tego robić nie będę. Nie wgłębiałem się w to - zawsze kopiuję kod, który jest sprawdzony i dostępny za darmo w sieci. Nie widzę powodu, dla którego mam to pamiętać albo opisywać. Parę następnych linijek odpowiada za odpowiednie polskie krzaczki. Normalnie nie trzeba tego robić, ale ja preferuje pisanie w utf-8 - a co za tym idzie trochę trzeba się pobawić z mailem. Po kliknięciu na funkcję pokaże się wam manual z opisem tej funkcji. Ogólnie odpowiadają one za zmianę znaków.
Jednocześnie chciałbym przypomnieć, że nie powinno się robić czegość takiego:
, ponieważ nie wiadomo co wpisał użytkownik. Zakładam, że to jest kod uzupełniający do poprzednich rozwiązań i że te zmienne zostały sprawdzone, więc nic nie powinno się stać. Dzisiaj tak w miarę krótko, ale do końca tygodnia pokaże się kolejna lekcja, więc podglądajcie bloga.
Jakieś pytania?

Autor: Damian dnia 12.11.09 o godz. 22:00
Wszystko fajnie, a czy mógłbyś mi powiedzieć, jak skonfigurować lokalny serwer SMTP w KrasnalServ? Wygląda to tak: http://img190.imageshack.us/img190/7355/86730148.png
A może skorzystać z jakiegoś osobnego programu do konfiguracji lokalnego SMTP? Jeżeli tak, to jakiego i jak to zrobić?
Autor: misiuziu dnia 12.11.09 o godz. 22:00
Trochę mnie nie było w związku z przeprowadzką mojej osoby. Z tego co zacząłem czytać na temat skonfigurowanie wysyłania maili z lokalnego komputera dowiedziałem się następującej rzeczy - szkoda zachodu. Przynajmniej dla mnie. Hosting można wykupić już od 50zł rocznie, co nie jest nie wiadomo jak dużym kosztem.
Nigdy nie zagłębiałem się w tematykę wysyłania maili z lokalnego komputera i teraz tez tego nie zrobię. Najzwyczajniej w świecie mi się nie chce.
Autor: Kamil dnia 12.11.09 o godz. 22:00
Czy to wszystko co pisałes trzeba robic na stronie kturo zrobiłem za stronie http://www.dbv.pl ??
Autor: misiuziu dnia 12.11.09 o godz. 22:00
Ogólnie to tak. Dla Ciebie proponuję jednak na początek słownik ortograficzny.
Jeśli postawiłeś stronę z gotowego CMSa to nie musisz się (prawdopodobnie) tym martwić.