Cài đặt chức năng send mail từ localhost

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
huytp's picture

Em gặp vấn đề khi code phần send mail.Do làm trên localhost nên không test mail được. Bác nào biết cách làm sao để cấu hình SMTP trên Drupal để send mail từ localhost không giúp em với. Trong Joomla việc này làm rất dễ bằng việc cấu hình từ back-end. Nhưng Drupal em chưa thấy ở đâu cả.
Thanks các bác nhiều.

Comments

Send Mail()

squallleonhart81's picture

Mình ko biết drupal ra sao nhưng nếu bạn xài Xampp thì trong xampp có mercury chính là 1 Mail Server, Để bật nó bạn dùng Xampp Control , nó là option thứ 4. Khi bật xong kế bên chữ start có chữ admin, bạn nhấp vào đó nó sẽ hiện 1 cửa sổ Mercury. Sau đó chọn Menu Configuration >> manager Local User. Đây chính là nơi quản lí các địa chỉ email nè. bạn vào Add để tạo Username và password. sau khi tạo xong bạn đã có 1 địa chỉ email username@localhost, pass=password của bạn. Giờ mình sẽ giải thích tí ở chỗ này, Mail server là nơi quản lí các tài khoản email, giống như Yahoo có Mail server với đuôi @yahoo.com, còn Mercury là @localhost, khi test email mà ko dùng online ( test offline) bạn cũng cần 1 Mail Server và Mercury là giải pháp cho offline thử. Giờ để check email offline thử bạn có thể tải chương trình Mozilla Thunderbird , nó giống như outlook của Microsoft để quản lí nhiều email của bạn thôi. Để khỏi nhầm lẫn, Mercury là Mail server giống như 1 database, còn Thunderbird như client. Tải chương Thunderbird xong, Chạy nó >> Create a new account >> Email account Next>> Your Name:(cái gì cũng được) _ Email Address:username@localhost ( cái này chính là tài khoản bạn tạo trong Mercury)>> POP _ Incoming Server: localhost _ bỏ dấu check Use Global Inbox>> cứ Next đến khi xong. Bây giờ bạn vào php.ini trong xampp/php tìm và sửa như thế này
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
Cuối cùng bạn có thể thử bằng 1 câu lệnh mail đơn giản ( nếu ko biết google search nhé), để test nếu nó hoạt động tốt thì khi ấn Get Email trong Thunderbird sẽ xuất hiện message mà bạn gửi tới email đó, bạn nên tạo 2 email trong Mercury rồi tạo 2 account trong thunderbird có email tương ứng với 2 email trong Mercury, send qua send lại mới vui ^^. ( GIỐNG NHƯ BẠN ĐĂNG KÝ 1 TÀI KHOẢN TRÊN YAHOO, thì do ở đây bạn đâu có web để đăng ký nên tạo chay trong Mercury ấy mà ^^). Good luck! chạy tốt thì mới đụng tới drupal

Thanks banj nhé. Mình

huytp's picture

Thanks banj nhé. Mình không dùng XAMPP mà cài đặt riêng từng cái một. php, mysql, php mình để trong một thư mục webserver. còn root mình để ở c:/www . Có cách nào khác không. mình có thử google search rồi nhưng tìm mãi mà không thấy. Có chỉnh sửa ở php.ini, nhưng khi chỉnh sửa thì chạy mãi không vào được localhost. lại phải sửa lại.

p/s : Anh Thế Hồng có biết không giúp em với ^^.

Cái này đơn giản, tìm

mrsinguyen's picture

Cái này đơn giản, tìm một server mail về cài vào là được, xong vào file php.ini khai báo thông số là xong.

Cài thế nào mrsinguyen

huytp's picture

Cài thế nào mrsinguyen chỉ em với được không? Giả sử có server mail như sau : mail.example-server.com và acc/pass :test@example-server.com/abc123.

Bạn dùng thử module:

nguyendhex@drupal.org's picture

Bạn dùng thử module: "SMTP Authentication Support" của drupal đấy, trong đó cho phép gửi email, một số patch của module này cho phép dùng các email như gmail để gửi.

Một cách khác để

thehong's picture

Một cách khác để chụp mail gửi đi là cài đặt module devel > config > chọn tuỳ chọn: log mail gửi đi. Mỗi lần drupal_mail được sử dụng, không có mail gửi đi, nhưng chúng sẽ được log lại, xem nội dung log ở watchdog.

--
Only local images are allowed.

Good place to hire Drupal experts