Cấu hình Mail cho Joomla

Joomla Mail SettingsCấu hình mail cho Joomla là một việc đơn giản nhưng quan trọng. Đây là việc làm cần thực hiện ngay sau khi cài đặt website, thậm chí ta nên tìm hiểu nó ngay từ khi mua host bởi một số host có thể có thay đổi ảnh hưởng tới việc gửi và nhận email của website. Việc này càng là quan trọng khi site của bạn là một hệ thống society cho phép nhiều thành viên đăng ký post bài, hoặc cao hơn nữa là sự liên lạc của khách hàng khi site của bạn thực hiện thương mại điện tử. Cách đây không lâu bên cung cấp host của Miso Blog có thay đổi một số cấu hình trên server, kết quả là liên quan tới toàn bộ hệ thống liên lạc qua mail của blog. Vì vậy mình quyết định viết bài này nhằm hệ thống lại những thông tin cơ bản và giải thích rõ ràng các tuỳ chọn cũng như chức năng trong việc cấu hình gửi/nhận email của Joomla.

Tác dụng của chức năng tự gửi-nhận mail trên mỗi Website

Mỗi một server (nơi mà ta được chia sẻ hosting hoặc làm chủ một server riêng để cài đặt ứng dụng Web), đặc biệt là server Linux đều có sử dụng một chức năng cho phép ứng dụng Web có thể gửi và nhận thông tin qua email khi phát sinh nhu cầu liên lạc giữa người dùng và website. Chức năng này cụ thể cho phép:

  • Người dùng website nhận được email tự động thông báo, hoặc email kích hoạt... khi đăng ký thành viên
  • Khách hàng nhận được email xác nhận đã đặt mua hàng hoặc thông tin mua hàng... khi hoạt động thương mại trên Internet
  • Thành viên của website nhận email thông báo khi có người trả lời comment của mình tại một bài viết đã tham gia
  • Người quản trị website nhận mail thông báo, mail liên lạc, đơn đặt hàng qua mail... từ phía người dùng website
  • ...

Chức năng này cho phép ta gửi email chứa thông tin cần thiết tới đối tượng nhận một cách tự động, với tên mail, tên người gửi có thể tuỳ chọn.

Ý nghĩa các thông tin cần khai báo trong Joomla Mail Settings

Thông thường, cấu hình mail được Joomla tự động tạo lập ngay từ những bước cài đặt đầu tiên. Nghĩa là ngay sau khi site cài đặt xong là đã có thể gửi/nhận email bình thường. Mặc định cấu hình mail sẽ như sau:

Ở Administration Page, vào Site → Global Configurations → Server → Mail Settings để cấu hình mail cho Joomla

Cấu hình mặc định của Joomla Mail Settings

Giải thích:

Mailer: Công cụ gửi mail đang sử dụng cho Website. Có 3 lựa chọn:

  • PHP Mail Function: Sử dụng hàm mail() sẵn có của PHP để gửi email đi
  • Sendmail: Sử dụng chương trình gửi mail riêng của server
  • SMTP Server: Sử dụng máy chủ SMTP riêng để gửi email đi

Mail from: Địa chỉ email sẽ được hiển thị (được hiểu là của người gửi) trong mỗi email gửi đi. Địa chỉ này là tuỳ chọn.

From Name: Tên người gửi hiển thị trong email gửi đi. Tên này là tuỳ chọn và mặc định Joomla lấy tên của Website.

Sendmail Path: đường dẫn (của máy chủ) tới thư mục chứa chương trình gửi mail. Cái này chỉ có tác dụng khi lựa chọn Mailer là Sendmail.

SMTP Authentication: Máy chủ SMTP có yêu cầu xác thực bằng tài khoản đầy đủ hay không. Mục này chỉ sử dụng khi lựa chọn Mailer là SMTP Server.

SMTP Security: Hình thức bảo mật của SMTP Server. Mặc định là None, nếu khác phải hỏi bên quản lý hosting.

SMTP Port: Cổng mạng mà máy chủ SMTP sử dụng

SMTP Username: tên tài khoản email đăng ký với máy chủ SMTP

SMTP Password: mật khẩu tài khoản email đăng ký với máy chủ SMTP

