funkcia mail() na hostuju.cz

Obrázok používateľa %user

Pred par tyzdnami pribudol na SK-CZ internete novy freehosting. V tomto blogu popisem moje subjektivne nazory nan, postrehy a celkove dojmy z neho.

Od priatela som sa dozvedel, ze je tu novy, zevraj celkom zaujimavy hosting. Tak, idem sa nan pozriet, nie? ....hostuju.cz... mm... prve co mi blikne do oci: 1 000 MB, Neomezený TRAFFIC, MySQL 5, PHP 5, FTP,.. to znie slusne, nie? Tak, skusim si tam zaregistrovat web, sak nic za to nedam a aspon skusim, ake maju sluzby.

pozn.: urcite som nebol jediny kto takto uvazoval. Za prvych par dni sa na tomto hostingu vytvorilo niekolko stoviek prazdnych kont, ktore este stale "nemaju obsah" a ich registrovatel sa zrejme len chcel poobzerat po administracii daneho hostingu.

Prihlasim sa.. hmm nic moc. Teda celkom v pohodicke. Vidim link na phpmyadmin, prihlasovacie udaje do databaze atd atd. Nic extra, ale take postacujuce, nie?

To, co ma zaujima a podla coho si na moje mensie projekty vyberam freehosting je:

  • neagresivna reklama - (lista hore samozrejme nevadi, ak sa da prisposobit tak, aby bola v designe, pripadne banner, ak si ho mozem sam umiestnit na stranku). Na hostuju.cz, hoci to niektory povazuju za nevyhodu mate moznost si vlozit banner do stranky sami. Myslim, ze toto vzniklo jednak "lenivostou" adminov, ktorym sa s takymito vecami nechcelo babrat a nakoniec mali pravdu.. sice to niekomu pride osemetne, ze si to tam musi davat sam, napriek tomu je to krok vred. Robi sice admin pracu, ze musia "kontrolovat" a "zabanovavat" konta, ale krok vred to je:)
  • stabilita - uvazoval som, kedze je to hosting novy, s tymto by rozhodne nemal mat problemy, takze toto je jednoznacne bod pren
  • rychlost - jednak rychla linka na servroch, a jednak rychle servre, aby teda v co najkratsom case generovali scripty. To prve som si otestoval velmi jednoducho. Len tak "z brucha" som si vymyslel adresu download.hostuju.cz (nebudem to zbytocne linkovat, uz to neexistuje). Vitim tam listing adresaru. "porn" a "mp3". Tak fajn, skusim stiahnut daky ten content, aspon uvidim rychlost linky (samozrejme ze som stiahol len tie mp3 ;]). A kedze rychlost stahovania bola obmadzena mojim prividerom (linkou do internetu). bod pre hostuju.cz

takze som si povedal, ze vsetky moje poziadavky (presnejsie hlavne poziadavky) to splna, tak tam nahodim sajt. V tejto dobe si kodim homepage na danom serveri a postupne som prisiel na "par" nedostatkov, pokusim sa Vam ich prezentovat aj podla mna ich dovod.

Dovod? Ja si ich (nizsie spomenute) problemy vysvetlujem takto: ine freehostingy (napriklad ic.cz) sa venuju len a len freehostingu. A uroven ich sluzieb tomu odpoveda. Sice rychlost a stabilita nie, ale to je priamy ucinok toho, ze na dany freehosting sa prihrnie niekolko tisicok ludi, ktory tam maju obrovske weby. Zatial co hostuju.cz prevadzkuje banan.cz a sam hostuju.cz ak sa nemylim bol v minulost komercny hosting. (ak sa mylim tak pardon). Takze mam dojem, ze z banan.cz poverili jedneho cloveka, dali mu jeden stroj a jednu domenu a "urob nam freehosting". Teda tento freehosting splna vsetko zakladne, ale ziadne uzasne sluzby nema. Co mi chyba? cron. Dalej? niekomu pgsql... atd atd.

Myslim vsak, ze kedze je to zadarmo, nemozem povedat ani dve slova (a tento blog neberte ako staznost, keby sa mi dany hosting nepacil, tak ho nevyuzivam).

Takze, zopar veci, ktore mi na danom hostingu chybaju:

  • postgresql
  • faq - dajaka dokumentacia, napoveda.. aspon nieco
  • ine heslo do administracie ako do databaze - toto je skor bezpecnostna otazka, ale ak chcete zistit, ake heslo mate do mysql zistite, "jako do administrace". Inymi slovami to iste heslo ako na ftp. Nevidite problem? Nahodou budete mat na webe bezpecnostnu chybu, niekto si pozrie zdrojaky suborov, najde heslo do databazy a uz sa moze pripojit na ftp, a robit si fakt co chce..
  • cron
  • a... smtp server - tu sa dostavam konecne k headlineu tohoto blogu. Na tomto freehostingu totiz nie je nainstalovany smtp server, takze s funkciu mail() ani s jej obdobami v php jaksi neuspejete.

