Zítra je taky den
Instalace Wordpress na server 2008 - 5. část - instalace mailu na PHP
5. konfigurace odchozí pošty:
Pro instalaci Wordpressu budeme potřebovat odesílání mailů. Jednak z důvodu doručování zapomenutých nebo zakládacích hesel, jednak
pokud budeme chtít později do Wordpressu přidávat možnosti zasílání informací o příspěvcích mailem či rozesílat registrovaným
uživatelům nějaké informace.
Na tomhle kroku jsem se na hodně dlouho zasekl. Zkoušel všemožná nastavení, různé kombinace a varianty (včetně spuštění SMTP
služby v IIS), nic nepomohlo. Po týdnu se konečně podařilo najít řešení a to krátce po sobě dokonce dvě. První pomocí externího
prográmku sendmail s jehož pomocí je možné nastavit externí SMTP. V druhém případě se mi podařilo nakonfigurovat na serveru vnitřní
SMTP službu tak, aby odcházely i maily z PHP.
a) Varianta s využitím externího prográmku sendmail:
Na internetu si najdeme adresu https://glob.com.au/sendmail/ a z ní stáhneme soubor sendmail.zip, který umístíme do už tradičně
používané složky Pracovni_wordpress na ploše.
Po stažení složku otevřeme a pravým tlačítkem myši klikneme na stažený soubor a vybereme Extract All.
Pomocí tlačítka Browse vybereme cestu k extrahování souborů která bude c:\inetpub\sendmail. Samozřejmě složka sendmail nám v tuto
chvíli neexistuje, takže ji musíme vytvořit. Klineme si tedy na složku inetpub a dole vybereme tlačítko Make new folder.
Vytvoří se nám složka New Folder kterou přejmenujeme na sendmail a dole potvrdíme tlačítkem OK. A na předchozí obrazovne si necháme
zaškrtnuto Show extracted files when complete a dole porvrdíme tlačítkem Extract.
Po extrahování soborů a otevření výsledné složky si najdeme soubor sendmail.ini, který otevřeme notepadem.

Pro náš příklad budeme počítat s následujícími modelovými údaji:
Externí SMTP server = mail.hokuspokus.cz
SMTP Server jede na klasickém portu 25
naše doména je hokuspokus.cz
uživatel je wordpress@hokuspokus.cz
heslo má nastaveno M0jeHe5l0+
V souboru si najdeme řádek smtp_server=mail.mydomain.com ve kterém mail.mydomain.com nahradíme názvem našeho externího SMTP
serveru.Tedy: smtp_server=mail.hokuspokus.cz. Pokud náhodou používá náš externí SMTP jiný port než 25, nezapomeneme jej na dalším
řádku změnit.
dále najdeme řádek default_domain=mydomain.com a za mydomain.com nahradíme naši doménu, default_domain=hokuspokus.cz.
Následně k řádkům auth_username= a auth_password= doplníme logovací údaje k našemu účtu ma externím SMTP serveru, kdy k username
můžeme použít jak jen tvar logovacího jména, tak i ve formátu celé mailové adresy pokud to SMTP server vyžaduje. K password pak
přidáme za rovná se naše heslo.
Tedy bude to vypadat takto:
auth_username=wordpress@hokuspokus.cz
auth_password=M0jeHe5l0+
V případě, že je vyžadována ještě pop3 autentizace, doplníme správné údaje i k pop3 serveru, username a password. Běžně tyto 3
položky necháváme prázdné.
Jako poslední doplníme naši celou mailovou adresu do položky force_sender= tedy force_sender=wordpress@hokuspokus.cz
Soubor uložíme a zavřeme.
V dalším kroku musíme přejít do složky kde máme nainstalován PHP (tedy v našem případě C:\PHP5\ a otevřít Notepadem soubor php.ini.
v souboru najdeme část [mail function]
a v ní zaremujeme následující 3 řádky:
SMTP = localhost
smtp_port = 25
sendmail_from = me@localhost.com
Zaremování provedeme přidáním středníku před každý řádek, tedy:
celá část bude vypadat takto:
; For Win32 only.
; https://php.net/smtp
; SMTP = localhost
; https://php.net/smtp-port
; smtp_port = 25
; For Win32 only.
; https://php.net/sendmail-from
; sendmail_from = me@localhost.com
V dalším kroku nastavíme do proměnné sendmail_path cestu k souboru sendmail.exe, přidáme parametr -t a řádek odremujeme (odstraníme
středník na začátku, tedy řádek bude vypadat takto:
sendmail_path = "c:\inetpub\sendmail\sendmail.exe -t"
Soubor uložíme a zavřeme. Tím jsme nastavili odesílání mailu přes náš externí SMTP server.
b) Varianta s použitím interní SMTP služby
Abychom mohli využít vnitřní SMTP službu na serveru Win 2008, musíme ji nejprve nainstalovat. K instalaci použijeme příkazový
řádek. Klikneme na Start, vpravo vybereme Run.

Do řádku open napíšeme cmd a dole klikneme na OK.
do příkazového řádku napíšeme servermanagercmd -query a odentrujeme.
počkáme si na výsledek, kde uvidíme zeleně vysvícené součásti serveru které jsou již nainstalovány. Na obrázku je vidět, že SMPT
server instalovaný není.
Napíšeme tedy další příkaz servermanagercmd -install SMTP-Server a odentrujeme.
Instalace chvíli trvá, protože spolu se SMTP serverem se ještě instaluje IIS 6 Management Compatibility, vzdálená administrace a
pár dalších drobností. Ve chvíli kdy budeme mít instalaci dokončenu a objeví se nám hláška Success: Instalation succeeded, můžeme
příkazový řádek zavřít buď klikem na křížek, nebo zapsáním příkazu Exit a odentrováním.
Poté přejdeme do Služeb. Klikneme na Start, vpravo vybereme Administrative Tools a z nabídky vybereme Services.
Najdeme službu Simple Mail Transfer Protocol (SMTP) a klikneme na ni pravým tlačítkem myši a vybereme Properties (vlastnosti).
Startup type změníme na Automatic, jinak by se nám SMTP server po restartu nespustil automaticky.
Potvrdíme vpravo dole tlačítkem Apply a následně OK a obrazovku Services zavřeme.

Opět klikneme na Start, přejdeme do Administrative Tools a z nabídky vybereme Internet Information Services (IIS) 6.0 Manager
Vlevo vybereme náš server a v pravé části okna klikneme na [SMTP Virtual Server #1] pravým tlačítkem myši a z nabídky vybereme
Properties (vlastnosti)
Nahoře vybereme záložku Access a na ní tlačítko Connection...

Přepneme nahoře výběr na Only tle list below a klikneme na tlačítko Add..

Do části Single computer napíšeme IP adresu 127.0.0.1 a potvrdíme tlačítkem OK

Na předchozí obrazovce se nám objeví pod Access klíč Granted a zapsaná IP adresa. Znovu potvrdíme tlačítkem OK.

Dole potvrdíme Apply a Klikneme na tlačítko Relay

Na další obrazovce klikneme na tlačítko Add

Znovu vepíšeme adresu 127.0.0.1 a potvrdíme tlačítkem OK

Opět se nám objeví v Access klíč Granted a zapsaná IP adresa.Potvrdíme dole tlačítkem Ok

Opět potvrdíme na předchozí obrazovce tlačítkem Apply a OK.

Klikneme pravým tlačítkem myši na název našeho serveru v levé části úvodní obrazovky IIS 6.0 Manageru, vybereme All Tasks a
klikneme na Restart IIs.
Na další obrazovce potvrdíme OK.

Na další obrazovce buď potvrdíme tlačítkem End New nebo prostě počkáme na restart IIs. Poté můžeme manager IIS 6.0 zavřít.
V dalším kroku pak tak jako v první variantě musíme editovat soubor php.ini. Takže si otevřeme průzkumníka pomocí kláves Win+E a
přejdeme do složky kde máme php nainstalovaný a soubor php.ini otevřeme notepadem.
v souboru najdeme část [mail function]
a v ní zkontrolujeme a odremujeme následující 3 řádky:
SMTP = localhost
smtp_port = 25
sendmail_from = me@localhost.com
místo me@localhost.com si nastavíme naší vlastní adresu, třeba wordpress@hokuspokus.cz
Odremování provedeme zrušením středníku před každým řádkem, tedy celá část bude vypadat takto:
; For Win32 only.
; https://php.net/smtp
SMTP = localhost
; https://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; https://php.net/sendmail-from
sendmail_from = wordpress@hokuspokus.cz
Soubor php.ini uložíme a zavřeme.
V závěru ještě můžeme provést test, zda maily opravdu odcházejí.
Nejprve se v průzkumníkovi přepneme do adresáře c:\inetpub\wwwroot\, kde si připravíme následující dva soubory.
1. mail.html jehož obsahem bude toto:
Pozn: Protože mi tu nějak nejde zobrazovat správně zdrojový kód, vidíte jej pouze na obrázku a pod obrázkem a zde se skrývá odkaz na
samotné oba soubory v zipu, takže je stačí jen umístit do správného adresáře C:\inetpub\wwwroot\
2. mail.php jehož obsahem bude toto:
Pozn: Protože mi tu nějak nejde zobrazovat správně zdrojový kód, vidíte jej pouze na obrázku a pod obrázkem a zde se skrývá odkaz na
samotné oba soubory v zipu, takže je stačí jen umístit do správného adresáře C:\inetpub\wwwroot\
Pak už jen stačí zadat do prohlížeče adresu https://localhost/mail.html (pozor, nestačí otevřít v průzkumníkovi, tzn. v
C:\inetpub\wwwroot\mail.html, takhle to nemůže zafungovat), zadat adresu příjemce, subjekt a text zprávy a poslat tlačítkem Send.
Pokud jste vše nastavili správně a odesílaný mail vám třeba nezablokuje firewall, měl by se za pár okamžiků ve vaší poště objevit
mail odeslaný z adresy wordpress@hokuspokus.cz. Alespoň mně to v obou případech zafungovalo :-)
Závěrem dnešního dílu patří poděkování autorům obou návodů, které mi pomohly tenhle oříšek rozlousknout. Alespoň sem umístím odkazy
na originál, podle kterého se mi podařilo SMPT a odesílání mailů v PHP na Win 2008 Web serveru rozběhnout.
Najdete je na
https://wiki.uniformserver.com/index.php/Installing_Fake_Sendmail_for_Windows
a na
https://www.ruhanirabin.com/php-sendmail-setup-with-smtp-iis-and-windows-servers/
Wordpress
—————
Instalace Wordpress na server 2008 - 4. část - instalace PHPMyAdmin
—————
Instalace Wordpress na server 2008 - 3. část - instalace MySQL
—————
Instalace Wordpress na Server 2008 - 2. část - instalace PHP
—————





















