Назад | Перейти на главную страницу

Ошибка требования OpenDMARC RFC5322: не совсем одно поле даты

Я установил почтовый сервер для своего бизнеса, и все работает нормально, если доступ к адресам электронной почты осуществляется через Thunderbird. У меня есть сотрудник, у которого есть лицензия на Outlook, которая у них была раньше, и он предпочитает ее использовать. При попытке подключить учетную запись как POP3 через Outlook я получаю следующие сообщения журнала:

Aug 14 04:04:00 ikana dovecot: pop3(dylan@micro-analysts.com)<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=dylan@micro-analysts.com
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=<dylan@micro-analysts.com> to=<dylan@micro-analysts.com> 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. Я вижу, что milter - это то, что отклоняет соединение, но я не уверен, какие это будут правила. В настоящее время у меня есть простая установка 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 может без проблем войти в учетную запись.

Я решил эту проблему благодаря комментарию Майкла Хэмптона: «Это не было связано со Spam Assassin, как я изначально думал. Я забыл, что OpenDMARC сам по себе является milter, и предположил, что milter, отклоняющий электронную почту, был тем, что я только что настроил - Spam Assassin. Оказывается, при добавлении учетной записи или изменении настроек существующей учетной записи Outlook отправляет тестовое электронное письмо по умолчанию на добавляемый / изменяемый адрес, чтобы проверить его способность отправлять и получать электронные письма. Также оказывается, что это тестовое письмо не имеет Date заголовок, и моя конфигурация opendmarc была RequiredHeaders установлен в true, что приводит к отклонению тестового письма, поскольку оно нарушает RFC5322.

Вместо того, чтобы указать текущую дату в электронном письме, чтобы соответствовать спецификации, Outlook просто не включает дату в это тестовое электронное письмо. После того, как учетная запись настроена в Outlook, она включает настройку даты, поэтому, если у вас есть ограниченное количество пользователей, которым необходимо настроить Outlook, я полагаю, вы можете отключить настройку для OpenDMARC, получить их все настройки и затем включите его снова, так как тогда дата должна быть во всех новых письмах.