Кажется, что 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, но может быть ошибкой в конфигурации по умолчанию некоторых сторонних дистрибутивов.