Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Cấu hình mail server Exim 4 gửi mail khi bị chặn port 25 trên các Cloud VPS

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Cấu hình mail server Exim 4 gửi mail khi bị chặn port 25 trên các Cloud VPS

    Cloud VPS

    Ở một số dịch vụ cloud vps như google hoặc azure, amazon... Các vps đa phần đều bị chặn port 25, đây chính là nguyên nhân khiến cho ta không thể gửi mail sang các dịch vụ khác như gmail, yahoo được. Nếu ta cấu hình thay đổi port gửi mail thì đa phần các dịch vụ đó cũng không nhận được.

    Chính vì thế, chúng ta sẽ cấu hình để exim gửi mail bằng port 587 đến một server trung gian như mailgun, sendgrid... (ở đây mình dùng sendgird).

    Sau đây là cách cấu hình exim 4 trên centos 6.7:

    Đầu tiên, ta cần vào sendgrid.com, đăng kí một account miễn phí. Ta sẽ sử dụng gói miễn phí của sendgird, tuy rằng là gói miễn phí nhưng vẫn đủ cho cá nhân hoặc một nhóm nhỏ sử dụng. Tham khảo thêm các gói cao cấp hơn tại: https://sendgrid.com/pricing

    Tiếp theo, ta backup cấu hình cũ của exim để khi sai có thể restore lại:

    cp /etc/exim/exim.conf /etc/exim/exim.conf-bkup

    Mở file cấu hình của exim 4:

    nano /etc/exim/exim.conf

    Tìm:

    host_lookup = *

    Thêm dòng sau vào bên dưới:

    auth_advertise_hosts = *

    Tìm dòng:

    begin authenticators

    Thêm các dòng sau vào bên dưới:

    sendgrid_login:
    Driver = plaintext
    public_name = login
    client_send = : sendgridusername : sendgridpassword


    * Trong đó: sendgridusernamesendgridpassword là username và password của account sendgrid mà ta đã đăng kí.

    Tìm:

    begin routers

    Thêm các dòng sau vào bên dưới:

    send_via_sendgrid:
    Driver = manualroute
    domains = ! +local_domains
    transport = sendgrid_smtp
    route_list = "* smtp.sendgrid.net::587 byname"
    host_find_failed = defer
    no_more


    Tìm:

    begin transports

    Thêm vào bên dưới:

    sendgrid_smtp:
    Driver = smtp
    hosts = smtp.sendgrid.net
    hosts_require_auth = smtp.sendgrid.net
    hosts_require_tls = smtp.sendgrid.net


    Save lại và khởi động lại exim bằng lệnh:

    /etc/init.d/exim restart

    Sau khi cấu hình xong, exim đã có thể gửi mail ra ngoài thông qua sendgrid. Khi check mail ta sẽ nhận được email có dạng như sau:

Working...
X