10/10/2018, 10:10

[TUT] PHP - Gửi email từ localhost bằng Mecury Mail

Hi all,
Việc gửi mail từ localhost sẽ trở nên dễ dàng với bộ công cụ XAMPP.
http://www.apachefriends.org/en/xampp.html
Ở đây tôi trình bày việc cấu hình gửi email từ localhost sử dụng công cụ MercuryMail có sẵn trong XAMPP.
Sau khi tải về, bung nén chẳng hạn vào E:xampp => Bạn có E:xamppxampphtdocs.
Mở thư mục E:xamppxamppMercury Mail, tìm file MERCURY.INI và dán đè code sau vào:
Code:
#  MERCURY.INI generated by Mercury Setup
#
#
#  Sample Bindery Mode MERCURY.INI file (in fact, the one I use on
#  my production server). This one implements most of the possible
#  switches for each module, but you can edit it to do less if you
#  wish. All the fields shown below are described in the file
#  MGUIDE.HLP which is supplied in the Mercury archive.
#
#  Anything after a '#' to the end of the line is a comment and
#  is stripped out before parsing. Trailing and leading whitespace
#  is also stripped before parsing. Many sample commands have been
#  left in this file commented out for reference purposes.
#

[General]
myname:          localhost    # Canonical name for this server
timezone:        +0000    # Time Zone to add to date fields
file_api:        1    # Use the file api instead of queues
mailqueue:       E:XAMPPXAMPPMERCURYMAILQUEUE    # Where mail should be put for delivery
smtpqueue:       E:XAMPPXAMPPMERCURYMAILQUEUE    # Where the SMTP client should look for mail
newmail_path:    E:XAMPPXAMPPMERCURYMAILMAIL~N    # Where to find the users' WinPMail mailboxes.

[Protocols]
E:XAMPPxamppMERCURYMAILmercurys.dll
E:XAMPPxamppMERCURYMAILmercuryc.dll
E:XAMPPxamppMERCURYMAILmercuryp.dll
E:XAMPPxamppMERCURYMAILmercuryd.dll
E:XAMPPxamppMERCURYMAILmercuryx.dll
E:XAMPPxamppMERCURYMAILmercuryh.dll
E:XAMPPxamppMERCURYMAILmercuryw.dll
E:XAMPPxamppMERCURYMAILmercuryi.dll


[Mercury]
failfile:      E:XAMPPxamppMERCURYMAILMercuryFAILURE.MER    # Delivery failure notification template
confirmfile:   E:XAMPPxamppMERCURYMAILMercuryCONFIRM.MER    # Delivery confirmation template
aliasfile:     E:XAMPPxamppMERCURYMAILMercuryALIAS.MER    # System-wide alias file
synfile:       E:XAMPPxamppMERCURYMAILMercurySYNONYM.MER    # User synonym database
listfile:      E:XAMPPxamppMERCURYMAILMercuryLISTS.MER    # List of lists
logwidth:      30    # Width of address fields in logfile
retpath:       1    # Do/Don't use 'return-path' for errors
maxhops:       30    # Used to detect mailing loops
gullible:      0    # If NZ, don't validate 'From' fields
bitnethost:    cunyvm.cuny.edu    # Relay host for '.bitnet' rewrites
poll:          10   # Seconds between queue polling cycles
scratch:       E:XAMPPxamppMERCURYMAILScratch    # Where we can write temp files
returnlines:   15    # How many lines of failed messages to return
postmaster:    Admin    # NetWare UIC of postmaster
broadcast:     1    # Yes, we want broadcast notifications, but
receipts:      0    # ... no broadcasts for receipt confirmations
PM_notify:     1    # Do/Don't send errors to the postmaster
change_owner:  1    # Change message ownership to recipient
auto_tzone:    1    # If NZ, obtain timezone information from OS
LogLevel:      15    # System message reporting level
LogMax:        100    # Maximum number of system messages to store
RetryPeriod:   30    # Period between job retries (minutes)
MaxRetries:    16    # Maximum number of times a job can fail
TwoPasses:     1    # If NZ, process submission queue in 2 passes
Autoaddress:   0    # If NZ, auto-generate user addresses based on name
Daily_exit:    0    # If NZ, auto-restart each day after maintenance
No_Areply:     0    # If NZ, disable automatic replies system-wide
Alt_Forward:   0    # If NZ, allow alternate forwarding specification
Maint_hour:    2    # Hour for daily maintenance (24-hour clock)
Maint_min:     0    # Minute for daily maintenance
Retry_Mode:    0    # If NZ, use progressive backoff for queue retries
Local_DSNs:    1    # If NZ generate Delivery Status for local users only
DSN_time1:     10800    # Seconds deferred before first DSN is sent
DSN_time2:     86400    # Seconds deferred before second DSN is sent
DSN_time3:     259200    # Seconds deferred before third DSN is sent
Host_in_title: 0    # If NZ, show hostname in system tray and taskbar