a teda.. co sa s tym da robit? Nechajme uz obkecavania.. hosting sa nam paci, zakladne veci splna, a cron si napriklad mozeme nastavit (vyuzivat) z ineho hostingu, velmi jednoducho..pgsql nie, no co... a faq, dako sa bez neho zaobideme, sak pri najhorsom napiseme na icq podpore z hostingu.. ale smtp server? clovek by povedal, ze jedna z najzakladnejsich veci.. tam nie je?

ked som "prisiel" na dany hosting, a skusal som odoslat mail pomocou funkcie mail() zdalo sa mi to fakt divne, az som naozaj nadobudol podozrenie, ze by tam vobec nemusel byt... skusil som aj telnet hostuju.cz 25 aj podobne alternativy (ale kedze napriklad pristup na smtp server mohol byt obmadzeny len z lokalky, velmi to nemalo vyznam), tak som napisal podpore: (zaklad: spravat sa maximalne slusne, predsa len dostavate balik sluzieb zadarmo, a co najkonkretnejsie objasnit svoj problem)

(18:48:10) thomm: ahoj, prosim ta, uz dobrych par dni sa trapim ako odoslat mail z hostuju.cz .Lebo to, co mi napriklad fungovalo na localhoste, alebo napriklad aj na ic.cz teda funkcia mail() mi nejde (teda neviem ju rozbehat). Skusal som aj rozne varianty, pearmail, pripadne pouzit ine smtp avsak furt sa mi nedari a uz mi to leze na mozog. A nikde som nenasiel dajake FAQ.. preto sa ta pytam, prosim ta, ako je to s odosielanim mailov z hostuju.cz pomocou php?
(19:23:17) hostuju.cz podpora: mail fce je zakazana kvuli spamu
(19:23:47) thomm: aha, dakujem za odpoved, akym sposobom teda mozem odosielat mail z hostuju.cz ?
(19:24:01) hostuju.cz podpora: nedaji
(19:24:20) thomm: ani pouzit ine smtp? napriklad gmailacke?
(19:25:44) hostuju.cz podpora: tezko rict to nevim
(19:26:07) hostuju.cz podpora: ono na tom serveru neni vubec nic pro mail nainstalovane ale pokud se to da nejak obejit tak to asi pude:)
(19:27:19) thomm: este sa s tym pohram:) len ma prave napada, ze asi nepojde ani vyuzit ine smtp, ak by bola funkcia napriklad fputs alebo fgets blokovana
(19:27:37) hostuju.cz podpora: ty blokovane nejsou
(19:27:59) thomm: super, dakujem za tvoj cas:)
(19:28:19) hostuju.cz podpora: prosim

mm fajn. koli spamu, no nevadi.. (osobne si myslim, ze s dosledkami je funkcia fsockopen na tom omnoho horsie, ale nevadi:]) Takze, hned ma napadli dve varianty. Ako som popisal, bud budem komunikovat priamo s nejakym inym smtp servrom, alebo (prislo mi to zaujimavejsie) si vytvorim dakde na inom freehostingu (vyuzil som sluzieb ic.cz) konto, na ktorom si urobim script na posielanie mailov, a budem sa len nan pripajat. Takze, ako na to? Na ic.cz si vytvorime subor, napriklad mail.php s takymto contentom:
mail.php

<?php
if (isset($_POST['headers'])){
    if (
mail($_POST['to'],$_POST['subject'],
                      
$_POST['body'],$_POST['headers'])){
        echo
'OK'; } else { echo 'ERROR';}
} else {
    if (
mail($_POST['to'],$_POST['subject'],$_POST['body'])){
        echo
'OK'; } else { echo 'ERROR';}
}
?>

a potom si uz len vytvorime funkcie na odoslanie, ktore budeme vyuzivat, tentokrat samozrejme na hostuju.cz

class.posli.php

