The and Files - Посібник Мережевого Адміністратора Linux - UNIX

Кожен, хто хоче навчитися збільшувати свої продажі та підвищувати їх конверсію, знайде тут найефективніші із сучасних технік – технік, які продають самі.
The sendmail.cf and sendmail.mc Files
| назад | Розділ 18. Sendmail | Вперед |
Макропроцесор m4 генерує файл sendmail.df, коли обробляє макрофайл конфігурації, створений локальним адміністратором системи. Зазвичай він називається sendmail.mc.
Процес конфігурації, в основному, є питання створення відповідного файлу sendmail.mc , який включає макрокоманди, що описують бажану конфігурацію. Макрокоманди є виразами, які макропроцесор m4 розуміє і розгортає в синтаксис файлу sendmail.cf . Макровираження складені з макроімені (текст у великих літерах на початку), яке може бути уподібнене до функцій у мовах програмування, і деяких параметрів (текст усередині дужок), які використовуються в розширенні. Параметри можуть бути передані буквально в файл sendmail.cf, що генерується, або використовуватися, щоб керувати шляхом, яким відбувається обробка даної макрокоманди в підготовленому файлі sendmail.mc .
Якщо ви адміністратор декількох різних поштових хостів, не варто називати файл конфігурації sendmail.mc . Натомість загальною традицією є називати файл ім'ям хоста, наприклад, vstout.m4 . Ім'я дійсно не має значення, доки висновок названий sendmail.cf. Забезпечення унікального імені конфігураційного файлу для кожного хоста дозволяє зберігати всефайли конфігурації в тому самому каталозі. Розглянемо два приклади файлів.
Більшість конфігурацій sendmail сьогодні використовує лише SMTP. Дуже просто налаштувати sendmail для SMTP. Приклад 18-1 очікує, що сервер DNS буде доступний і намагатиметься приймати та доставляти всю пошту для хостів, використовуючи лише SMTP.
Приклад 18-1. Зразок налаштування файлу vstout.smtp.m4
Приклад 18-2. Зразок налаштування файлу vstout.uucpsmtp.m4
Якщо ви порівняєте дві конфігурації, цілком зможете зрозуміти, що робить кожен із параметрів конфігурації. Розглянемо їх детальніше.
Декілька елементів у файлі sendmail.mc потрібні завжди. Інші можуть ігноруватися, якщо Ви можете уникнути неприємностей із значеннями за умовчанням. Загальна послідовність визначень у файлі sendmail.mc така:
Local macro definitions
Це стандартні властивості m4 і Ви можете отримати більше інформації щодо них з man-сторінки.
Макрокоманда VERSIONID є факультативною, але корисно записати версію конфігурації sendmail у файл sendmail.cf . Так що Ви часто стикатиметеся з цим. У будь-якому випадку переконайтеся в наявності:
Це, мабуть, найважливіше визначення. Макрокоманда OSTYPE змушує включити файл визначень, які є добрими значеннями для вашої операційної системи. Більшість визначень у файлі OSTYPE встановлюють імена різних конфігураційних файлів, імена різних службових каталогів та ім'я поштової програми. Стандартний комплект вихідних кодів sendmail містить такий файл для Linux. Багато дистрибутивів Linux, особливо Debian, мають власний файл визначення, який є повністю сумісним з Linux-FHS. За наявності такого файлу слід використовувати саме його, а нещо постачається в комплекті з sendmail версію.
Визначення OSTYPE має розташовуватись ближче до початку файлу sendmail.mc , оскільки багато інших визначень залежать від нього.
Макрокоманда DOMAIN корисна, коли Ви бажаєте конфігурувати велику кількість машин одним способом.
Стандартна установка має каталог шаблонів макрокоманд m4, які використовуються, щоб керувати процесом конфігурації. Цей каталог зазвичай називається /usr/share/sendmail.cf. Тут Ви знайдете підкаталог, названий domain, що містить проблемно-залежні шаблони конфігурації. Для використання визначення DOMAIN потрібно створити свій файл, що містить стандартні визначення для відповідного домену, і вписати його в каталог domain .
Пакет вихідних кодів sendmail приходить із рядом типових файлів макрокоманд domain, які Ви можете використовувати як приклади при побудові свого.
Якщо Ви зберегли файл макрокоманди domain як /usr/share/sendmail.cf/domain/vbrew.m4 , треба включити у файл sendmail.mc визначення:
Макрокоманда FEATURE дозволяє включити зумовлені властивості sendmail у Вашу конфігурацію. Ці властивості sendmail роблять конфігурації дуже простими у використанні. Є велика кількість властивостей, і я розповім про найбільш корисні та важливі. Докладніше про властивості з файлу CF у пакеті вихідних текстів.
Щоб використати будь-яку з перерахованих властивостей, Ви повинні включити до Вашого sendmail.mc рядок на кшталт: де name задає ім'я властивості. Деякі властивості беруть один факультативний параметр. Якщо Ви бажаєте використати щось відмінне від значення за промовчанням, Ви повинні використовувати запис: де param задає параметр.
Стандартні макрофайли конфігурації sendmail забезпечують велику кількість обробниківпереривань та змінних, якими Ви можете настроювати конфігурацію. Вони названі локальними макровизначеннями (local macro definitions). Багато з них перераховані у файлі CF у пакеті з вихідними кодами sendmail.
Локальні макровизначення зазвичай викликаються, на ім'я із зазначенням змінюваного параметра.
Якщо Ви хочете використовувати sendmail для передачі нелокальної пошти, Ви повинні повідомити, який транспорт використовувати. Макрокоманда MAILER робить це дуже простим. Поточна версія sendmail підтримує низку протоколів транспорту пошти. Деякі їх експериментальні, інші, мабуть, дуже рідко використовуються.
У нашій мережі ми потребуємо SMTP транспорту, щоб надсилати та отримувати пошту в локальній мережі, і в UUCP транспорті, щоб посилати та отримувати пошту від нашого інтелектуального хоста. Щоб досягти цього, ми просто включаємо транспорти smtp та uucp . Транспорт local включений за замовчуванням, але може бути визначений для ясності, якщо ви бажаєте. Якщо ви включаєте обидва транспорту, smtp і uucp , ви повинні завжди переконатися, що визначили smtp першим.
Традиційно використовувані транспорти, доступні Вам у макрокоманді MAILER, описані в наступному списку:
Цей транспорт включає локальний агент постачання, який використовується, щоб надіслати пошту в поштову скриньку користувача на цій машині, і агент prog використовується, щоб надіслати повідомлення локальним програмам. Цей транспорт увімкнено за замовчуванням.
Цей транспорт здійснює Simple Mail Transport Protocol (SMTP), який є найбільш загальним засобом транспортування пошти до Інтернету. Коли Ви включаєте цей транспорт, чотири агенти будуть конфігуровані: smtp (нормальний SMTP), esmtp (розширений SMTP), smtp8 (8-бітовий двійковий SMTP) та relay (спеціально розроблений для шлюзування листівміж різними хостами).
Транспорт uucp забезпечує підтримку двох агентів: uucp-old, який є традиційним UUCP, і uucp-new, який дозволяє вказувати багато одержувачів, які будуть оброблені в одній передачі відразу.
Якщо ви маєте встановлене програмне забезпечення HylaFAX, цей агент дозволить Вам надсилати листи так, що можна буде створити шлюз email-fax. Ця властивість була експериментальною на момент написання книги, і більш детальна інформація може бути отримана на http://www.vix.com/hylafax.
Є інші агенти, наприклад, pop, procmail, mail11, phquery та cyrus, які є корисними, але менш поширеними. Документація до них є у пакеті вихідних кодів.