[MercuryC]
Host : smtp.gmail.com
Failfile : E:XAMPPxamppMERCURYMAILMercuryFAILURE.MER
HELO : JMB
Poll : 30
Scratch : E:XAMPPxamppMERCURYMAILMercury
ReturnLines : 15
Timeout : 30
ESMTP : 1
Server_Port : 465
SMTP_Username: mercurymailtester@gmail.com
SMTP_Password: testandmad
SMTP_ConnFlags : 8
POP3_Auth : 0
Log_Verbose : 0

[MercuryE]
Poll : 15
Timeout : 60
# Session_logging : o:mailmercurymelogs
# Session_logmode : 1
# Nameservers : 139.80.64.1

[MercuryD]
scratch              :     E:XAMPPxamppMERCURYMAILMercury
# Timeout : 30
# Poll : 120               # How often to check hosts for new mail (seconds)

[MercuryS]
Debug : 1
Logfile : E:XAMPPxamppMERCURYMAILLogsMERCURYS.LOG
Timeout : 30
Relay : 1
Strict_Relay : 0
Allow_Illegals : 0
SMTP_Authentication : 0
Compliance_Settings : 0
Maximum_Failed_Rcpts : 4
Max_Relay_Attempts : 4
SSL_Mode : 0
ST_Blacklisting : 288
No_VRFY : 0
SMTP_ConnFlags : 0

[MercuryP]
Scratch : E:XAMPPxamppMERCURYMAILMercury
Stack : 32768
Mark_Read : 1
SSL_Mode : 0
Login_Disabled : 0
Timeout : 60

[MercuryX]
# Cmd_Delay: 10
# Cmd_Wait: 1
# IE4_Dialling: 0
# Use_ETRN: 1
# Clients_only: 1
# Sunday: 0800,1800,3,15,30,60
# Monday: 0830,2100,5,15,60,60
# Tuesday: 0830,2100,5,15,60,60
# Wednesday: 1500,1900,2,30,5,30
# Thursday: 0900,1900,2,30,0,0
# Friday: 0830,2100,5,15,60,60
# Saturday: 1031,1035,2,45,-1,0

# [Groups]
# testgroup            :     TESTGRP

[Domains]
localhost: localhost
localhost: localhost.net
localhost: localhost.org
localhost: localhost.com

[Maiser]
Maiser:          Maiser   # 'Username' of mail server account
Helpfile:        E:XAMPPxamppMERCURYMAILMercuryMAISER.HLP   # Help sent on failed maiser requests
Lookupfile:      E:XAMPPxamppMERCURYMAILMercuryMAISER.LKP   # Format file for the 'lookup' command
Send_dir:        E:XAMPPxamppMERCURYMAILMercurySENDABLE   # Directory for the 'send' command
Logfile:         E:XAMPPxamppMERCURYMAILLogsMAISER.LOG   # Mail server log file
Notify:          E:XAMPPxamppMERCURYMAILMercuryTMP   # Dir. for pending 'notify' commands
NoList:          N   # If 'Y', disable the 'list' command
Local_only:      Y   # If 'Y', local 'notify' commands only

[MercuryH]
Logfile              :     E:XAMPPxamppMERCURYMAILLogsMERCURYH.LOG
# Addressbook : \CLIOSYSSYSTEMMERCURYPH.PMR
# MOTD : \CLIOSYSSYSTEMMERCURYPH-MOTD.TXT
# Administrator : postmaster@clio.pmail.gen.nz
Timeout : 30

[MercuryI]
Scratch : E:XAMPPxamppMERCURYMAILSCRATCH
Timeout : 120
Server_Port : 143
Idle_Timeout : 1800
SSL_Mode : 0
Login_Disabled : 0

[MercuryB]
Scratch : E:XAMPPxamppMERCURYMAILSCRATCH
# Logfile : o:mail	mpmercuryb.log
Timeout : 120
Server_Port : 80
# Session_logging : o:mailmercurymblogs
# Session_logmode : 0
Idle_Timeout : 1800
# URL_Base : enter_your_domain_here
[Groups]

