/etc/aliases

/etc/aliases

msmtp메일 전송에 사용하도록 Debian 서버를 구성했습니다 . 현재 사용 사례는 예를 들어 logwatch내 isp 이메일로 일일 보고서를 보내는 것입니다 .

echo "$body" | mutt -s "$topic" -- "[email protected]"

에 있는 msmtp전역 파일을 사용하여 구성했습니다 . 아래에 표시된 내용입니다.msmtprc/etc/msmtprc

다음으로 구성하고 싶은 것은 내 루트 계정의 이메일(예: crontabs의 출력)이 내 isp 이메일로도 전송된다는 것입니다.

예를 들어 Arch wiki에서 검색을 해보니 별칭을 구성해야 한다는 것을 알았습니다. msmtp 구성 파일의 맨 아래에서 그렇게 했습니다.

그러나 을 실행 newaliases하고 실행을 시도한 후

echo test | mail -s "test message" root

오류가 발생했습니다.

send-mail: /etc/aliases: line 2: invalid address 'postmaster'
Can't send mail: sendmail process failed with error code 78

이 문제를 어떻게 해결할 수 있는지 잘 모르겠습니다. 아래에 표시된 별칭은 이미 존재했던 것입니다. Gmail 주소만 추가했습니다.

새 별칭 파일을 넣을 수도 있겠지만 이 파일에 의존하는 다른 서비스가 중단될 수도 있습니다. 즉, 이 문제를 해결하는 적절한 방법이 무엇인지 모르겠습니다.

/etc/aliases

# /etc/aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
root: christphe, [email protected]

/etc/msmtprc

# ------------------------------------------------------------------------------
# msmtp System Wide Configuration file
# ------------------------------------------------------------------------------

# A system wide configuration is optional.
# If it exists, it usually defines a default account.
# This allows msmtp to be used like /usr/sbin/sendmail.

# ------------------------------------------------------------------------------
# Accounts
# ------------------------------------------------------------------------------

account isp
host mail.isp.net
port 587
from [email protected]
auth login
user [email protected]
password foobar
syslog LOG_MAIL

logfile /var/log/msmtp.log

# ------------------------------------------------------------------------------
# Configurations
# ------------------------------------------------------------------------------

# Construct envelope-from addresses of the form "[email protected]".
#auto_from on
#maildomain fermmy.server

# Use TLS.
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt

# Syslog logging with facility LOG_MAIL instead of the default LOG_USER.
# Must be done within "account" sub-section above
#syslog LOG_MAIL

# Set a default account
account default : isp

aliases /etc/aliases
# ------------------------------------------------------------------------------#

답변1

업데이트 2019-10-17

msmtp 버전 1.8.6(2019-09-27 출시)은 이제 /etc/aliases. 보다https://marlam.de/msmtp/news/msmtp-1-8-6/.

원래 답변

그래서 ssmtp에서 msmtp로 마이그레이션할 때도 똑같은 문제가 발생했습니다. 이 문제는 다음으로 인해 발생합니다.is_address()aliases.c의 함수. 기본적으로 별칭의 대상에 가 포함되어 있지 않으면 '@'msmtp는 해당 별칭이 유효하지 않다고 생각하여 죽습니다. 루트로 리디렉션되는 모든 별칭에 @를 추가하면 이 문제를 해결할 수 있습니다.

/etc/aliases귀하의 예에서는 다음과 같이 수정합니다 .

# /etc/aliases
mailer-daemon: postmaster@
postmaster: root@
nobody: root@
hostmaster: root@
usenet: root@
news: root@
webmaster: root@
www: root@
ftp: root@
abuse: root@
noc: root@
security: root@
root: christphe@, [email protected]

이 동작을 변경하여 작동하고 이 답변을 업데이트할 수 있도록 msmtp에 대한 버그/문제를 기록할 계획입니다.

답변2

msmtp오늘 처음 시도했을 때 이것에 대해 2가지를 발견했습니다 .

  1. /etc/aliases불이행 으로 인해 속쓰림이 발생했습니다 postmaster: root. 에 의해서만 공개됨msmtp -v

  2. 놓다aliases /etc/aliases또는/etc/msmtprc~/.msmtprc

답변3

다음으로 구성하고 싶은 것은 내 루트 계정의 이메일(예: crontabs의 출력)이 내 isp 이메일로도 전송된다는 것입니다.

  1. 다음과 같은 줄을 추가하십시오 /etc/msmtprc.
   aliases /etc/aliases.msmtp
  1. /etc/aliases.msmtp다음 줄을 포함하는 파일을 만듭니다 .
   default: [email protected]

답변4

msmtp와 AppArmor는 함께 잘 작동하지 않습니다. AppArmor는 msmtpd 읽기에는 괜찮았지만 /etc/aliases 읽기에는 어려움을 겪었습니다 /etc/aliases.msmtp.

msmtp 옵션을 사용 -v하고 테스트 메일을 보내서 문제를 발견했습니다.

를 고수하는 것이 좋습니다 /etc/aliases.

관련 정보