Hướng dẫn cài đặt và cấu hình SSMTP trên Linux để gửi mail
Hướng dẫn chi tiết cách cài đặt (trên Ubuntu và CentOS 7) và cấu hình SSMTP trên Linux để gửi mail đơn giản nhất.
SSMTP (secure Simple Mail Transfer Protocol) sẽ cho phép bạn định cấu hình gửi qua máy chủ của bên thứ 3. Nó chính là sự thay thế hoàn hảo cho sendmail để gửi thư trên Linux.
1. Hướng dẫn cài đặt SSMTP để gửi mail
* Trên Ubuntu
Lệnh Update repo:
apt-get update
Cài đặt SSMTP và các gói hỗ trợ:
apt-get -y install ssmtp mailutils
* Trên CentOS 7
Lệnh Update:
yum update
Cài đặt:
yum -y install ssmtp
2. Cấu hình SSMTP để gửi mail
File cấu hình SSMTP: /etc/ssmtp/ssmtp.conf
# # Config file for sSMTP sendmail # # The person who gets all mail for userids < 1000 # Make this empty to disable rewriting. # root=postmaster root=dangdohai1996@gmail.com # The place where the mail goes. The actual machine name is required no # MX records are consulted. Commonly mailhosts are named mail.domain.com # mailhub=mail mailhub=smtp.gmail.com:587 AuthUser=youremail@gmail.com AuthPass=youremailpassword UseTLS=YES UseSTARTTLS=YES # Where will the mail seem to come from? #rewriteDomain= rewriteDomain=gmail.com # The full hostname hostname=ssmtpServer # Are users allowed to set their own From: address? # YES - Allow the user to specify their own From: address # NO - Use the system generated From: address FromLineOverride=YESTại đây, sử dụng gmail nên mục mailhub và rewriteDomain để là gmail.
- AuthUser=youremail@gmail.com : Email bạn sử dụng để gửi mail.
- AuthPass=youremailpassword : Mật khẩu email.
Cho phép ứng dụng truy cập Gmail
Nếu bạn sử dụng gmail làm địa chỉ người gửi thì phải cho phép ứng dụng truy cập gmail của bạn.
Đăng nhập bằng gmail để thực hiện gửi mail đã khai báo bên trên trên trình duyệt.
Bật chế độ cho phép ứng dụng truy cập:
Tạo alias cho user local. Mở file sau:
vi /etc/ssmtp/revaliases
Thêm dòng:
root:youremail@gmail.com:smtp.gmail.com:587
3. Gửi mail
* Sử dụng lệnh
ssmtp -v des.email@mail.com
Sau đó nhập nội dung mail, kết thúc bằng cách nhấn tổ hợp phím Ctrl + D.
* Kết hợp với lệnh echo
echo "Nội dung email" | ssmtp -v des.email@mail.com
Thêm Subject cho mail:
{ echo Subject: subject_email echo Nội dung email } | ssmtp des.email@mail.com
* Gửi nội dung từ file
Tạo file nội dung mail có dạng:
Subject: Subject email Nội dung email
Gửi mail bằng lệnh:
ssmtp des_email@gmail.com < file
Lưu ý việc sử dụng SSMTP trong bash script với crontab, ta nên sử dụng đường dẫn dịch vụ SSMTP. Thường thì đường dẫn mặc định sẽ là /usr/sbin/ssmtp . Hoặc bạn có thể tìm bằng cách locate ssmtp và chọn đường dẫn thực thi đúng của dịch vụ SSMTP.
Trên là các bước hướng dẫn cài đặt và cấu hình SSMTP trên Linux để gửi mail. Chúc bạn thành công!