Модификация на FreeBSD, Всичко за ремонта и настройката на компютъра

Спомняте ли си, когато казах колко ужасен е конфигурационният файл/etc/mail/sendmail.cf? Да, ще трябва да го смените. Не е нужно обаче да редактирате sendmail.cf директно. Всъщност Sendmail разполага с инструменти за изграждане на този конфигурационен файл от други конфигурационни файлове. Днес звучи странно, но по времето на Sendmail се смяташе за авангарден. (Мисля, че младите хора ще кажат: „Старото училище е ужасно.“)

Файловете с разширение tc са конфигурационните файлове за процесора на езика макрос T4. Командата m4 (1) чете инструкции от тези файлове и дефиниции от/usr/share/sendmail,/cf и създава .cf файлове от тях. Желаното поведение на Sendmail се дефинира в .tc файловете и след това от тях се генерират съответните конфигурационни файлове на Sendmail с помощта на командата m4. Например, помислете за файла freebsd.mc.

ФУНКЦИЯ (подлежаща на изпращане, ‘hash -o/etc/mail/mailertable’) FEATURE (virtusertable, ‘hash -o/etc/mail/virtusertable’)

Току-що говорихме за файловете за достъп, подлежащи на изпращане и virtusertablel. Тези инструкции инструктират m4 (1) да активира тези функции, като използва хешове, генерирани от посочените имена на файлове. Докато всичко е много страшно.

dnl Dialuр потребителите трябва да коментират и дефинират това по подходящ начин dnl define (‘SMART_HOST’, ‘your.isp.mail.server’)

Чрез модифициране на записи в .mc файла и възстановяване на конфигурационния файл, можете да контролирате как работи Sendmail. Ще използваме тази възможност за конфигуриране на системата. По-долу ще демонстрирам два прости примера и ще използваме знанията, придобити в следващите раздели.

Нестандартни .ts файлове

Файловете с инструкции (Makefile) за изграждане на конфигурационни файлове на Sendmail се именуват по подразбиране, направени от името на хоста на системата с разширение .ts. Например, моят лаптоп pesty.blackhelicopters.org има два .ts файла: /etc/mail/pesty.blackhelicopters.org.ts и /etc/mail/pesty.blackhelicopters.org.submit.ts. Ако

нямате такива файлове, make (l) ще ги създаде, като копира съдържанието на sendmail.mc и submit.mc файлове.