Zítra je taky den

Instalace Wordpress na server 2008 - 5. část - instalace mailu na PHP

13.09.2009 18:58

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/

 

 

 

 

Vyhledávání

Wordpress

13.09.2009 18:58

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...
07.09.2009 18:28

Instalace Wordpress na server 2008 - 4. část - instalace PHPMyAdmin

   Z Adresy https://www.phpmyadmin.net/home_page/downloads.php stáhneme poslední verzi (v našem případě soubor phpMyAdmin-3.2.1-all-languages.zip) a uložíme k ostatním staženým souborům do...
07.09.2009 17:58

Instalace Wordpress na server 2008 - 3. část - instalace MySQL

   Pozn. na začátek: Pokud se vám stane, že uděláte v instalaci něco špatně a budete chtít odinstalovat a nainstalovat MySQL znovu (např. po použití nějakého instalačního kompletu, kde je...
07.09.2009 15:53

Instalace Wordpress na Server 2008 - 2. část - instalace PHP

   V první části jsme nainstalovali roli IIS 7 a do ní podporu FastCGI potřebnou pro funkčí PHP na IIS. Následně se podíváme na web, kde si stáhneme PHP. Přejdeme na web...
07.09.2009 13:53

Instalace Wordpress na Server 2008 - 1. část - rozběhání IIS 7.

   Před pár dny jsem dostal dotaz, zda dokáži rozběhat lokálně v naší síti redakční systém WordPress. Doposud jsem s Wordpressem žádné zkušenosti neměl a protože sám zvažuji převedení...