Cấu hình Exim để gửi email qua Gmail

Chúng ta sẽ xem cách cấu hình Exim4 để gửi email hệ thống qua Gmail. Điều này sẽ đảm bảo rằng các email bạn gửi bằng CRON của mình được định tuyến chính xác và không rơi vào thư mục spam.

Hãy cài đặt Exim4

apt-get install exim4

Cấu hình

dpkg-reconfigure exim4-config

Chọn: mail được gửi bởi smarthost; không có mail nội bộ

Selection_310

Sau đó trả lời các câu hỏi như sau:

System mail name: YOUR_HOSTNAME

IP-addresses to listen on for incoming SMTP connections: 127.0.0.1 ; ::1

Other destinations for which mail is accepted: <BLANK>

Visible domain name for local users: <BLANK>

IP address or host name of the outgoing smarthost: smtp.gmail.com::587

Keep number of DNS-queries minimal (Dial-on-Demand)? No

Split configuration into small files? No

Root and postmaster mail recipient: <BLANK>

Mở và chỉnh sửa file: /etc/exim4/exim4.conf.template

Tìm kiếm:

.ifdef DCconfig_smarthost DCconfig_satellite

Và thêm những dòng này ngay sau:

send_via_gmail:
    driver = manualroute
    domains = ! +local_domains
    transport = gmail_smtp
    route_list = * smtp.gmail.com

Xóa bỏ tất cả các khối smarthost khác chứa:

domains = ! +local_domains

Đánh dấu chúng bằng một # ở đầu dòng

Selection_311

Tìm kiếm các chứng thực với từ khóa:

begin authenticators

Và thêm những dòng này:

gmail_login:
    driver = plaintext
    public_name = LOGIN
    client_send = : VOTRE_EMAIL@gmail.com : VOTRE_PASS_GMAIL

Xóa bỏ tất cả các khối khác chứa:

public_name = LOGIN

Bạn cũng có thể đổi tên chúng như thế này:

login:
  driver = plaintext
  public_name = LOGIN_BACK

Điều này tránh xung đột tên gọi.

Sau đó tìm kiếm:

transport/30_exim4-config_remote_smtp_smarthost

Và thêm những dòng này:

gmail_smtp:
    driver = smtp
    port = 587
    hosts_require_auth = $host_address
    hosts_require_tls = $host_address

Đóng và lưu file cấu hình của bạn: /etc/exim4/exim4.conf.template

Chúng ta tải lại file cấu hình:

update-exim4.conf

Và chúng ta khởi động lại dịch vụ:

/etc/init.d/exim4 restart

Chúng ta có thể kiểm tra việc gửi email của mình:

echo 'Test' | mail -s 'Message test' VOTRE_EMAIL@ADDRESSE