Я использую offlineimap
для извлечения писем в папку Maildir.Извлеките только часть тела входящих писем с помощью bash
Я хочу автоматически анализировать все новые входящие сообщения в папке Maildir и отправлять только «из», «субъект» и «тело» в качестве мгновенного сообщения где-то в другом месте.
Поэтому я стараюсь обрабатывать все письма с
MPATH=~/Mail
if [ -n "$(ls "$MPATH/INBOX/new/")" ]; then
for f in "$MPATH/INBOX/new/"*; do
SUB="$(cat "$f"|grep '^Subject' | head -n1 | sed "s/Subject: //g")"
FROM="$(cat "$f" | grep '^From' | head -n1 | head -n 1|sed "s/From: //g")"
BODY="$(cat "$f"|sed -e '1,/Content-Transfer-Encoding/d')"
MESS="$FROM: $SUB$BODY"
echo $f
echo "$MESS"
mv "$f" "$MPATH/INBOX/cur/"
done
fi
Это уже отлично работает для некоторых простых писем, но как я могу избавиться от всего, что не равнина тела, как подписи, отсоединяемые, .. .?
использовать инструмент, который понимает почту вместо взлома его с простой строки обработка? –
Я бы, если есть простой инструмент для командной строки bash? – rubo77
Что вы на самом деле пытаетесь сделать здесь? «Прочитайте» свою электронную почту? –