Tin tức, hướng dẫn và chia sẻ về công nghệ

Hướng dẫn gửi mail dùng postfix

Postfix là một phầm mềm nguồn mở được dùng để gửi mail (Mail Transfer Agent-MTA). Được phát hành bởi IBM với mục tiêu thay thế trình gửi mail phổ biến là sendmail. Trong bài viết này tôi sẽ hướng dẫn bạn cách cài đặt postfix để gửi mail trên Centos7.

Remove Sendmail

Trước tiên cần kiểm tra xem sendmail đã được cài đặt chưa bằng câu lệnh

rpm -qa | grep sendmail

Nếu có kết quả trả về chứng tỏ sendmail đã được cài đặt. Ta cần remove nó

yum remove sendmail*

Install postfix

Cài đặt postfix và một số gói liên quan

yum -y install postfix cyrus-sasl-plain mailx

Đặt postfix như MTA mặc định của hệ thống

alternatives --set mta /usr/sbin/postfix

Nếu câu lệnh bị lỗi và trả về output /usr/sbin/postfix has not been configured as an alternative for mta thì thực hiện lệnh sau:

alternatives --set mta /usr/sbin/sendmail.postfix

Restart và enable postfix

systemctl restart postfix
systemctl enable postfix

Configure Postfix

Mở file main.cf để chỉnh sửa

vi /etc/postfix/main.cf

Thêm vào cuối file những dòng sau

myhostname = hostname.example.com
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous

Configure Postfix SASL Credentials

Tạo file /etc/postfix/sasl_passwd và thêm vào dòng sau

[smtp.gmail.com]:587 username:password

Trong đó:

  • username: là địa chỉ email dùng để gửi mail
  • password: là password của email dùng để gửi mail

Phân quyền cho file vừa tạo

postmap /etc/postfix/sasl_passwd
chown root:postfix /etc/postfix/sasl_passwd*
chmod 640 /etc/postfix/sasl_passwd*
systemctl reload postfix

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

Kiểm tra

Kiểm tra lại xem đã gửi mail thành công hay chưa

echo "Đã gửi thành công" | mail -s "Mail kiểm tra" thuctapsinh2020@gmail.com

Tôi đã nhận được mail vừa gửi

2 Comments

  1. hieu

    sau khi lam theo ad thi bao loi:
    May 29 17:05:47 graylogserver postfix/smtp[45184]: EBABF808B63B: to=, relay=none, delay=0.13, delays=0.08/0.05/0/0, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=smtp.gmail.com type=AAAA: Host not found, try again)

  2. vu

    sau khi lam theo ad thi bao loi:
    May 29 17:05:47 graylogserver postfix/smtp[45184]: EBABF808B63B: to=, relay=none, delay=0.13, delays=0.08/0.05/0/0, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=smtp.gmail.com type=AAAA: Host not found, try again)

Leave a Reply

Your email address will not be published. Required fields are marked *