Autor | Zpráva | ||
---|---|---|---|
svat Profil |
#1 · Zasláno: 22. 2. 2015, 20:19:08
Dobrý den,
chtěl bych požádat o pomoc s mailovým formulářem. Mám 3 soubory - objednavka.html (v hlavičce UTF-8, v PSPadu kódováno na UTF-8), objednavkaOK.html (v hlavičce UTF-8, v PSPadu kódováno na UTF-8) a formtoemail.php (též v hlavičce UTF-8, v PSPadu kódováno na UTF-8). Jediný mailklient, který zobrazí obsah korektně česky je Thunderbird. Windows Live Mail ukazuje nesmysly, Outlook také. (gmaily i seznam) Na webovém rozhraní gmailu i seznamu je vše správně česky. Na dalším počítači s mailklienty Outlook a emKlient to česky není. Na dalším počítači Apple je to v applovském klientovi OK, v outlooku ne. Předmět emailu se zobrazuje správně všude, jen obsahy polí z html souboru jsou nečesky (jméno, adresa, poznámka ....) Vyzkoušel jsem už mnoho návodů a rad -nic nepomohlo (nebo jsem to nepochopil, nebo to neumím správně implementovat) Trápím se s tím už třetí den, četl jsem a zkoušel mnoho rad, např. z Kodování v mailu, nepomohlo mi to. Zkoušel jsem vše nakódovat do Windows-1250, ale to zase chodilo v nějaké azbuce. Mohl by mi prosím někdo poradit jak upravit kód, aby jej všechny mailklienti dokázali zobrazit česky? Nastavit si klienta tak, aby se to zobrazovalo správně mě, asi není problém, ale kopie objednávjky chodí zákazníkovi a tam nemohu ovlivnit nastavení čehokoli. Pokud se najde dobrá duše, která poradí, jak upravit kód budu vděčný. Prosím polopaticky. Děkuji. KÓD formtoemail.php : <?php header("Content-Type: text/html; charset=UTF-8"); $your_email = "xxx@yyy.cz"; $thankyou = "objednavkaOK.html"; $subject = "OBJEDNAVKA ĚŠČŘŽÝÁÍÉ"; $empty_fields_message = "<p>Prosím zkontrolujte správné vyplnění všech formulářových polí.</p>"; $JMENO = trim(stripslashes($_POST['JMENO'])); $email = trim(stripslashes($_POST['email'])); $year = date("Y"); $month = date("m"); $day = date("d"); $hour = date("h"); $min = date("i"); $tod = date("a"); { // Timestamp this message $TimeOfMessage = date('d')."/".date('m')."/".date('y')."(".date('D').") @ ".date('H:i'); // finally, send e-mail $ip=$_SERVER["REMOTE_ADDR"]; $message = "Zpráva byla odeslána " .$TimeOfMessage."\n"; $message .= "---------------------------------------------------------\n"; // send the complete set of variables as well while (@list($var,$val) = @each($_POST)) { $message .= "$var: $val\n"; } // send the email mail($your_email, $subject, $message, "From: $JMENO <$email>"); mail($email, "Kopie Vaší objednávky", $message, "From: $your_email"); // go to return URL if (isset($thankyou)) { header("Location: $thankyou"); exit(); } } ?> |
||
juriad Profil |
#2 · Zasláno: 22. 2. 2015, 20:23:42
Četl jsi Nejčastější potíže s PHP (FAQ) A máš nějaký důvod nepoužít PHPMailer, který odesílání mailů řeší kompletně?
|
||
smitka Profil |
#3 · Zasláno: 22. 2. 2015, 20:30:34
Ta hlavička content type do hlaviček mailu (ne stránky) nepomohla? http://php.vrana.cz/kodovani-hlavicek-e-mailu.php
Obecně doporučuji na maily PHP mailer, ušetří to velmi mnoho práce a problémů: https://github.com/PHPMailer/PHPMailer (stačí použít jen ten soubor class.phpmailer.php). |
||
bestik_63 Profil |
Přesně tímto jsem se zabýval asi 4h, zkoušel jsem spoustu návodů, ale nikdy jsem funkci mail nedonutil posílat diakritiku :-)
Ušetříš spoustu času použitím knihovny PHPMailer, můžu ji doporučit :-) |
||
svat Profil |
Děkuji všem za rady - PHPMailer jsem si stahnul, prohlédl si soubory, ale nejsem z něj moc chytrej a nevím jestli to zvládnu, spíše zatím ne. Hledal jsem na webu český návod, moc pro mne použitelného jsem ale nenašel. Vím, že se s tím asi budu muset naučit pracovat, ale nyní potřebuji problém vyřešit rychle. Kdyby mi to někdo spíchnul "na klíč" jsem ochoten zaplatit.
Napadá mne otázka - jde PHPMailer použít na zpracování a odesílání již hotového HTML formuláře? |
||
juriad Profil |
#6 · Zasláno: 23. 2. 2015, 14:29:52
svat:
Návod máš na titulní stránce projektu. Nic víc nepotřebuješ. Jen smažeš ty části, které od poledu nepotřebuješ. |
||
Časová prodleva: 9 dní
|
|||
svat Profil |
#7 · Zasláno: 4. 3. 2015, 21:06:59
juriad:
Po mnoha neúspěšných pokusech nastavit PHPMailer tak aby pracoval jak potřebuji, jsem sáhl k hotovému řešení na http://formaya.com a nemohu si stěžovat - vše šlape jak má a maily jsou i pěkně nastylovaný. Dokonce se dá nastavit smtp odesílání z mého mailu. Děkuji všem za rady. |
||
Časová prodleva: 8 let
|
0