Linux network инструкция администратора
4b61df3a

Доставка писем на локальные адреса


Обычно локальный адрес задает только имя входа пользователя в систему, тогда сообщение будет доставлено в почтовый ящик пользователя, /var/spool/mail/

user-name. Другие случаи включают псевдонимы, имена списков рассылки и пересылку почты. В этих случаях локальный адрес расширяется до нового списка адресов, которые могут быть локальными или удаленными.

Доставка писем на локальные адреса

Обычно локальный адрес задает только имя входа пользователя в систему, тогда сообщение будет доставлено в почтовый ящик пользователя, /var/spool/mail/

user-name. Другие случаи включают псевдонимы, имена списков рассылки и пересылку почты. В этих случаях локальный адрес расширяется до нового списка адресов, которые могут быть локальными или удаленными.

Кроме этих "нормальных" адресов Exim может обрабатывать другие типы локальных адресатов сообщения, подобные командам канала и именам файла. При доставке в файл Exim добавит в него сообщение, создавая файл в случае необходимости. Файл и адресаты канала не являются адресами в обычном смысле, так что Вы не можете посылать почту, скажем, на /etc/passwd@vbrew.com и перезаписывать файл пароля; доставка в специфический файл имеет силу только, если она исходит из файлов псевдонима или из команды пересылки. Обратите внимание, что адрес /etc/passwd@vbrew.com синтаксически имеет силу, но если Exim получил такой адрес, он обычно будет искать пользователя, чье имя входа в систему /etc/passwd, что приведет к сбою и сообщению об ошибке.

В списке псевдонима или файле пересылки имя файла начинается со слэша (/?), если оно не является полным адресом почты. Например, /tmp/junk в файле пересылки или псевдонимов интерпретируется как имя файла, но /tmp/junk@vbrew.com будет воспринят как адрес email, хотя это вряд ли будет очень полезным. Однако имеющий силу адрес этого типа замечен при посылке почты через шлюзы X.400, потому что в X.400 адреса начинаются с наклонной черты вправо. В общем, маршрутизация почты всегда была сложной.

Командой канала (pipe command) может быть любая команда Unix, которой предшествует символ канала (|), если строка не является полным адресом email с указанием домена. Если Вы не изменили конфигурацию, Exim не использует оболочку, чтобы выполнить команду; вместо этого он разделяет ее на команду и параметры, сам и выполняет непосредственно. Сообщение будет подано команде на стандартном вводе.

Например, для пересылки из списка рассылки в локальную группу новостей Вы могли бы использовать скрипт gateit и установить локальный псевдоним, который доставляет все сообщения от этого списка адресатов до скрипта, используя |gateit. Если командная строка содержит запятую, команда и предшествующий символ канала должны быть заключены в двойные кавычки.



Содержание раздела