<?php

  
function httpSocketConnection($host, $method, $path, $data)
   {
      
$method = strtoupper($method);       
      
       if (
$method == "GET")
       {
          
$path.= '?'.$data;
       }   
      
      
$filePointer = fsockopen($host, 80, $errorNumber,
      
$errorString);
      
       if (!
$filePointer)
       {

           return
false;
       }

      
$requestHeader = $method." ".$path."  HTTP/1.1\r\n";
      
$requestHeader.= "Host: ".$host."\r\n";
      
$requestHeader.= "User-Agent:      Mozilla/5.0 (Windows; U;
        Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0\r\n"
;
      
$requestHeader.= "Content-Type: application/x-www-form-urlencoded\r\n";

       if (
$method == "POST")
       {
          
$requestHeader.= "Content-Length: ".strlen($data)."\r\n";
       }
      
      
$requestHeader.= "Connection: close\r\n\r\n";
      
       if (
$method == "POST")
       {
          
$requestHeader.= $data;
       }           

      
fwrite($filePointer, $requestHeader);
      
      
$responseHeader = '';
      
$responseContent = '';

       do
       {
          
$responseHeader.= fread($filePointer, 1);
       }
       while (!
preg_match('/\\r\\n\\r\\n$/', $responseHeader));
      
      
       if (!
strstr($responseHeader, "Transfer-Encoding: chunked"))
       {
           while (!
feof($filePointer))
           {
              
$responseContent.= fgets($filePointer, 128);
           }
       }
       else
       {

           while (
$chunk_length = hexdec(fgets($filePointer)))
           {
              
$responseContentChunk = '';
          
              
$read_length = 0;
              
               while (
$read_length < $chunk_length)
               {
                  
$responseContentChunk .= fread($filePointer,
                  
$chunk_length - $read_length);
                  
$read_length = strlen($responseContentChunk);
               }

              
$responseContent.= $responseContentChunk;
              
              
fgets($filePointer);
              
           }
          
       }

      
#logEventToTextFile('debug', $responseContent);
      
      
      
return chop($responseContent);
   }
  
   function
posli($toemail, $subject, $body)
   {
      return
httpSocketConnection('www.nieco.ic.cz', 'POST', '/mail.php' ,
                   
"to=$toemail&subject=$subject&body=$body");
   }
   function
posliformat($toemail, $subject, $body,$fromname,
                 
$fromemail )
   {
   
$eol="\r\n";
   
$mime_boundary=md5(time());
   
$headers .= 'From: '.$fromname.' <'.$fromemail.'>'.$eol;
    return
httpSocketConnection('www.nieco.ic.cz', 'POST', '/mail.php' ,
                 
"to=$toemail&subject=$subject&body=$body&headers=$headers");
  }
?>

nevyhoda? samozrejme, ze ak nepojde ic.cz nepojde vam ani odosielanie mailov,.. ale tak:)

Komentáre

Voľby prehliadania komentárov

Vyberte si, ako chcete zobrazovať komentáre a kliknite na "Uložiť zmeny".

jj, ten ich hosting je

jj, ten ich hosting je pecka, ale ja v poslednom case zistujem, ze jedine plateny hosting je to co mi vyhovuje. takze asi coskoro pojdem kupit domenu :)

pocuvaj ale k tomuto tu. mna napadla taka vec, to by nestacilo urobit jednoducho nieco v style

<?php
fopen
("http://poriadnysajt.ic.cz/send-mail.php?komu=$komu&predmet=$predmet&telo=$telo",r); //to r sa dava do uvodzoviek?
?>

ja som tu funkciu nedavno pouzival a ona vie normalne stiahnut data z internetu cez 80.

a na strane servra potom iba

<?php
mail
($_GET["komu"],$_GET["predmet"],$_GET["telo"]);
?>

---
zerox.co.nr

checkuj toto --- zerox.co.nr

checkuj toto

---
zerox.co.nr

Obrázok používateľa %user

jj, moznost to je, aj ked ja

jj, moznost to je, aj ked ja som chcel posielat data cez POST :) rozdiel sice v tomto pripade asi velky nie je.. mm.. neviem, teraz musim ist urcite o tom vsak este pouvazujem, je to zaujimave riesenie..

ps: pekny blog a inak to co je to s tym servrom?:D
---
Kubuntu user #8067 || thomm.yw.sk

pozorny cital si vsimne ze

pozorny cital si vsimne ze raz je napisane "servri" inokedy "servery", takze to PS je nieco ako ospravedlnenie :)
---
zerox.co.nr

hostuju.cz

zajimave cteni, zkusim to pochopit a zavest do praxe :-) dik

Obrázok používateľa %user

mail

fce mail by som chapal, ale ze nejde ani PEAR object mail som prekvapeny ...

*******************************
http://emdi.sk || http://blogy.emdi.sk || http://www.damokles.cz/?id=88525

Obrázok používateľa %user

mno ked tam nie je ani

mno ked tam nie je ani nainstalovany smtp server:)
---
Kubuntu user #8067 || thomm.yw.sk

Voľby prehliadania komentárov

Vyberte si, ako chcete zobrazovať komentáre a kliknite na "Uložiť zmeny".