OpenDMARC RFC5322 요구 사항 오류: 정확히 하나의 날짜 필드가 아닙니다.

OpenDMARC RFC5322 요구 사항 오류: 정확히 하나의 날짜 필드가 아닙니다.

나는 내 비즈니스를 위해 이메일 서버를 설정했고 이메일 주소가 Thunderbird를 통해 액세스되는 한 모든 것이 잘 작동합니다. 이전에 사용했던 Outlook 라이선스를 갖고 있고 이를 선호하는 직원이 있습니다. Outlook을 통해 계정을 POP3로 연결하려고 하면 다음 로그 메시지가 나타납니다.

Aug 14 04:04:00 ikana dovecot: pop3({employee-email})<240303></Eu1gs6svtFsEUYj>: Disconnected: Logged out top=0/0, retr=0/0, del=0/1, size=963
Aug 14 04:04:00 ikana postfix/submission/smtpd[240304]: connect from <employee IP>
Aug 14 04:04:00 ikana postfix/submission/smtpd[240304]: Anonymous TLS connection established from <employee IP>: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Aug 14 04:04:00 ikana postfix/submission/smtpd[240304]: ADB8717A1CB: client=<employee IP>, sasl_method=PLAIN, sasl_username={employee-email}
Aug 14 04:04:00 ikana postfix/cleanup[240307]: ADB8717A1CB: message-id=<>
Aug 14 04:04:00 ikana opendmarc[229281]: ADB8717A1CB: RFC5322 requirement error: not exactly one Date field
Aug 14 04:04:00 ikana postfix/cleanup[240307]: ADB8717A1CB: milter-reject: END-OF-MESSAGE from <employee IP>: 5.7.1 Command rejected; from=<{employee-email}> to=<{employee-email}> proto=ESMTP helo=<{hostname redacted}>
Aug 14 04:04:00 ikana postfix/submission/smtpd[240304]: disconnect from <employee IP> ehlo=2 starttls=1 auth=1 mail=1 rcpt=1 data=0/1 commands=6/7

서버는 Ubuntu Server 20.04 이미지입니다. 밀터가 연결을 거부하고 있다는 것을 알지만 이것이 어떤 규칙인지는 잘 모르겠습니다. 현재 규칙이나 점수를 변경하지 않고 Spam Assassin을 일반 설치했습니다.

spamass-milter에 대한 내 구성은 다음 위치에 있습니다 /etc/default/spamass-milter.

# spamass-milt startup defaults

# OPTIONS are passed directly to spamass-milter.
# man spamass-milter for details

# Non-standard configuration notes:
# See README.Debian if you use the -x option with sendmail
# You should not pass the -d option in OPTIONS; use SOCKET for that.

# Default, use the spamass-milter user as the default user, ignore
# messages from localhost
# The domain after the -e option is the default domain to use if the user is logging
# in/sending mail without a full email address. Otherwise, the domain used by the
# client will be passed to spam assassin.
OPTIONS="-e maaonline.net -u spamass-milter -i 127.0.0.1 -R 'Blocked for spam'"

# Reject emails with spamassassin scores > 15.
OPTIONS="${OPTIONS} -r 10"

# Do not modify Subject:, Content-Type: or body.
#OPTIONS="${OPTIONS} -m"

# Scan attachments up to 5MB
OPTIONS="${OPTIONS} -- --max-size=5242880"

######################################
# If /usr/sbin/postfix is executable, the following are set by
# default. You can override them by uncommenting and changing them
# here.
######################################
# SOCKET="/var/spool/postfix/spamass/spamass.sock"
# SOCKETOWNER="postfix:postfix"
# SOCKETMODE="0660"
######################################

내 스팸 암살자 구성은 다음과 /etc/defaut/spamassassin같습니다.

# /etc/default/spamassassin
# Duncan Findlay

# WARNING: please read README.spamd before using.
# There may be security risks.

# Prior to version 3.4.2-1, spamd could be enabled by setting
# ENABLED=1 in this file. This is no longer supported. Instead, please
# use the update-rc.d command, invoked for example as "update-rc.d
# spamassassin enable", to enable the spamd service.

# Options
# See man spamd for possible options. The -d option is automatically added.

# SpamAssassin uses a preforking model, so be careful! You need to
# make sure --max-children is not set to anything higher than 5,
# unless you know what you're doing.

OPTIONS="--create-prefs --max-children 5 --helper-home-dir --nouser-config --virtual-config-dir=/var/vmail/%d/%l/spamassassin --username=vmail"

# Pid file
# Where should spamd write its PID to file? If you use the -u or
# --username option above, this needs to be writable by that user.
# Otherwise, the init script will not be able to shut spamd down.
PIDFILE="/var/run/spamd.pid"

# Set nice level of spamd
#NICE="--nicelevel 15"

# Cronjob
# Set to anything but 0 to enable the cron job to automatically update
# spamassassin's rules on a nightly basis
CRON=1

현재로서는 Outlook이 무엇을 보내는지, Thunderbird가 아무 문제 없이 계정에 로그인할 수 있는데 왜 문제가 발생하는지 전혀 알 수 없습니다.

답변1

Michael Hampton의 의견 덕분에 이 문제를 해결했습니다. 처음에 생각했던 것처럼 Spam Assassin과 관련이 없었습니다. 저는 OpenDMARC가 메일러 자체라는 사실을 잊어버렸고, 이메일을 거부하는 메일러가 제가 방금 설정한 스팸 어쌔신(Spam Assassin)이라고 가정했습니다. 계정을 추가하거나 기존 계정의 설정을 변경할 때 Outlook은 이메일 보내기 및 받기 기능을 테스트하기 위해 추가/수정되는 주소로 기본 테스트 이메일을 보냅니다. 또한 이 테스트 이메일은Date헤더가 없습니다, 내 opendmarc 구성이 RequiredHeaders로 설정되어 trueRFC5322를 위반하기 때문에 테스트 이메일을 거부하게 되었습니다.

사양을 따르기 위해 이메일에 현재 날짜를 표시하는 대신 Outlook은 이 테스트 이메일에 날짜를 포함하지 않습니다. Outlook에서 계정이 설정되면 날짜 설정이 포함되므로 Outlook을 설정해야 하는 사용자 수가 제한된 경우 OpenDMARC 설정을 비활성화하고 모두 설정한 다음 그런 다음 다시 켜십시오. 그러면 모든 새 이메일에 날짜가 포함되어야 합니다.

관련 정보