Povezave
Nastavitev mail strežnika Mercury
- Če želiš objavljati prispevke, se prijavi ali registriraj.
Večinoma se testne zadeve s PHP dela na lokalnem PCju, za kar pride prav lokalni mail server. Za to se lahko uporabi Mercury mail server, s katerim lahko pošiljamo majle s pomočjo PHP skriptov preko navadnega Apache serverja. Poglejmo, kaj rabimo;
- uporabimo XAMPP za Winse, seveda za pravo verzijo.
- predvidevam, da ste nastavili Apache; pri namestitvi XAMPPja se parametri Mercury v osnovi že prednastavijo
- odprite XAMPP kontrolno ploščo, poženite Mercury in odprite Admin panel
- izklopite HTTP server Mercuryja da se ne bo kregal z Apačejem: "Configuration" -> "Protocol modules" onemogoči "MercuryB HTTP web server"
- če ne potrebujete "Mercury IMAP4rev1 server", izklopite tudi tega
- za pošiljanje zunanjih mejlov onemogočite "MercuryE SMTP end-to-end delivery client" in
- omogočite "MercuryC SMTP relaying client"
- potrdite in restartate Mercury
Nastavitev Mercuryja
- "Configuration" -> "Mercury core module", "General"
- pošiljali bomo iz localhosta, zato v oknu "internet name for this system" vpišemo "localhost"
- izklopimo "Broadcast notification..."
- izklopimo drugi "Broadcast notification ..."
- vklopimo "Send copies..."
- izklopimo "Change..."
- izklopimo "Supress..."
- izklopimo "Hard to..."
Preklopimo na list "Local domains"
- če ni vpisano,dodaj "localhost" v Local host or server in "localhost" v Internet name. Potrdi.
Nastavitev MercuryS SMTP Serverja za izhodne majle:
- izberi "Configuration" -> "MercuryS SMTP Server"
- list "General", dodaj ime za tvoj SMTP server pod "Announce myself as"
- pod "Listen on TCP/IP port" vpiši SMTP port (običajno 25)
- dodaj loklalni IP "127.0.0.1" v "IP interface to use"
- pod "Connection Control" izberi "Add restriction" in dodaj IP range od "127.0.0.1" do "127.0.0.1"
- izberi in potrdi "Allow connections", ostale opcije pusti nepotrjene in potrdi
Nastavitev MercuryP POP3 serverja:
- "Configuration"-> "MercuryP POP3 Server", izberi list "General"
- v "Listen on TCP port" vnesi "110" and "IP interface to use" vnesi "127.0.0.1"
- izberi list "Connection control"
- pod "Connection Control" izberi "Add restriction" in dodaj IP range od "127.0.0.1" do "127.0.0.1"
- potrdi
Nastavitev "MercuryC SMTP Client"
- odpri "Configuration" -> "MercuryC SMTP Client"
- za pošiljanje na zunaji naslov rabite zunanji SMTP server. Če imate zunanjega gostitelja, imate tudi dostop do zunanjega SMTP serverja, na primer pri Siolu.
- pod "Smart host name" vpiši naslov zunanji SMTP, za siol torej "mail.siol.si"
- pod "Connection port/type": za običajen SMTP "25" in "Normal (no SSL encryption)"
- če dostopate preko SSL, bo port 465 in "SSL encryption using direct connection"
- vnesete še "Login username" in "Password" za dostop do vašega ponudnika
Vnesete še uporabnike:
- "Configuration"-> "Manage local users"
- vnešena morata biti "Admin" and "postmaster", oba z administratorskimi pravicami
Še konfiguracija za PHP za pošiljanje majlov s skriptami:
- poišči in odpri php.ini (običajno v "xampp/apache/bin/php.ini"
- pošiči "[mail function]"... in dodaj
"SMTP = localhost"
"smtp_port = 25"
"sendmail_from = postmaster@localhost"
- shrani in restartaj Apache
Še test:
- v Mercuryju izberi "File" -> "Send mail message" in pošlji majl na svoj naslov kje drugje
- nastavi si lego oken na "Window" -> "Tile"
- v oknu "Mercury Core Process" bomo videli naš testni majl kot:
"10:20:51 JOB 99999: from postmaster@localhost (local) To: jest@siol.com (non-local) (JOB 99999) -OK"
- v oknu "Mercury SMTP client (relay version)" bo:
"10 Dec 2009 10:12, Servicing job 99999 ...OK"
- če vidite to sporočilo, zadeva deluje.
Če zadeva ne deluje:
- napačni parametri povezave z zunanjim SMTP serverjem
- zunanji SMTP server ne dovoli 'relaying'; v tem primeru dobite sporočilo "SMTP server response: 553 We do not relay non-local mail, sorry." Pod MercuryS -> Connection Control -> " odznačite "Do not Permit SMTP relaying to non-local mail"

Čeprav sem v navodilu napisal domensko ime localhost, sem stvar preskusil tudi z eno od svojih domen, in seveda deluje tudi tako. Pokazalo se je, da je pametno pri več domenah na istem strežniku uporabit tisto, ki je vpisana v hosts in prva v apache virtual domenah.
Čeprav deluje pošiljanje sporočil preko Drupala, pa ne deluje preko drugih odjemalcev, kar pa je njihov problem. Če najdem napako, jo nakracam semkaj.