macOS Sierra 에서 Mojave 까지 POSTFIX 설정하기


macOS Sierra 에서 Mojave 까지 POSTFIX 설정하기




최초 작성일 : 2022-06-12 | 수정일 : 2022-06-12 | 조회수 : 885

여기 Sierra에서 Mojave로 실행되는 Mac에서 postfix 이메일 서버를 설정하는 방법에 대한 포괄적인 자습서가 있다.
이 버전을 실행하는 Mac 웹 서버를 원격으로 수정해야 하는 비슷한 상황에 처한 경우 >.< 터미널 사용 준비 많은 nano 또는 vim 편집기.

1단계.) sasl_passwd 파일 생성

 $> sudo vi /etc/postfix/sasl_passwd

파일에 원하는 smtp 서버와 자격 증명을 추가한다.

smtp.gmail.com:587 EMAIL@gmail.com:PASSWORD

마지막 단계는 조회 테이블을 만드는 것이다.

$> sudo postmap /etc/postfix/sasl_passwd

2단계.) main.cf 파일 편집

$> sudo vi /etc/postfix/main.cf

이 값이 아직 설정되지 않은 경우 편집한다.

mail_owner = _postfix
setgid_group = _postdrop

파일 끝에 이 필드를 추가하면 다른 릴레이 호스트를 사용할 수 있다.
 
연속성을 위해 나는 Gmail을 고수하고 있다.

relayhost=smtp.gmail.com:587
# Enable SASL authentication in the Postfix SMTP client.
smtp_sasl_auth_enable=yes
smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options=noanonymous
smtp_sasl_mechanism_filter=plain
# Enable Transport Layer Security (TLS), i.e. SSL.
smtp_use_tls=yes
smtp_tls_security_level=encrypt
tls_random_source=dev:/dev/urandom

3단계.) SIP(시스템 무결성 보호) 비활성화

Mac을 복구 모드로 재부팅하십시오. 부팅하는 동안 command+r을 누르고 있으면 복구 모드로 재부팅할 수 있다.
 
그렇지 않고 Windows 키보드를 사용하거나 명령줄 접근 방식을 선호하는 경우 터미널에 다음 명령을 입력하기만 하면 된다.

$>sudo nvram 'recovery-boot-mode=unused'
 $>sudo reboot

이렇게 하면 다음 부팅 시 복구 모드에서 시작하려는 것을 나타내는 nvram의 펌웨어 변수가 설정되고 시스템이 재부팅됩니다. 복구 모드에서 완료되면 복구 모드의 터미널에서 다음을 실행한다.

$> nvram -d recovery-boot-mode

복구 모드에서:

  • 유틸리티를 클릭한다.
  • 터미널을 선택한다.
  • csrutil 비활성화를 입력한다.

참고: SIP를 활성화하려면 대신 csrutil enable을 입력하기만 하면 된다.

4단계.) 재부팅 시 자동 실행되도록 접미사 설정

이제 복구 모드에서 재부팅하십시오. 터미널을 열고 다음 파일을 편집한다.

 $>sudo vi /System/Library/LaunchDaemons/com.apple.postfix.master.plist

이 줄을 제거하십시오

<string>-e</string> 
<string>60</string>

plist 정의 시작 부분에 다음 줄을 추가한다.

<key>KeepAlive</key>
<true/>

수정된 파일은 다음과 같아야 한다.

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE plist PUBLIC '-//Apple Computer//DTD PLIST 1.0//EN' 
'http://www.apple.com/DTDs/PropertyList-1.0.dtd'>
<plist version='1.0'>
<dict>
        <key>KeepAlive</key>
        <true/>
        <key>Label</key>
        <string>com.apple.postfix.master</string>
        <key>Program</key>
        <string>/usr/libexec/postfix/master</string>
        <key>ProgramArguments</key>
        <array>
                <string>master</string>
        </array>
        <key>QueueDirectories</key>
        <array>
                <string>/var/spool/postfix/maildrop</string>
        </array>
        <key>AbandonProcessGroup</key>
        <true/>
</dict>
</plist>

이제 다음 명령을 사용하여 데몬을 다시 로드하고 다시 시작한다.

$> sudo launchctl unload /System/Library/LaunchDaemons/com.apple.postfix.master.plist
$> sudo launchctl load /System/Library/LaunchDaemons/com.apple.postfix.master.plist

예를 들어 'invalid property'와 같은 오류가 발생하면 plist에 문제가 있음을 의미한다.
 
성공하면 SIP를 다시 활성화하는 과정을 거치면 된다.

5단계.) 테스트 메일 보내기

터미널에서 테스트 메일을 보내려면 받는 사람 이메일이나 원하는 대로 다음 명령을 사용하십시오.

 $>echo 'Postfix setting test' | mail -s 'Hello Postfix' EMAIL@HOST.com

기타 유용한 명령

  • mailq 대기열에 있는 메일을 확인하고 메일이 전송되지 않은 경우 오류를 확인한다.
  • sudo 접미사 플러시 대기열을 플러시한다.
  • sudo postsuper -d 대기열에 있는 모든 메일을 삭제한다.
  • sudo rm /var/mail/$USER 로컬 호스트에서 모든 메일을 제거한다.
  • sudo postfix start postfix 메일 시스템을 시작한다.
  • sudo postfix stop postfix 메일 시스템을 중지한다.
  • sudo postfix reload postfix 메일 시스템을 다시 로드한다.
😀 닉네임
🧨 댓글내용 ( 주의: HTML 태그 및 URL은 저장시 제거됩니다. )