Gmail SMTP를 통해 이메일을 릴레이하도록 Sendmail 구성

Gmail SMTP를 통해 이메일을 릴레이하도록 Sendmail 구성

2022-10-18 last update

4 minutes reading sendmail smtp Gmail
Sendmail은 외부 SMTP 서버를 통해 이메일을 보내는 옵션을 제공합니다. 이 자습서는 Gmail, Amazon SES, Mailchimp, Mandrill 등과 같은 외부 SMTP 서버를 통해 이메일을 릴레이하도록 Sendmail을 구성하는 데 도움이 됩니다. 이 자습서에서는 Gmail SMTP 서버를 사용하여 Sendmail 서버에서 이메일을 릴레이합니다.

1. 인증 파일 생성

먼저 인증 파일을 저장할 디렉토리를 만듭니다.
sudo mkdir /etc/mail/authinfo
sudo chmod 700 /etc/mail/authinfo
이제 smtp-auth와 같은 이름으로 인증 파일을 만들고 다음 내용을 추가합니다. 위의 이메일을 Gmail 또는 Google 앱 이메일로 바꿉니다.
sudo vi /etc/mail/authinfo/smtp-auth
AuthInfo: "U:root" "I:[email protected]" "P:PASSWORD"
이제 위에서 생성한 auth 파일의 해시맵 파일을 생성합니다.
makemap hash /etc/mail/authinfo/smtp-auth < /etc/mail/authinfo/smtp-auth

2. SMART_HOST로 Sendmail 구성

이제 "MAILER"정의 아래의 sendmail.mc 구성 파일에 다음 구성 라인을 추가하십시오.
 define(`SMART_HOST',`[smtp.gmail.com]')dnl
 define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
 define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl
 define(`confAUTH_OPTIONS', `A p')dnl
 TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
 define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
 FEATURE(`authinfo',`hash -o /etc/mail/authinfo/smtp-auth.db')dnl
다음 단계에서는 sendmail의 구성을 다시 빌드해야 합니다. 그렇게 하려면 다음을 실행하십시오.
make -C /etc/mail

3. 설정 확인

위의 모든 구성을 완료한 후 sendmail 서비스를 다시 로드하여 변경 사항을 적용하십시오.
sudo service sendmail reload
이제 테스트 이메일을 보내 모든 것이 제대로 작동하는지 확인하십시오.
echo "Test Email" | mail -s "Subject Here" [email protected]