[Rewrite]

[Statistics]
StatFlags:    0  # Statistical reporting settings
STF_Hours:    24  # How often to write stat log files
STM_Hours:    24  # How often to e-mail stat log files
Đặc biệt chú tâm đoạn code sau:
Code:
[MercuryC]
Host : smtp.gmail.com
Failfile : E:XAMPPxamppMERCURYMAILMercuryFAILURE.MER
HELO : JMB
Poll : 30
Scratch : E:XAMPPxamppMERCURYMAILMercury
ReturnLines : 15
Timeout : 30
ESMTP : 1
Server_Port : 465
SMTP_Username: mercurymailtester@gmail.com
SMTP_Password: testandmad
SMTP_ConnFlags : 8
POP3_Auth : 0
Log_Verbose : 0
Bạn có thể thay những thông số này bằng Gmail của bạn nếu cần.
Sau đó nhớ dùng XAMPP Controller start Mercury Mail (ở dưới cùng trong 4 cái), và test thử các hàm mail như trình bày ở:
PHP - Gửi email định dạng HTML có attachment
Đây là hướng dẫn cơ bản, chi tiết hơn sẽ đến khi mình có nhiều thời gian hơn. Bạn nào có thời gian thì viết giúp hướng dẫn đầy đủ nhé.
Thân mến.
zoejoe viết 12:12 ngày 10/10/2018
Kool qué hehe lần trước em cũng có tìm hỉu cái nì, nhưng mà vẫn chưa xong, để thử coi seo
tiendx2002 viết 12:16 ngày 10/10/2018
Được gửi bởi zoejoe
Kool qué hehe lần trước em cũng có tìm hỉu cái nì, nhưng mà vẫn chưa xong, để thử coi seo
Nếu em cài vào thư mục khác thư mục như nói trên thì nhớ replace all đường dẫn của code đã cho nhé.
Thành công thì chia sẻ, khúc mắc YIM.
Thân mến.
zoejoe viết 12:20 ngày 10/10/2018
Khôgn biết có cách nào tích hợp mercury vào Vertrigo Serv không hả anh. Nhà em đang chạy Vertrigo, cái này chạy khá ổn định, em hông nở bỏ nó
tiendx2002 viết 12:26 ngày 10/10/2018
Được gửi bởi zoejoe
Khôgn biết có cách nào tích hợp mercury vào Vertrigo Serv không hả anh. Nhà em đang chạy Vertrigo, cái này chạy khá ổn định, em hông nở bỏ nó
Câu trả lời là có
http://www.pmail.com/downloads_nz_t.htm
Tải cái Mercury Mail và cài lên thư mục, nhớ cài full và sửa các thông tin trong file INI của nó ở phần Mercury C (đơn giản nhất là copy đè và replace all đường dẫn).
Thử như vậy đã, có tin mừng thì thông báo.
Thân mến.
zoejoe viết 12:26 ngày 10/10/2018
Được gửi bởi tiendx2002
Câu trả lời là có
http://www.pmail.com/downloads_nz_t.htm
Tải cái Mercury Mail và cài lên thư mục, nhớ cài full và sửa các thông tin trong file INI của nó ở phần Mercury C (đơn giản nhất là copy đè và replace all đường dẫn).
Thử như vậy đã, có tin mừng thì thông báo.
Thân mến.
Awesome!! Tuyệt như chưa bao giờ tuyệt hơn
hihi, chạy hoàn hảo lắm. Rất good! Thư gửi đi đúng inbox, không vào spam Ai có ý tưởng hay có 1 database email rộng lớn, đề nghị share cho mọi người đi spam chơi

PS (nói chơi ai làm thiệt bị gì em hem chụi trách nhiệm đâu đóa)
khucthuydu viết 12:21 ngày 10/10/2018
Cám ơn bạn nghen , mail nông rất hay
http://agriviet.com/mailnong.php
zoejoe viết 12:13 ngày 10/10/2018
Được gửi bởi khucthuydu
Cám ơn bạn nghen , mail nông rất hay
http://agriviet.com/mailnong.php
Nói gì thía, hiểu con bác
herofit viết 12:21 ngày 10/10/2018
Được gửi bởi zoejoe
Nói gì thía, hiểu con bác
khucthuydu quảng cáo tí mà he he
conan218 viết 12:17 ngày 10/10/2018
Mình đã làm theo và test rất là Ok
http://bacong.net/myblog/programming...%AB-localhost/
Bài liên quan
0