LINUXSOFT.cz
Nazwa użytkownika: Hasło:     
    CZ UK PL

> Komentarze :: článek PHP (55) - Odesílání e-mailů

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
Systémové pozadí odeslání mailu 14.10.2004 16:37 Jan Houštěk
L Re: Systémové pozadí odeslání mailu 16.10.2004 11:51 Petr Zajíc
  L Re: Systémové pozadí odeslání mailu 15.11.2006 11:22 Aleš Hakl
Hlavičky mailu a RFC 14.10.2004 16:39 Jan Houštěk
additional headers 15.10.2004 00:30 Ján Sokoly
L Re: additional headers 15.10.2004 00:35 Ján Sokoly
  L Re: additional headers 15.10.2004 10:56 Michal Vyroubal
mail() a windows 8.6.2005 17:28 Peter Miniar
mail() na Windows 14.12.2005 16:07 Marek Podešva
  L Re: mail() na Windows 14.12.2005 20:51 Petr Zajíc
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
> Szukanie oprogramowania
1. Pacman linux
Download: 4789x
2. FreeBSD
Download: 8979x
3. PCLinuxOS-2010
Download: 8483x
4. alcolix
Download: 10792x
5. Onebase Linux
Download: 9565x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6134x

1. xinetd
Download: 2324x
2. RDGS
Download: 937x
3. spkg
Download: 4539x
4. LinPacker
Download: 9787x
5. VFU File Manager
Download: 3109x
6. LeftHand Mała Księgowość
Download: 6994x
7. MISU pyFotoResize
Download: 2695x
8. Lefthand CRM
Download: 3480x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 2991x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz