Cách chuyển từ MDaemon sang postfix.

Bài viết sau sẽ giới thiệu cách chuyển từ MDaemon sang postfix.

Cách làm việc của máy mail hiện tại:

mailserver.hostingcompany.com đang nhận mail cho cơ quan abc.com
Cơ quan dùng mailserver.hostingcompany.com để gởi mail đến khách hàng
MDaemon đang chạy để nhận và gởi mail

Cơ quan đang dùng modem để gởi và nhận mail.

Phần mềm sử dụng: postfix, fetchmail và wvdial trong bản VNLinux Secure (hoặc trong các bản Linux khác).

Giả sử cơ quan có domain là abc.commạng nội bộ là 192.168.1.0/24. Bên dưới là những việc cần làm sau khi đã có postfix (nhận và gởi mail), fetchmail (tải mail từ máy mail của ISP) và wvdial (chương trình quay số lên mạng) cài đặt.

1. Thêm người dùng nhận mail trên hệ thống:

Nếu bạn sử dụng VNLinux Secure thì có thể thêm nguời dùng bằng cách log in vào webtool, chọn “Quản lý hệ thống” để thêm người dùng. Nếu bạn dùng các bản Linux khác, gõ “useradd -m -s /bin/false id_người_dùng” và “passwd id_người_dùng” để gán mật khẩu.

-s /bin/false có nghĩa shell sử dụng là /bin/false, tức là người dùng sẽ không thể log in vào máy nhưng vẫn có thể nhận và gửi mail.

-m có nghĩa tạo các thư mục của người dùng trong /home/id_người_dùng nếu chưa có sẵn.

2. Đặt hostname cho máy là abc.com

3. Thêm vào /etc/postfix/main.cf những dòng sau:

mynetworks = 192.168.1.0/24

disable_dns_lookups = yes

relayhost = mailserver.hostingcompany.com

4. Tạo một script để tải và gởi mail:

Pollmail là một script sẽ thực hiện việc nhận và gởi mail. Script này được sử dụng trong trường hợp bạn đang dùng wvdial để nối lên mạng bằng modem mỗi nữa giờ để gởi và nhận mail. Trong script này, bạn sẽ cần thay đổi mailserver.hostingcompany.com thành địa chỉ của máy mail bạn đang dùng và đổi abc.com thành tên domain của bạn. Lưu script này lại với tên pollmail, gõ “chmod 755 pollmail” và đặt script này trong /usr/local/bin. Lưu ý: nếu bạn không dùng wvdial để nối lên mạng thì cần sửa lại dòng gần cuối cái tên chương trình bạn đang dùng (thay vì wvdial). Nếu không đường truyền của bạn sẽ không tự disconnect sau khi gởi và nhận mail.

5. Tạo cron job để tự động nối lên mạng mỗi nữa tiếng và thực hiện việc nhận và gởi mail sau 3 phút nối lên mạng

Bằng root, gõ crontab -e rồi bỏ những dòng này vào:

00,30 * * * * /usr/bin/wvdial

03,33 * * * * /usr/local/bin/pollmail

6. Dùng fetchmail để nhận mail từ mailserver.hostingcompany.com. Script pollmail ở trên sẽ làm chuyện này. Tuy nhiên bạn cần khai báo nội dùng của ~/.fetchmailrc như bên dưới.


set no bouncemail

set logfile “/var/log/fetchmail”

set postmaster your_id@abc.com

set daemon 0

poll mailserver.hostingcompany.com with protocol pop3, with options

localdomains abc.com

no dns

envelope Envelope-to

user “id_để_login_pop” there with password “mật_khẩu” is * here

with options rewrite mimedecode fetchall pass8bits

antispam -1

* Thay đổi những giá trị này cho phù hợp với tài khoản của bạn

Với cách cấu hình fetchmail bên trên, messages khi tải về sẽ tự động vào hộp mail của người dùng. Nếu mail vì lý do gì đó bị từ chối thì sẽ gởi đến postmaster. Ở đây postmaster là your_id@abc.com.

Trong thời gian thử nghiệm, bạn có thể chạy cả 2 máy (MDaemon và Postfix) cùng lúc và nhớ đổi .fetchmailrc bên trên, thay vì fetchall trong dòng “with options…” thì thế bằng chữ “keep”. Nghĩa là khi fetchmail bắt đầu chạy, thông điệp vẫn được giữ lại trên máy chủ để MDaemon lấy về (đây chỉ là trong thời gian thử nghiệm). Khi bạn cảm thấy máy mail postfix đã hoạt động tốt, thay chữ “keep” thành chữ “fetchall” để fetchmail sẽ lấy hẵn về các messages (máy mailserver.hostingcompany.com sẽ không còn những messages này sau khi fetchmail chạy).

Nếu bạn đang sử dụng ADSL, sửa lại script pollmail để khỏi kiểm tra việc đường truyền pppd đang có và việc “hang up” pppd (trong script này wvdial đã được sử dụng). Đồng thời, không cần phải tạo cron job để nối lên mạng mỗi nữa giờ như hàng đầu số 5. bên trên.

Xin lưu ý: đừng quên tạo người dùng trên máy postfix. Nếu không mọi thông điệp sẽ gửi đến postmaster.

Bạn có thể đọc thêm bài giới thiệu về các lệnh căn bản của Postfix để biết cách sử lý thông điệp trong queue.

Bạn có thể theo dõi hoạt động của postfix bằng cách gõ tail -f /var/log/mail.log tại console. Để thoát, nhấn Ctrl-C.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: