Publikování emailem / mobilem
V tomto redakčním systému lze příspěvky zasílat emailem. Proč? Protože to jednak pár lidí chtělo, druhak to lze provést. Proto.
Stačí, aby váš mobil uměl posílat MMSky nebo smsky jako email a už můžete posílat čtenářům zprávy o tom, jak se vám právě válí na pláži někde u moře.
Základní informace
Co je potřeba
Nastavení v administraci
Ukázkový email
Posílání souborů (nejen obrázků)
Dotazy
Základní informace
V hlavním adresáři systému je soubor imap.php. Pokud je tento soubor spuštěn, připojí se k emailovému serveru a zjistí, zda tam nečeká určitá zpráva. Pokud ano, stáhne si ji i se všemi obrázky a zpracuje. Obrázky uloží, text zformátuje a uloží do databáze jako normální příspěvek, který se záhy objeví na titulní stránce webu. Pak použitý email smaže. To by bylo všechno pěkně v kostce.
Chci tuto službu používat, co potřebuji?
Emailová schránka
Doporučuji založit si novotou zářící schránku na poštovním serveru, ke kterému lze přistupovat přes IMAP protokol... a jak jsem zatím zjistil, jde pouze o Tiscali.cz. Ideální je tedy zřídit si novou schránku zde a pouze tu používat pro psaní příspěvků přes email.
Je vhodné tedy doplnit v nastavení potřebné údaje a pak vyzkoušet, zda vše funguje, pouhým zavoláním souboru http://vas.web.cz/imap.php (pokud vyplníte Bezpečnostní heslo pro spuštění stahování emailů, pak je nutné k adrese přidat ?heslo=totoheslo). Na stránce samotné v ideálním případě nic neuvidíte. To totiž znamená, že vše proběhlo v pořádku (ale načítání může chvíli trvat). Pokud se po delší době, teoreticky po 30 sekundách, objeví hlášky jako Warning: imap_open(): Couldn't open stream ..., tak jste buď zadali špatnou adresu, nebo váš emailový server toto připojení neumožňuje.
Více o této problematice naleznete u nastavení adresy serveru v Nastavení.
Proč nepoužívat svoji zaběhlou schránku? Protože náhoda je blbec a nejhorší je srážka s blbcem. Příklad: k publikování jsou ve schránce sbírány emaily, jejichž předmět obsahuje slovo "krucipisek"... všechno pěkně šlape, až vám jednou někdo pošle mejl, který bude mít neočekávaně v předmětu toto slovo a na webu bude najednou publikovaný text, který tam opravdu být neměl. Co všechno by mohlo být najednou zveřejněné, to ať si každý domyslí sám.
CRON účet
Tohle už je jiná káva a děsí vás jen díky tomu, že nevíte, o čem je řeč. Ani já sám CRONu moc nerozumím, ale vůbec to nepotřebuji. Stačí vědět, jak tuto službu použít. A to už je jednoduché. Spousta serverů má CRON vlastní, ale spousta také ne. To bude náš případ, protože mi přijde pro laika jednodušší.
"Zpomal chlapče, co ten CRON teda je?" Je to takový kalendář událostí běžící na počítači a v daných chvílích spouštějící zadané příkazy. Lze si nastavit spuštění nějakého programu nejen každý den v 11 večer, ale třeba každých pět minut. K tomu prostě CRON slouží.
A pokud jej váš webhostingový server nemá, není proč se zlobit. Na internetu se pár serverů na tuto činnost vyloženě specializuje. Vytvoříš si (zdarma) účet, zadáš adresu souboru, který má být spouštěn, zadáš interval (nebo jednorázové datum) a o víc se nestaráš.
Favoritem je WebCron.org. V patičce webu si vyber podle vlajky jazyk, pokud ti výchozí francouzština není po chuti, a neváhej se registrovat (horní menu). Po přihlášení máš v horním menu položku My Tasks (anglicky moje úkoly). Pod prázdnou tabulkou je odkaz New Task, v novém formuláři vyplnit UrlUrl podle tohoto příkladu: http://tvuj.web.cz/imap.php?heslo=heslo. Heslo je slovo, které si musíte v nastavení (Administrace > Nastavení > Publikování poštou) vyplnit a slouží pro kontrolu, že jde oprávněné volání souboru. Nezapomeňte na to!!!. Zbytek formuláře ponechte v původním stavu, docílíte tak toho, že bude soubor imap.php volán každou hodinu a každou hodinu tak bude kontrolována vaše schránka, zda v ní není nový email. To je optimální.
Po uložení záznamu se vám znovu zobrazí tabulka, v níž bude jeden řádek. Jenže tento nový záznam je vypnutý, takže jej kliknutím na Action > Enable zapněte.
Odhlašte se a patrně se už nebudete muset nikdy na tento server vracet.
CRON na vlastním serveru
Placené webhostingové servery CRON často mají a budou tedy mí ti nápovědu, jak nastavit právě ten jejich. To už není moje práce.
Co je nutné nastavit v administraci?
V Administrace > Nastavení > Publikování poštou je nutné nastavit spoustu věcí. Většina jich je dobře popsána tam, ale pro jistotu zmíním to důležité ještě jednou.
Emailový server + přihlašovací údaje ke schránce. POZOR! Vůbec se tu nemluví o adrese emailové schránky, ta není potřeba. Mluvíme o adrese poštovního serveru. A ne každého... zatím tuto funkci podporuje jen server Tiscali.cz (pak je adresa mail.tiscali.cz).
Dále je nutné zadat buď klíčové slovo v předmětu emailu, nebo zapnout rozpoznání emailu podle odesilatele. Obě tyto položky slouží k jedinému: rozpoznání, zda je daný email příspěvěk na web nebo ne. Druhé nastavení vyžaduje, abyste měli u svého uživatelského účtu (Administrace > Správa účtu) uloženy emailové adresy, ze kterých budete zasílat příspěvky (více adres oddělte čárkou).
Doporučuji přečíst všechny položky v této sekci nastavení, protože co není uvedeno zde, to je uvedeno tam.
Jak má vypadat takový příspěvkový mejl?
Třeba takto:
N:Nadpis mého skvělého příspěvku:N
**Lorem ipsum dolor sit amet**, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
[* obr-priloha1.jpg *]
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
…
Chcete-li určit nadpis textu, napište jej tak, jak vidíte na prvním řádku tohoto ukázkového emailu:
n: ... něco ... :n. N::N nebo n::n,
to je jedno.
"A co znamená to [* obr-priloha1.jpg *]?" To znamená, že k mejlu je přiložen obrázek obr-priloha1.jpg a autor si vyznačil přesné místo, kam jej chce v textu vložit. Jméno v textu a jméno přiloženého obrázku se MUSÍ přesně shodovat! Ve velikosti písmen a diakritice, kterou všem důrazně zakazuji!!!. Diakritiku v názvech obrázků používáte na vlastní nebezpečí a vlastní BLBOST!
Pokud nebude žádný obrázek v textu uveden, budou všechny přiložené obrázky zařazeny na jeho konec.
V textu lze bez omezení používat Texy! syntaxi ve stejném rozsahu jako při psaní textů v administraci. To se týká právě i těchto zápisů obrázků. Obrázek [* img.jpg .(Obrázek) <] se zarovná správně nalevo a bude mu přidán popisek "Obrázek". Jediné, s čím si systém neporadí, je vaše snaha o přidání modifikátoru .[#id css-trida] ... tohle holt nesmíte. A myslím, že to ani nikdo nebude nikdy potřebovat použít.
Někoho může překvapit, že zatímco při psaní textu v administraci je nutné psát adresy obrázků i s cestou do adresáře /images/, tak tady to tak není. Je to proto, abych vám ušetřil psaní a ač jsem si tím řádně zkomplikoval život, sám to určitě ocením, až budu ťukat do klávesnice mobilu a budu vděčný za každý ušetřený znak. Takže ačkoli se obrázky do adresáře /images/ uloží, my jej do adresy psát nebudeme.
Ještě doplním, že pokud má někdo chuť vytvářet v textu horizontální linky pomocí Texy! a --------- (těchto pomlček), ať raději použije hvězdičky ******* ... výsledek je stejný, ale v prvním případě může dojít k problémům, protože pokud se nemýlím, více pomlček za sebou má ve struktuře emailu zvláštní význam.
Posílání obrázků, fotek, souborů
S obrázky (nebo fotkami, je to to samé) je ten problém, že jsou velké. Jak rozměrově (šířka výška), tak datově. Systém při zpracovávání mejlu musí všechny tyto soubory stáhnout z poštovního serveru, kde máte svoji schránku.
Proč může vadit 10 velkých fotografií? Protože se budou dlouho stahovat z poštovního serveru a protože bude dlouho trvat, než jim systém vytvoří náhledy... v kombinaci s vytíženým poštovním serverem, komplikacemi po cestě internetem a přetíženým serverem, kde máte svůj web, se může klidně přihodit, že systém prostě nestihne všechno zpracovat v čase, který mu na to server přidělí. Co se stane pak, to nelze dopředu říci...
Takže s rozmyslem.
Rotace (otáčení) obrázků
Může se také přihodit taková nemilá věc: mobilem vyfotíte nějaký snímek a musíte jej poslat na web. Jenže... potřebujete fotku otočit na jednu nebo druhou stranu. Mobil prostě fotí pouze na výšku, vy jste vyfotil závěr na šířku a nechcete, aby byl snímek na webu nastojato. Co teď? Pokud nelze obrázek po vyfocení otočit, je tu jedna možnost: přidat do jména souboru slovíčko rotr nebo rotl. Rot jako rotace a r nebo l jako výběr strany, na kterou se má fotka otočit. R jako right (vpravo) a l jako left (vlevo). Na velikosti písmen nezáleží. Ve výsledku tedy můžete poslat snímek s názvem obrazek-rotr.jpg, který bude při ukládání na server otočen o 90° vpravo. Obdobně obrazek-rotl.jpg bude před uložení otočen na levou stranu.
Ukládání souborů
Posílání mejlů s neobrázkovými přílohami je trošku specifičtější. Jednak zde hrozí, že díky nevhodnému typu souboru neprojde mejl přes spamový nebo antivirový filtr (exe a spol), druhak může být k mejlu připojeno varování o nebezpečných přílohách a věřte mi, může se stát, že místo příspěvku bude pak na webu vypsáno jen ono varování a zbytek mejlu bude zahozen. Takže se soubory opatrně...
Jejich zpracování je obdobné jako uložení nového dokumentu. Vloží se záznam do databáze, objeví se mezi dokumenty ke stažení a na konec příspěvku bude připojen seznam odkazů na tyto soubory.
Dotazy
Příspěvky se mi ukládají s divným datem. Kde je chyba? Bůh ví, k emailu je holt připojené špatné datum a přes to nejede vlak. Může jít klidně o jiná časová pásma... řešením je zvolit v nastavení možnost ukládání data jako okamžiku, kdy došlo k prohledání schránky. Vzhledem k tomu, že to je okamžik, kdy se příspěvěk objeví na webu, tak je to dokonce volba ideální.
Příspěvky se mi ukládají ve špatném kódování, místo háčků otazníky... Systém zjistí kódování mejlu (spolehlivé) a text (i názvy obrázků,...) převede pomocí PHP funkce iconv() do kódování WINDOWS-1250. Máte-li jinou představu, podívejte se na začátek souboru imap.php, tato hodnota lze změnit. Hodí se vědět, co děláte a vložit tam správný kód vytouženého kódování.
Jak si systém poradí s HTML emaily? Moc se s nimi nepáře a v cukuletu z nich udělá obyčejný text. Jakékoli formátování čehokoli je možné pouze pomocí Texy! syntaxe.
Vložím-li obrázek přímo do textu mejlu, bude na stejném místě zobrazen? Ne, nebude. Všechny obrázky se zařadí na konec textu. Jediná jiná možnost je ta, že na daná místa v textu vložíte [* jmeno-obrazku.jpg *], který bude nahrazen připojeným obrázkem se jménem jmeno-obrazku.jpg ... pozor, rozhoduje i velikost písmen!