Cài đặt và cấu hình SSMTP trên Linux để gửi mail

30/12/2020

SSMTP (secure Simple Mail Transfer Protocol)là một sự thay thế cho sendmail để gửi thư trên Linux.

Nó cho phép bạn định cấu hình gửi qua máy chủ của bên thứ 3.

MỤC LỤC
1. Cài đặt
2. Cấu hình
3. Gửi mail

1. Cài đặt

Trên Ubuntu

Update repo

apt-get update

Cài đặt dịch vụ SSMTP và các gói hỗ trợ

apt-get -y install ssmtp mailutils

Trên CentOS 7

Update

yum update

Cài đặt

yum -y install ssmtp

2. Cấu hình

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=YES

Tại đây, ta sử dụng gmail nên mục mailhubvà rewriteDomain để là gmail.

AuthUser=youremail@gmail.com : Email bạn sử dụng để gửi email
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ì bạn 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 và truy cập vào địa chỉ sau:

https://myaccount.google.com/lesssecureapps

Bật chế độ cho phép ứng dụng truy cập

Tạo alias cho user local. Mở file sau và sửa

vi /etc/ssmtp/revaliases

Thêm dòng

root:youremail@gmail.com:smtp.gmail.com:587

3. Gửi mail

Cách 1 : Dùng lệnh

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

Cách 2 : Kết hợp với echo

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

Cách 3: 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:

ssmtp des_email@gmail.com < file

Lưu ý:

Với 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, đườ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.

Chúc các bạn thành công !

ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

Hướng dẫn cài đặt VestaCP trên máy chủ Cloud Server

VestaCP là một Bảng điều khiển (Control Panel) rất chuyên nghiệp, dễ sử dụng với giao diện trực...
25/12/2020

How to Install CentOS 7 on a Virtualbox using Pre-installed Image

As part of my upcoming HowTo tutorials on my blog, I will need to install CentOS 7 on a virtualbox to accomplish this tasks....
28/12/2020

CentOS How to Install RPM

Whenever you’re running a Linux distro, it’s always a challenge to find all your necessary tools directly in the default...
29/12/2020