Chào tất cả các bạn, nhiều bạn sau khi cài phần mềm gửi mail trên máy tính nội bộ để gửi mail từ nhà ra thế giới thì không gửi được, dùng các script send mail cũng không được. Cài đặt môi trường PHP, máy chủ ảo để chạy các chương trình gửi mail cũng đều không có tác dụng, nguyên nhân chính không gì khác đó chính là do ISP (nhà cung cấp dịch vụ Internet) chặn cổng gửi mail. Trong đó phổ biến nhất là Port gửi mail 25 và Port nhận mail 110.
Mà nếu đã bị Block, sau khi bạn liên hệ bên nhà cung cấp dịch vụ mạng, nếu bạn được đặc cách mở Port hoặc tính thêm phụ phí để mở các Port cần thiết để gửi nhận mail thì sẽ không thành vấn đề. Tuy nhiên nếu ISP của bạn vẫn từ chối thì cách tốt nhất đó là hãy sử dụng những dịch vụ trung gian để bạn có thể gửi và nhận mail bình thường. Việc Block Port gửi mail 25 thường là để hạn chế Spam và các nhà mạng có lý do này để chặn các Port này.
Một cách để kiểm tra Port 25 có bị chặn hay không các bạn có thể dùng lệnh telnet (trên MacOS và Linux cũng tương tự):
telnet ten_mien_cua_ban 25
Tuy nhiên bạn cũng có thể tự kiểm tra bằng IP của máy chủ:
telnet IP_maychu 25
Đối với thiết lập tại nhà, điều bạn cần làm là mở Port cho Modem/Router trước, nếu bạn chưa mở Port thì mặc dù IPS có không block Port này thì vẫn nhận kết quả là Port bị block.
Vậy làm thế nào để gửi mail ra ngoài trong khi bạn bị chặn Port 25? Tất nhiên phương thức này hoạt động theo mô hình bạn sẽ gửi email của bạn đến bên trung gian thông qua một Port nào đó ấn định sẵn mà không bị chặn chẳng hạn như Port http (80) hoặc là https (443) hoặc một Port nào đó bên trung gian cung cấp.
Rất may mắn đó là các bạn có thể sử dụng các dịch vụ từ bên thứ 3, nổi trội nhất đó chính là Google App để gửi mail. Mà mình cũng muốn nói với các bạn rằng chúng ta đang thiết lập để hệ thống của chúng ta gửi mail (như gửi mail xác nhận cho thành viên, thông báo bài viết mới, tìm lại mật khẩu, các thư quảng cáo,…) chứ không phải là chúng ta gửi mail cá nhân. Việc gửi nhận mail cá nhân với tên miền riêng bạn có thể lựa chọn các dịch vụ như:
- Zoho Mail (miễn phí và có phí nếu muốn nâng cấp)
- Yandex Mail (miễn phí và có phí nếu muốn nâng cấp)
- Gsuite (dịch vụ của Google có tính phí).
Trên các nền tảng khác thì mình chưa rõ lắm vì mình chưa tìm hiểu kỹ, nhưng đối với WordPress, bạn có thể cấu hình để gửi mail thông qua Google API Gmail/Gsuite sử dụng phương thức xác thực oAuth.
Bạn có thể tham khảo mã nguồn Post-SMTP trên Github.
Với WordPress bạn có thể sử dụng Plugin Post SMTP Mailer/Email Log
Ngoài ra bạn cũng có thể sử dụng các dịch vụ sau để gửi Email khi bị khóa Port 25 bằng cách sử dụng một Port ấn định khác mà bạn không bị Block như:
- AuthSMTP (Port 23, 26 hoặc 2525)
- turboSMTP
- Amazon Simple Email Service (Amazon SES)
- MailGun
- …còn rất nhiều nữa các bạn có thể xem các đánh giá trên mạng để lựa chọn nào phù hợp nhất với bạn nhé.
Chúc các bạn thành công!