Linux command

Cách gửi mail từ server hay VPS CentOs ( Linux )

Mình mất 3h đồng hồ để tìm ra nguyên nhân vì sao server của mình lại không thể gửi mail đi đâu, cho dù đó là email gửi qua SMTP của Google thì cũng không thể nào.

Cuối cùng giải pháp nằm ở đoạn code cực kỳ đơn giản, nhưng khá nhiều bước, các bạn hãy chuẩn bị Putty để đánh dòng lệnh cho nó mau lẹ nhá, trước tiên:

Mở Firewall cho phép kết nối

SMTP sử dụng cổng 25 và cổng 587 để kết nối tới server, trong khi đó POP3 sử dụng cổng 110 và 995, IMAP sử dụng cổng 143 và 993, tất cả chúng đều phải được cho phép mới có thể chạy nhé.

Đầu tiên là mở Putty, đánh vào dòng lệnh này để mở file lên edit cho vui:

sudo nano /etc/sysconfig/iptables

Thêm đoạn lệnh này vào:

# Allows SMTP access
-A INPUT -p tcp --dport 25 -j ACCEPT

# Allows pop and pops connections
-A INPUT -p tcp --dport 110 -j ACCEPT
-A INPUT -p tcp --dport 995 -j ACCEPT

# Allows imap and imaps connections 
-A INPUT -p tcp --dport 143 -j ACCEPT
-A INPUT -p tcp --dport 993 -j ACCEPT

Bấm Ctr+O để lưu file lại, giờ gõ thử lệnh này, khởi động lại IPtables :

sudo /etc/init.d/iptables restart

Gõ  thử dòng này để kiểm tra:

sudo iptables -L

Nếu nó lên một đống thế này là thành công nha:

ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:smtp 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:pop3 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:pop3s 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:imap 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:imaps

Tiếp tục chưa xong !

sudo /etc/init.d/iptables save

Ta đã lưu rồi, nếu vẫn chưa gửi được email đi đâu ? Từ từ đã, nếu code gửi email của bạn báo lỗi này:

SMTP -> ERROR: Failed to connect to server: Permission denied (13)

Đồng nghĩa với việc cái thằng SElinux không cho phép bạn gửi email đó, hãy thử kiểm tra:

getsebool httpd_can_sendmail

Nó mà báo off là toi, cần phải bật nó lên bằng lệnh này:

setsebool -P httpd_can_sendmail 1

Và nó đã on:

Cấu hình và bật email SMTP trên server
Cấu hình và bật email SMTP trên server

Bây giờ gửi thử một email từ website của bạn xem sao nha, tới bước này mà còn không chạy nữa thì chịu 😀

Chúc các bạn thành công !

TÁC GIẢ:

Tôi là Jam, thâm niên 7 năm thiết kế website và làm SEO. Hãy theo dõi blog của tôi để nhận được nhiều chia sẻ thú vị xung quanh chủ đề công nghệ.

Có 3 bình luận !

  1. Chào bạn, mình đã đọc nhiều bài trên blog của bạn và rất bổ ích đối với mình.
    Bên mình đang dùng cái SMTP để gửi mail tự động nhưng khi dùng thì Google analytics báo tốc độ web rất chậm lên đến 14s còn khi ngừng kích hoạt nó thì tốc độ về mức 4s. Vậy có bị lỗi hay sao ko bạn nhỉ?

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *