Chào các bạn,
Trong bài viết “Hướng dẫn cấu hình Gmail SMTP Replay cho Exim“, các bạn đã được hướng dẫn để cấu hình gửi email sử dụng tài khoản SMTP, tuy nhiên việc cấu hình như vậy chỉ cho phép cấu hình 1 tài khoản SMTP duy nhất và sử dụng để gửi mail cho toàn bộ hệ thống. Vấn đề là nếu như bạn muốn gửi email từ nhiều tài khoản SMTP khác nhau thì làm thế nào? Bài viết này sẽ giúp bạn giải quyết vấn đề này.
Ví dụ như bạn chỉ dùng Gmail chẳng hạn và bạn có 10 tài khoản, bạn muốn mỗi tài khoản sẽ chịu trách nhiệm gửi email cho một đối tượng người nhận khác nhau …v.v
Vẫn cấu hình như cũ, mở file /etc/exim.conf
begin routers
Thêm vào bên dưới nội dung sau:
send_via_gmail: driver = manualroute domains = ! +local_domains transport = gmail_smtp route_list = * smtp.gmail.com
begin transports
Thêm vào bên dưới nội dung sau:
gmail_smtp: driver = smtp port = 587 hosts_require_auth = * hosts_require_tls = *
Tại phần “authenticators” sẽ khác 1 chút
begin authenticators
gmail_login: driver = plaintext public_name = LOGIN hide client_send = ${extract{user}{${lookup{$sender_address}lsearch{/etc/accounts_gmail}}}} : ${extract{pass}{${lookup{$sender_address}lsearch{/etc/accounts_gmail}}}}
Tiếp theo ta tạo 1 file /etc/accounts_gmail và điền thông tin theo format sau
[sender]: user=[your_user_name] pass=[Application Password/SMTP Password]
Cách thức hoạt động như sau, Exim sẽ sử dụng tài khoản SMTP trong file /etc/accounts_gmail dựa trên $sender_address của email đó. Ví dụ như gửi email bằng tài khoản root của máy chủ:
echo "Email sent from Root" | sendmail -f "root" [recipient_address]
Như vậy trong file/etc/accounts_gmail, các bạn thay thế [sender] = root@[your_local_hostname]
Leave A Comment?