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

Как настроить exim4, чтобы знак решетки (хеш) был частью адреса электронной почты?

Кажется, что exim4 отказывается получать электронные письма, отправленные на "#xxx@example.com", и это довольно часто встречается в средах Exchange.

Как я могу настроить exim4, чтобы разрешить использование символа решетки в адресах электронной почты.

Разъяснения: Да, я знаю, что знак # не разрешен RFC, но я застрял с настройкой, в которой мне нужно использовать возможности фильтрации exim4 для удаления определенных сообщений, генерируемых некоторыми серверами, до их доставки на корпоративные серверы Exchange.

На данный момент это кажется невозможным, поэтому я поднимаю ошибку: http://bugs.exim.org/show_bug.cgi?id=1465

Тем не менее, есть обходной путь

если у вас есть раздельная конфигурация, отредактируйте 30_exim4-config_check_rcpt и прокомментируйте строки ниже:

#  .ifdef CHECK_RCPT_REMOTE_LOCALPARTS
#  deny
#    domains = !+local_domains
#    local_parts = CHECK_RCPT_REMOTE_LOCALPARTS
#    message = restricted characters in address
#  .endif                             

Если вы заинтересованы в исправлении этой ошибки, пожалуйста, оставьте свой голос / комментарий к этой ошибке.

# В адресе электронной почты не соответствует RFC822 (см. http://tools.ietf.org/html/rfc822#section-6.1). Итак, exim отлично справляется с отклонением этого адреса.

Хеш (#) совершенно допустим в локальной части адреса электронной почты. RFC 5321 ссылается на RFC5322 для определения атома:

3.2.3. Атом atext = ALPHA / DIGIT /; Версия для печати US-ASCII "!" / "#" /; символы не включая "$" / "%" /; спец. Используется для атомов. "&" / "'" / "*" / "+" / "-" / "/" / "=" / "?" / "^" / "_" / "` "/" {"/" | " / "}" / "~"

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

Конфигурация по умолчанию использует эти ACL:

deny message = Запрещенные символы в адресных доменах = + local_domains local_parts = ^ [.]: ^.[@%! / |]
deny message = Запрещенные символы в адресных доменах =! + local_domains local_parts = ^ [./ |]: ^.
[@%!]: ^. * / \. \ ./

Это не ошибка eximʻa, но может быть ошибкой в ​​конфигурации по умолчанию некоторых сторонних дистрибутивов.