SMTP Host: địa chỉ (domain hoặc IP) của máy chủ SMTP

Bây giờ ta sẽ đi qua ví dụ trong từng trường hợp:

1. Sử dụng PHP Mail Function

Cách này là mặc định của Joomla mà cũng là cách đơn giản nhất. Chỉ cần khai báo Mail FromFrom Name, các mục khác có thể bỏ qua.

Các thông số cần thiết khi dùng PHP Mail Function

2. Sử dụng Sendmail

Cách này sử dụng chương trình gửi mail của chính server đang cài website. Cần khai báo thêm đường dẫn tới chương trình Sendmail của Server. Mặc định trên Linux luôn là usr/sbin/sendmail

Cấu hình của Sendmail

3. Sử dụng SMTP Server

Cách này sử dụng máy chủ SMTP riêng để gửi mail. Ta có thể lựa chọn SMTP Server là chính server đang cài website, hoặc SMTP Server bên ngoài (Gmail, SMTP Server khác mà ta biết...)

  • Để cấu hình cho việc sử dụng chính local SMTP Server, cần tự lập một tài khoản email trên host rồi khai báo thông tin tài khoản cần thiết, mục SMTP Host chọn là localhost, SMTP Port mặc định là 25 (nếu khác phải hỏi bên quản lý hosting):

Cấu hình để sử dụng local SMTP Server

  • Để cấu hình cho việc sử dụng Gmail là SMTP Server, khai báo tài khoản Gmail đã đăng ký và các thông số khác như sau:

Cấu hình để sử dụng Gmail SMTP Server


Tới đây hy vọng bạn đã hiểu rõ và có thể sử dụng tốt chức năng gửi mail của Joomla.

Lưu ý thêm:
  • Thông thường PHP Mail Function dễ sử dụng cũng như dễ khai báo nhất. Tuy nhiên cả trên Thế giới và một số nhà cung cấp Hosting ở Việt Nam vẫn thường disable hàm mail() trên server để chống spam và nâng cao bảo mật. Trong một số hiếm còn có trường hợp nhà cung cấp host gỡ bỏ cả chương trình Sendmail (tất nhiên những host này thì không nên chọn). Chính vì vậy cần vận dụng tốt giữa 3 lựa chọn Mailer, và thường thì sử dụng SMTP Server là an toàn nhất.
  • Để kiểm tra xem server có bị nhà cung cấp disable hàm mail() hay không, ở Administration Page vào Help → System Info → PHP Settings → kiểm tra ở mục 'Disabled Functions' xem có mail trong danh sách các hàm bị cấm không.
  • Các thông tin trong bài viết này áp dụng cho Joomla 1.5.x về sau.
  • Tham khảo thêm về Joomla Global Configuration



Hứng thú với những bài viết trên MisoBlog? Hãy thử đăng ký nhận tin mới qua email, hoặc chia sẻ bài viết bằng thanh công cụ dưới đây.
Email Twitter Facebook Myspace Stumbleupon Digg Delicious Technorati blogger google reddit Yahoo

Comments  

HiTheSunat 2010-06-23 19:10#
Xem ra Miso nghiên cứu Joomla sâu dữ àh nghen :D Thích cách trình bày bài viết :) 9.5/10
Reply
Misoat 2010-06-24 14:01#
Thank Sun nhiều :D Đây cũng chỉ là những điều cơ bản thôi mà, viết ra còn sợ hơi thừa :P
Mình đang cố gắng để trình bày bài viết gọn gàng hơn, từ trước tới nay viết bài lộn xộn dữ quá ^^!
Reply
HiTheSunat 2010-06-24 18:59#
Trình bày vậy là ok lắm rồi ^^! các mục rõ ràng mà. Chúc Miso có nhiều bài "chất" nữa nhé \m/
Reply
HiTheSunat 2010-06-28 12:08#
Thích cái ảnh background và cái footer \m/ . Vẫn chưa có Guest Book nhỉ :-? . Miso gắn nhanh nhanh không thôi người ta tưởng Sun spam comment thì khổ :D
Reply
Misoat 2010-06-29 06:25#
Cái footer phải mất cả buổi tối mới làm xong đấy ^^!
Hì, tạm thời Sun spam 1 tý vậy. Mình cũng thử rồi nhưng mà chưa có cái Guestbox nào hợp lý cả, khó ghê :D
Reply
HiTheSunat 2010-06-30 16:24#
Uh hén quên mất là Joomla khác hoàn toàn Wordpress. Wordpress chỉ cần add page mới là xong ^^ Thôi spam tạm vậy keke
Reply
Misoat 2010-07-01 10:01#
Hihi, thực ra Joomla cũng add page được cái roẹt. Nhưng mà khổ nỗi làm xong cái menu hoa lá cành thì hết chỗ trên menu luôn rồi. Mình đang nghiên cứu làm một cái Menu nữa ở chỗ nào đó đây, cũng có vài thứ cần cho lên nữa :D
Reply
HiTheSunat 2010-07-01 10:50#
Hehe cái này là tình trạng thiếu đất đây mà. Miso làm cái menu trượt ngang ở bên phải blog í, trượt ra vào trông cũng được :D
Reply
HiTheSunat 2010-07-03 19:23#
YH của Sun nè Miso ơi : redsky2013
Reply
Le Hoangat 2010-07-06 13:37#
hey. Chào bạn. bạn có thể chia sẻ theme của jcomments mà bạn đang sử dụng không.
Reply
Misoat 2010-07-06 14:33#
Chào bạn, mình sử dụng template Corporate 2 của Gavick.com, đã có sẵn JComments bên trong.
Bạn có thể tìm hiểu về theme của JComments trong template đó, hoặc download tại đây: www.mediafire.com/?zntzidjj1iz
Reply
Le Hoangat 2010-07-06 18:21#
Mình đã thử cài đặt và bật chết độ tree trong cpanel nhưng mà các reply khong thụt vào so với comment chính giống như trên blog bạn
Reply
Misoat 2010-07-07 08:41#
Bạn cài cái này: addons.mozilla.org/en-US/firefox/addon/60 vào Firefox sẽ thấy hết được CSS trên mọi trang web. Sau đó nếu muốn hãy xem qua file style.css trong site của mình.
Reply
rocksuat 2010-07-07 14:11#
Sau khi mình cấu hình SMTP Gmail trong Global Configuration thì khi user gửi mail ra ngoài thì lại mang tên user (email của admin)

