모든 이메일 제공업체를 SMTP 릴레이로 사용하도록 Sendmail을 설치 및 구성하는 방법

이 문서에서는 Ubuntu 서버 20.04 또는 24.04를 사용한다고 가정합니다.

동기 부여

Sendmail은 강력한 안정성으로 잘 알려져 있기 때문에 WordOps에서 선호하는 MTA(메일 전송 에이전트)입니다. 그러나 특히 인증, 암호화, 컴파일과 같은 작업 시 구성은 숙련된 시스템 관리자에게도 상당히 복잡해 보일 수 있습니다. 하지만 걱정하지 마세요! 단계별로 명확하게 이해하면 이러한 프로세스는 실제로 상당히 관리하기 쉽습니다. 지금부터 이 설정을 마스터하는 방법을 자세히 알아보세요!

대안

Sendmail을 대체하고 싶거나 더 쉬운 방법을 찾고 있다면 Postfix, SSMTP 또는 Nullmailer와 같은 옵션이 모두 훌륭한 선택입니다. 하지만 워드프레스를 통해 이메일만 보내고 서버에서 오는 모든 중요한 정보를 무시해야 하는 경우라면 이 옵션을 사용하는 것이 좋습니다, FluentSMTP 를 사용하는 것이 가장 좋습니다. 예를 들어 로깅 기능 등을 위해 사이트에 SMTP 플러그인이 여전히 필요한 경우 서버에 이미 구성되어 있어도 추가할 수 있습니다.

Sendmail 설치

Sendmail은 WordOps Stack의 일부이며 함께 쉽게 설치할 수 있습니다:

wo 스택 설치 --sendmail
sudo apt install libsasl2-modules

APT를 사용하여 Ubuntu에 설치할 수도 있습니다:

sudo apt 업데이트
sudo apt install sendmail
sudo apt install libsasl2-modules

설치 메일 도구 는 필수 사항은 아니지만 시스템에서 Sendmail의 호환성을 높여줍니다:

sudo apt 설치 메일 유틸리티

인증 파일 만들기

에 인증 정보를 위한 새 파일을 만듭니다. /etc/mail/authinfo을 클릭하고 파일에 다음 줄을 추가하여 다음을 대체합니다. YOUR_USERNAME 그리고 YOUR_API_KEY 를 실제 거래 이메일 제공업체 자격증명(일부 제공업체에서는 단일 토큰을 사용자 이름과 비밀번호로 모두 사용할 수 있음)과 함께 입력합니다:

AuthInfo:smtp.youremailprovider.com "U:YOUR_USERNAME" "P:YOUR_API_KEY"

Sendmail은 항상 가장 안전한 방법을 먼저 선택하므로 인증 유형을 설정할 필요가 없으며, 나중에 STARTLS로 정의할 것입니다.

SMTP 공급업체를 사용하도록 Sendmail 구성하기

다음 위치에서 Sendmail 구성 파일을 엽니다. /etc/mail/sendmail.mc. 먼저 다음 줄을 수정하여 발신 이메일에 사용할 도메인을 설정합니다. yourdomain.com 를 실제 도메인으로 변경합니다:

Ubuntu 20.04

MASQUERADE_AS(`yourdomain.com')dnl

Ubuntu 24.04

최신 버전에서는 Sendmail에서 모든 가장무도회 구성이 제거되었으므로 다음과 같이 필요한 모든 설정을 추가해야 합니다:

MASQUERADE_AS(`yourdomain.com')dnl
FEATURE(`masquerade_envelope')dnl
FEATURE(`masquerade_entire_domain')dnl

그런 다음 (모든 버전에서) 다음 줄을 추가하여 공급업체를 SMTP 릴레이로 사용하도록 Sendmail을 구성합니다. 메일러_정의를 대체하여 smtp.youremailprovider.com 를 실제 거래 이메일 공급자 SMTP URL로 변경합니다:

define(`SMART_HOST',`[smtp.postmarkapp.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.db')dnl

데이터베이스 파일 생성

저장 후 authinfo 파일을 사용하여 Sendmail에서 사용할 데이터베이스 파일을 생성합니다:

sudo 메이크맵 해시 /etc/mail/authinfo < /etc/mail/authinfo

센드메일 구성 다시 빌드

Sendmail은 앞서 편집한 파일에 있는 매크로를 포함하여 사용해야 하는 모든 매크로를 컴파일해야 합니다. 구문 오류가 있는 경우 컴파일 프로세스가 실패하므로 여러 번 확인한 후 실행하세요:

sudo m4 /etc/mail/sendmail.mc | sudo tee /etc/mail/sendmail.cf

Sendmail 다시 시작

Sendmail 서비스를 다시 시작하여 변경 사항을 적용합니다:

sudo 서비스 보내기 메일 다시 로드

이메일 보내기 테스트

테스트 이메일을 보내 Sendmail 구성을 테스트할 수 있지만 일부 제공업체는 이메일의 제목과 본문도 요구할 수 있으므로 먼저 다음과 같은 파일을 만들어 보겠습니다. test_email.txt 를 아래 내용으로 업데이트합니다:

제목: 터미널 이메일 보내기

이메일 내용 1줄
이메일 내용 2줄

이제 파일을 기본으로 하여 이메일을 보내세요:

보내기 메일 re*******@*****le.com < test_email.txt

교체 re*******@*****le.com 를 실제 이메일 주소로 입력하세요.

이 페이지가 도움이 되었나요?

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다