米娅 2010年7月26日 20:43:13
MTS = Mail Transform System
I installed XAMPP on my notebook running Windows Vista. XAMPP includes Mercury Mail. I want to email mails by Mercury to the external mailbox, such as hotmail or gmail.
At the beginning, I only can send emails to a local address. I spent almost two days on it and finally made it work. Here I write down the steps to share.
Here is Mercury/32 v4.72 and the steps are as follows:
1, start Mercury; I can't start it on my XAMPP panel. I go to the folder MercuryMail, and click mercury.exe to start it;
2, go to "Configuration" -> "Protocol modules", disable "MercuryB HTTP web server" -- it's said it can confict with the apache, "Mercury IMAP4rev1 server" -- this one may be not needed so disable it, "MercuryX connection and process scheduler" -- this one can make "Mercury SMTP Client" module offline, and the mail can't be delivered;
3, disable "MercuryE SMTP end-to-end delivery client" and enable "MercuryC SMTP relaying client" -- so the external mail can be delivered;
4, go to "Configuration" -> "Mercury core module" -> "Gerneral":
Internet name for this system: localhost
For the checkboxes beneath, only "Send copies of all errors to postmaster" is checked
under the tab "Local domains":
Local host or server Internet name
Then click "ok" and leave the window.
5, go to "Configuration"->"MercuryS SMTP Server", under the tab "Gerneral":
Announce myself as: here you can give any name
Listen on TCP/IP port: 25
IP interface to use: 127.0.0.1
click "ok" and leave the window.
6, go to MercuryP POP3 Server, under the tab "General":
Listen on TCP port: 110;
IP interface to use: 127.0.0.1
quite the dialog by clicking "OK".
7, go to MercuryC SMTP Client, which is most important.
enter the address of a SMTP under "Smart host name", for example, smtp.gmail.com or mail.somedomain.com;
if you put smtp.gmail.com, the username and password are your email address and email address password;
if you have a webspace online, the web hosting provider will give you one like mail.somedomain.com. Then the username and password is your username and password for that webspace;
For the connection port/type, "normal" doesn't work for me. I choose "SSL encryption using direct connection" and port 465;
when a mail message is sent with smtp.gmail.com, if the hint "connecting smtp.*.*" can be seen on the "Mercury SMTP Client (relay version)" window, generally, it doesn't work correctly. If it works well, the process is quite fast and you can't see this hint.
Now, you can restart Mercury and then go to file -> send mail message... to send a message to your external emailbox; if you want it to do quick, go to "Mercury Core Process" and Mercury SMTP Client (relay version)" Windows and click "Poll now" to force poll.
It's said, to this in php script, the php.ini needs to be configure as follows:
"SMTP = localhost"
"smtp_port = 25"
"sendmail_from = postmaster@localhost"
The function like this:
mail('**@gmail.com', 'Mercury test mail', 'If you can see this, everything is fine!');
I will try it tomorrow.