BASH Programming - Введение


Как отправлять и принимать электронную почту?


Самое первое, удостоверьтесь, что sendmail уcтановлен. Sendmail сортирует внутреннюю и исходящую почту, и держит ее в буфере до тех пор, пока не появится возможность для ее отправки.

Sendmail основывается на настройках в /etc/sendmail.cf. Подходящий для клиентов ISP пример может быть найден на:

  • Он основан на procmail, как агенте доставки, но может быть легко изменен для пользователя.

    Если требуется иметь официальный домен для исходящей почты, то в /etc/sendmail.cf надо указать:

    # who I masquerade as (null for no masquerading) DMacme.net

    Эта установка позволяет вам иметь ваше имя локально таким же, как у вашего ISP. Sendmail сейчас настроен для отправки почты прямо получателю. Для избежания продолжительных и повторяющихся соединений в тех случаях, когда соединение для приема почты медленное и непостоянное, обычно используют ISP как накопитель почты. Это можно сделать указанием спецификации DS:

    # "Smart" relay host (may be null) DSmail.acme.net

    Заметьте, что sendmail чувствителен к обработке символов табуляции в файле sendmail.cf. Вы можете использовать редактор vi, чтобы убедиться, что символы табуляции не подменяются на другие.

    Прием почты часто может быть выполнен через протокол POP3, который может быть инициализирован при каждом соединении. Скрипт для проверки этого:

    sendmail -q popclient -3 -v mail.acme.net -u dirk -p "PrettySecret" \ -k -o /usr/spool/mail/dirk

    Этот скрипт может быть запущен после установления PPP-сессии. Заметьте, что это только тест, поэтому удостоверьтесь, что местный почтовый ящик не затрагивается при выполнении этого скрипта. Опция -k говорит, что почта остается в почтовом ящике ISP, и вы просто получаете копию ее. Как только убедитесь, что скрипт работает корректно, можете удалить эту опцию.

    Кроме того, пароль будет отображаться в коммандной строке. Это должно быть исправлено ASAP.

    Более безопасная и лучшая версия этого скрипта находится на:

    • Эта версия скрипта требует установленного procmail, который находится на:




      • Procmail - простое и гибкое средство, которое может сортировать входящую почту основываясь на большом количестве критериев. Вдобавок, можно автоматизировать задачи, вроде сообщений-памяток и т.п.

        Заметьте, что когда мы прямо используем procmail, как в этом случае, ситуация несколько отличается от описанной в документации на procmail Файл .forward не требуется, и также нам не нужен .procmailrc. Последний нужен только для сортировки почты.

        Интерфейс пользователя для чтения и отправки почты может быть найден в программах типа Pine или Elm.

        ALT: Для обычного клиента ISP, работающего по коммутируемой линии, нет необходимости иметь активным sendmail демон. Чтобы сократить потребление ресурсов можно закомментировать строку запуска sendmail, которая обчно находится в /etc/rc.d/rc.M.

        ALT: Вместо sendmail может использоваться более простой smail. Он очень хорошо описан в (также как и другие полезные вещи) в Руководстве Сетевого Администратора Linux.

        ALT: Для создания sendmail.cf есть пакет m4. Он прекрасно подходит для модификации существующей конфигурации.

        ALT: Есть менее гибкие, но более простые альтернативы. Pine может быть запусщен в неинтерактивном режиме на указываемый в настройках промежуток времени, например. Можно даже использовать новые версии некоторых веббраузеров.

        ALT: Многим энтузиастам нравится примочка Gnus к Emacs, которая работает с почтой и новостями. Дополнительная информация на:




        • ALT: Альтернативный pop-клиент - это pop-perl5. Доступен на:





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