Lổi này khắc phục thế nào vậy các bạn ?
Xin cám ơn nhiều.
Reply
Misoat 2010-07-07 15:40#
Bạn sử dụng Component nào để user gửi mail ra ngoài vậy? Bình thường sẽ chỉ hiện người gửi là nội dung khai trong phần 'From name' thôi.
Reply
rocksuat 2010-07-07 15:48#
Mình không sử dụng component nào cả, chỉ sử dụng thông số mặc định của joomla và làm như hướng dẫn như trên của bạn ? Bạn có đề nghị mình nên sử dụng component nào cho trường hợp này không ?
Cám ơn bạn rất nhiều
Reply
Misoat 2010-07-07 16:19#
Lạ nhỉ, nếu vậy thì sao user có thể dùng Joomla gửi mail ra ngoài được? Các user (kể cả Admin) chỉ có thể gửi mail lẫn nhau trong site, còn mail ra ngoài site là do hệ thống tự gửi khi đăng ký, gửi mail thông báo hoặc thanh toán mua hàng (vd Virtuemart).
Reply
rocksuat 2010-07-07 16:29#
Vì mình cấu hình SMTP Server bằng tài khoản Gmail của mình (VD: ) nên khi user đọc một cái article nào đó thấy hay mà muốn gửi đi đến cho người khác đọc thì trong email người đó thể hiện tên user và email của admin (VD: )
:)
Reply
Misoat 2010-07-07 16:49#
À mình hiểu rồi, vậy thì chắc bạn phải dùng thêm một plugin nào đó để share bài viết (như kiểu social bookmarking) và có luôn chức năng gửi mail đi. Như vậy nó phải có chỗ để input tên user (người gửi) vào. Vấn đề này không liên quan đến cấu hình mail rồi :)
Nếu vậy thì mình cũng chưa biết cách sửa ra sao nữa ^^! Bạn có thể cho mình xem site của bạn được ko?
Reply
rocksuat 2010-07-07 16:55#
Rất cám ơn sự hỗ trợ của bạn, đây là site của mình giotnang.info
Reply
Misoat 2010-07-08 07:10#
Mình biết vấn đề bạn nói ở đâu rồi, đó là component MailTo có sẵn trong Joomla. Tuy nhiên có thể đây là trùng hợp, vì khi ấn vào nút "Email" (là biểu tượng ở góc phải bên trên bài viết) để gửi mail cho bạn bè thì sẽ có một số trường để điền thông tin vào. Trong đó có trường "Your Email". Người nhận mail sẽ thấy email của người gửi là những gì được viết vào trường đó.
Có thể user đã khai email của chính Admin vào. Chứ không có chuyện nó tự động hiện mail của Admin đâu.
Còn cấu hình theo Gmail SMTP hay cách khác cũng ko liên quan đến vấn đề này bạn ạ. :)
Reply
rocksuat 2010-07-08 12:37#
cám ơn bạn nhiều nha :)
Reply
Vẫn Thứcat 2010-07-30 00:01#
Bài viết rất bổ ích. mình đang sài cái joomla khó quá đi.
Reply
Misoat 2010-07-30 08:43#
Bạn dùng Teline3 phải không? Trước đây mình cũng thử theme này nhưng sau khi đưa nội dung lên có vẻ load nặng quá nên thôi :)
Reply
bingoat 2011-06-16 23:32#
Cảm ơn bạn, bài của bạn rất hữu ích!
Reply
quynhngaat 2011-06-30 20:39#
tại sao mình lam theo như bạn chỉ mà trên host vẫn không gửi được mail ở phần liên hệ nhi? nó cứ thông báo là không thể thực thi chức năng gửi mail. giờ mình phải làm sao? hiện tại mình đang sử dụng gói joomla 1.5.23, cảm ơn!
Reply
Misoat 2011-07-01 08:45#
CÓ 3 cách để gửi mail từ Joomla như đã nói trong bài viết, không thể cùng lúc dùng cả 3 cách.

Cách mà bạn dùng là cách nào? Nếu sử dụng cách 1 và 2 thì có thể ko gửi được do server của bạn đã hạn chế.
Reply
quynhngaat 2011-07-01 13:29#
mình sử dụng cách 3 như sau:
Mailer: SMTP server
Mail from :địa chỉ mail mình đăng ký trên gmail của google
SMTP Authentication : yes
SMTP Security : none
SMTP Port:465
SMTP Username: địa chỉ mail mình đăng ký trên gmail của google
SMTP Password: pass mình đăng ký trên gmail của google
SMTP Host: địa chỉ này mình sử dụng của nhà cung cấp host mình đã mua.

mình đã làm sai bước nào vậy? thực sự nó bị lỗi gì nhỉ?
Reply
Misoat 2011-07-01 13:33#
SMTP Host: smtp.gmail.com

