Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: Matesss 24. 04. 2017, 21:19:31
-
Zdravím, dělám pro mámuweb s pár podstránkama a mám to celé statické HTML. Chce tam mít kontaktní formulář, který jí bude posílat maily. Nevíte o nějakém řešení, abych nemusel zapojovat PHP a posílat si maily sám? Díky
-
http://www.foxyform.com/
https://www.google.cz/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=free+contact+form+for+website
-
<form method="post" action="mailto:maminka@hustodemon.xyz">
<input type="submit" value="Amen!">
</form>
-
Pokud se chcete vyhnout scriptovani na strane serveru, tak mate v zasade dve moznosti:
- Pouzit 'mailto:' odkaz coz ale nesplnuje ten zminovany formular a vyzaduje to nakonfigurovany offline mail program na strane klienta, coz je dnes uz ne zcela bezna vec.
- Zapojit nejaky formular treti strany (emkei.cz ??), ale tady akutne hrozi spamlisty a kradeni adres ci obsahu. Navic se sluzba muze kdykoliv rozbit ci zaniknout a Vy se o tom nemusite ani hned dozvedet.
-
Bez skriptování na serveru se budeš muset spolehnout na nějakou službu. Rizika už tu byly řečený, tak jenom (http://lmgtfy.com/?q=static+web+contact+form) navrhnu (https://formspree.io/) pár (http://samdobson.github.io/fwdform/) z nich (https://contactr.io/).
-
IT hipsteri pouziju Lambda funkciu na posielanie emailov.
-
Šlo by to udělat i v JS. První, co mi duckduckgo vyhodil byl http://www.smtpjs.com/ (http://www.smtpjs.com/), který by se možná použít dal. Společně se službou http://smtp2go.com/ (http://smtp2go.com/) (max cca 25 zpráv na hodinu) by se něco udělat dalo. SMPT2GO má ověření heslem (to v žádném případě, chcete-li to v JS!) nebo pomocí adresy odesílatele (hodí se). Chtělo by to nějakou captcha (která je "zbytečná" -- JS), použitelnou jako ověření kvůli spammerům, kteří neumí projít zdroj. kód. (A také ten kód, případně část posílající zpravu -- obsahující informace k ověření projeďte nějakým JSFuckem :-D ) Ale chybou je tu to omezení počtu zpráv, někdo by Vám to mohl rozbít. Dále se tím také zveřejní e-mailová adresa příjemce (pozor!) a odesílatele (malý pozor ;) ). A klidně si to do té lambda funkce dejte! :D
A hosting PHP neumí?
<?php
// jiwopene@gmail.com
//
// Posílá e-mail
//
// Nastavení:
$odKoho = "libovolna@adresa.com";
$kam = "vase@adresa.com";
$predmet = "Neco, ceho si vsimnete";
$ok = "/kontakt/ok.html"; // Kam přesměrovat při úspěchu
$err = "/kontakt/err.html"; // Kam přesměrovat při chybě
//
// Program:
if (isset($_POST["text"])) if (mail($kam, $predmet, $_POST["text"], "From: $odKoho\r\nContent-Type: text/plain; charset=UTF-8\r\nContent-Transfer-Encoding: 8bit")) header("Location: $ok"); else header("Location: $err");
Skript výše pošle e-mail z formuláře. Tady je kód pro obsluhu pomocí HTML formuláře:
<form method=post action="/adresa/php/skriptu.php" >
<textarea name=text ></textarea>
</form>
Ten PHP skript umí samozřejmě zpracovat zprávu třeba z jQuery. Stačí podpora funkce mail() u hostingu. Také by se dala použít SQLite databáze, kam by se ukládaly zprávy.