|
|
Systémové pozadí odeslání mailu
|
14.10.2004 16:37
Jan Houštěk
|
Chce-li někdo odeslat mail, musí ho předat stroji, který se obecně označuje zkratkou MTA (mail transport agent), případně sám být takovým MTA. PHP něco, čemu by se dalo říkat MTA, z pochopitelných duvodu neimplementuje, takže existují dvě možnosti:
1) PHP předá mail nějakému MTA pomocí protokolu SMTP (nic jiného se dnes již prakticky pro odesílání mailu nepoužívá, i když historicky byl výběr přenosových mechanismu bohatší). PHP tedy stojí v roli SMTP klienta.
2) PHP předá nějakou interní cestou mail MTA běžícímu přímo na webovém serveru. Toto MTA muže být funkčně velmi ořezané, v krajním případě stačí, aby implementovalo pouze jednoduchého SMTP klienta bez fronty.
První možnost je využita v implementaci PHP pro Windows. Jméno SMTP serveru je konfigurovatelné v php.ini.
Druhá možnost je využita na unix-like systémech. Předání mailu probíhá standardní cestou skrze program /usr/sbin/sendmail (který se stálou sémantikou implementují i jiní MTA než Sendmail).
Shrneme-li to, ke správné funkci mailu v PHP je třeba na windows nakonfigurovat adresu SMTP serveru, který bude maily od PHP akceptovat, na Unixu to znamená instalaci nějakého (třeba minimalistického) MTA, který bude správně zkonfigurován a bude implementovat příkaz /usr/sbin/sendmail. |
|
|
Re: Systémové pozadí odeslání mailu
|
16.10.2004 11:51
Petr Zajíc
|
Jen doplním, že ačkoli PHP SMTP neobsahuje, lze jej v PHP napsat. O tom jsem se v článku nezmínil, ale ve skutečnosti třeba PHPMailer tuto funkci má.
Aby to nevypadalo, že jsem proti Windows nějak zaměřen - i tento systém lze používat jako MTA. Existuje třeba xmail a mnoho dalších, kteří to umí. Co ale netuším je, zda by teoreticky (v případě Windows + XMail + PHP) předávalo PHP maily k odeslání tak, tak jsme zvyklí na Linuxu (tedy voláním sendmailu, případně programu, který se tváří že je sendmail). |
|
|
Re: Systémové pozadí odeslání mailu
|
15.11.2006 11:22
Aleš Hakl
|
Jeste k tomun SMTP doplnim, ze pokud chcete mit smysluplnou obalkovou adreesu, tak mate ve windows v podstate smulu (nastavuje se v php.ini) a v unixu vas zajima volba -f pro sendmail a tusim 4. argument funkce mail, ktery umoznuje predavat sendmailu dalsi parametry krome prijemce. |
|
|
Hlavičky mailu a RFC
|
14.10.2004 16:39
Jan Houštěk
|
Je upozornuji, ze RFC822 bylo nahrazeno novejsi verzi RFC2822. Doporucuji precist oboji, nova verze je sice presnejsi a podrobnejsi, ale pri predchozi znalosti RFC822 se podstatne lepe cte a vstrebava. |
|
|
additional headers
|
15.10.2004 00:30
Ján Sokoly
|
Chcel by som este upozornit, ze pri odosielani mailov pomocou PHP funkcie mail() je urcite dobre pridat additional header "From: vhodny@email.com\r\n". Stava sa totiz, ze mail takto odoslany pride adresatovi od root@vaswebhosting.com alebo od anonymous@vaswebhosting.com, co je prinajmensom nevhodne. |
|
|
Re: additional headers
|
15.10.2004 00:35
Ján Sokoly
|
V predchadzajucom prispevku mal byt za vhodny@email.com vyraz [backslash]r[backslash]n, sluziaci na oddelovanie headers. Toto forum backslashe zrejme filtruje, aj ked v Nahlade viditelne su :-/ |
|
|
Re: additional headers
|
15.10.2004 10:56
Michal Vyroubal
|
:-\\ (aneb napiš \\\\ a získáš \\) |
|
|
mail() a windows
|
8.6.2005 17:28
Peter Miniar
|
Chcel si vedieť, či sa dá spustiť funkcia mail() na Windowse. Dá. Používam PHP 5.0.4 a jediné, čo som musel spraviť, bolo napísať príslušný SMTP server v php.ini a ide mi to bez problémov. |
|
|
mail() na Windows
|
14.12.2005 16:07
Marek Podešva
|
sice pozdě, ale přece… našel jsem na internetu program Free SMTP Server (http://www.softstack.com/), pomocí kterého jde posílat e-maily PHPčkem na Windowsech. Třeba se to bude někomu hodit |
|
|
Re: mail() na Windows
|
14.12.2005 20:51
Petr Zajíc
|
Super, díky za odkaz. |
|
|
|
|
KOMENTARZE
|
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
|
Szukanie oprogramowania
|
©Pavel Kysilka - 2003-2024 |
maillinuxsoft.cz | Design:
www.megadesign.cz
|