Bạn thử lại xem :)
Reply
quynhngaat 2011-07-01 14:04#
thực là hết cách rồi, không chạy được, em đang sử dụng joomla 1.5.23
Reply
Misoat 2011-07-01 16:07#
Đã reply email của bạn.
Reply
HamHocHoiat 2011-07-11 19:26#
Mình đã làm giống hệt như bạn đã nói. Mình sử dụng Sendmail không được thì lại sử dụng SMTP Server. Nhưng khi test lại thì đều không được. Nó thông báo là
Lỗi SMTP: không thể kết nối đến SMTP host.
Mình cũng chẳng biết phải làm thế nào nữa. Rất mong nhận được sự giúp đỡ của bạn!
Reply
Misoat 2011-07-11 22:17#
Bạn thử nói rõ ra bạn khai báo SMTP cụ thể thông số như thế nào?
Nó đã báo là ko thể kết nối đến SMTP host, nghĩa là: ko thể kết nối tới SMTP host :D chắc chắn thông số khai báo có vấn đề thôi.
Reply
quynhngaat 2011-07-11 23:07#
nếu bạn chạy trên host thi` sử dụng cổng mặc định của nó là 25
và xem lại phần cấu hình FTP. vậy là ok.mình cũng đã làm vậy và chạy roài...
Reply
Hiệnat 2011-07-11 21:57#
Chào bạn, mình rất thích module chạy tin bài viết mới nhất của bạn, bạn có thể cho mình biết tên của module đó ko ? cảm ơn bạn, blog rất hay
Reply
Misoat 2011-07-11 22:18#
Module đó là News Pro GK4 :)
Reply
Phongat 2011-07-13 12:16#
Mình cấu hình y như bạn nói (phần dành cho gmail).
Không biết tại sao mình ko thể gởi mail trong phần Liên Hệ nhỉ.
Bạn có thể chỉ mình được không? (YM nick của mình là louischa2512)
Reply
HamHocHoiat 2011-07-21 10:11#
mình đã liên hệ với nhà host rồi. Họ cấu hình giúp mình gần giống như bạn hướng dẫn ở phần sử dụng chính local SMTP Server, chỉ khác một chút là:
- mail from: sendmail@vmclub .net
- SMTP usernam: sendmail@vmclub .net
- smtp host: mail.vmclub.net
Kết quá:
Nó vẫn gửi đến mail của người gửi bằng địa chỉ sendmail@vmclub .net, nhưng lại không gửi đến ban quản lý website, nên mình không biết được ai đã gửi cái gì cho mình, nội dung như thế nào.
Rất mong bạn giúp đỡ
Reply
Misoat 2011-08-20 10:13#
Nó gửi đến được người dùng có nghĩa là việc send mail đã OK, nếu không gửi đến admin chỉ có thể là việc khai báo hàm gửi mail trong source của Joomla có lỗi. Vấn đề này có thể do bản Joomla của bạn có vấn đề hoặc không hoàn chỉnh.
Reply
Nguyênat 2011-08-17 11:17#
Mình sử sụng SMTP gmail theo chỉ dẫn của bạn mà cũng ko được
Reply
Misoat 2011-08-20 10:15#
Cách làm bằng SMTP của Gmail mình nói là chính xác và đã thành công ở nhiều site. Tuy nhiên nó vẫn có hạn chế vào đường truyền tới server của gmail (hiếm). Bạn nên thử cách dùng chính SMTP của host đang dùng, như vậy chắc ăn hơn cả.
Reply
Trúcat 2011-08-20 09:57#
Bạn ơi, mình cũng làm giống bạn, nhưng màn hình của mình không hiện SMTP Port như hình bạn làm, mình vô đâu để mở cái này lên. Mọi người giúp mình với. Thanks nhiều!
Reply
Misoat 2011-08-20 10:17#
Bạn vào Administration → Site → Global Configurations → Server → Mail Settings để cài đặt những thông số cho mail Joomla.
Reply
dịch vụ seoat 2011-09-03 21:18#
bạn ơi

bạn có thể hướng dẫn mình , khi post 1 bài viết thì kích vào menu nó sẽ hiện ra bài viết đó dc ko ,mình làm mãi mà ko dc . help me
Reply
rongxauat 2011-11-09 14:43#
Bạn ơi,sao phần liên hê web mình để khách có thể gởi ý kiến cho mình,mình cấu hình hoài vẫn không gởi được vậy bạn,mình muốn gởi vào yahoo mail mình,hàm mail trong joomla mình đã bị disable rùi
Reply
Jimmyat 2011-11-27 19:38#
Miso ơi, minh đã dùng thử 2 cách của bạn hướng dẫn ở trên nhưng vẫn không send mail dc :
-Cách 1: mình đã xem trong phần 'Disabled Functions' ko có hàm mail trong đó nhưng vẫn gặp lỗi
-Cách 3: mình cấu hình đúng như bạn hướng dẫn, dùng smtp của gmail nhưng cũng bị lỗi ko liên kết dc với smtp host. Cấu hình của mình:
Mailer: SMTP server
Mail from : địa chỉ gmail của mình
SMTP Authentication : yes
SMTP Security : ssl
SMTP Port:465
SMTP Username: địa chỉ gmail của mình
SMTP Password: pass gmail
SMTP Host: smtp.gmail.com
Mình dùng host free của byethost, có khi nào là do host ko Miso ?
Reply

Wanna say something?