Мінімальний MTA, який доставляє пошту локально (для крона)?


17

На своєму ноутбуці я встановив крон, який виконує роботу в тиждень. Якщо є що повідомити, я хотів би отримати електронний лист для цього. Зараз я використовую KMail як MUA, який може читати пошту з каталогу Maildir за адресою ~/.local/share/local-mail. Таким чином, я хочу, щоб місцева пошта була доставлена ​​до цієї папки (зі структурою Maildir).

Я сподівався, що вже існує мертва проста програма, яка має sendmailінтерфейс (такий, що echo "$REPORT" | mail -s "$SUBJECT" "$ME"може працювати з нею). Встановлення exim або пересилання електронної пошти на мій віддалений сервер вважається зайвим.

Питання Найпростіший спосіб пересилання всієї пошти з сервера? Здається, націлена на віддалене переадресація, яке не відповідає моїм потребам (мені потрібна доставка по місцевому напрямку). Ця стара нитка Gentoo закінчилася розробкою старого сценарію в Perl. Невже повинна існувати добре продумана, мертва проста програма?

Будь-які рекомендації? Я використовую Arch Linux.


Якщо припустити, що MTA Arch використовується за замовчуванням, встановлений і запущений, ви можете просто використовувати, userX@localhost.localdomainі речі повинні закінчитися /var/spool/mail/userX; ви можете перевірити це самостійно або створити новий обліковий запис, щоб перевірити свій MUA.
goldilocks

2
Якийсь googling привів мене до github.com/corecode/dma aka Dragonfly Mail Agent.
tripleee

Архів @goldilocks як мінімальний розподіл не має встановленого MTA за замовчуванням. /usr/bin/sendmailне існує, і вихід хронів закінчується в /dev/null.
Лекенштейн

@tripleee Я зіткнувся з цим, але проігнорував це, коли побачив згадування SMTP та TLS. Дякую, що згадуєте, я ще раз перегляну. не слухає на порту 25 мені добре звучить.
Лекенштейн

@tripleee На жаль, dma не підтримує Maildir, а лише золотники /var/spool/mail .
Лекенштейн

Відповіді:


7

Оскільки я не зміг знайти існуючу невелику програму, я вирішив написати свою власну. Спочатку я придумав:

#!/bin/bash
# Simple sendmail
# filename per spec at http://cr.yp.to/proto/maildir.html
rand=$((RANDOM % 1000))
msgname=$(date +%s).P$$R$rand.$(hostname | tr '/:' '\057\072')

# Safety measure: do not overwrite existing mail
set -o noclobber

cat > ~peter/".local/share/local-mail/inbox/new/$msgname"

Це спрацювало ... за винятком випадків, коли користувач, що виконує сценарій, не є "peter". Наступником цієї ідеї є "невелика" програма С, фемтомайл . З його README:

femtomail - мінімальний MDA з підтримкою Maildir

femtomail - це мінімальний агент доставки пошти (MDA) для місцевої пошти. Пошта приймається зі стандартного введення та розміщується у вікні Maildir користувача. Це програмне забезпечення призначене для використання на однокористувацькій машині.

Віддалена доставка, демонізування, перевірка відправника тощо не реалізована і не буде реалізована через її складність. femtomail не пишеться тому, що поштового програмного забезпечення не існувало, а тому, що наявне програмне забезпечення було занадто великим для простого завдання доставки електронної пошти місцевому користувачеві .

Робочий процес фемтомайли:

  1. Змініть користувача та групу процесу.
  2. Створіть новий файл з унікальним іменем файлу в поштовому каталозі.
  3. Напишіть Receivedзаголовок у файл.
  4. Передайте дані зі стандартного вводу у файл.
  5. Вихід.

Вихідний код та інструкції з установки доступні за посиланням https://git.lekensteyn.nl/femtomail/ .


1
Було б чудово, якби femtomail міг: прочитати user @ localhost (або ім'я хоста місцевого хоста) та налаштувати цього користувача, написати електронну пошту або в домашній dir, або десь стандартний. знадобиться встановити біти.
Гауте

@gauteh Це вже більш вдосконалене і, ймовірно, не для використання на машині для одного користувача. Більше функцій означає більший код та більший шанс помилок. Який ваш випадок використання?
Лекенштейн

напевно, використовувати його як повного локального агента доставки пошти, між користувачами - без жорсткого коду.
Гауте

@gauteh Я думаю, вам краще з більш повним MDA, таким як Dovecot, для цього випадку використання. Ти можеш виправити фемтомайл для вашого випадку використання, і, можливо, навіть надішлеш PR, якщо інші зацікавлені.
Лекенштейн
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.