पंजे IMAP कैश से ईमेल आयात करें [बंद]


1

मैं Claws मेल आंतरिक कैश से कई फ़ोल्डरों से बना एक IMAP खाता आयात करने की कोशिश कर रहा हूं। पंजे दुर्भाग्य से रूट खाते का चयन करके सभी फ़ोल्डरों को निर्यात करने में असमर्थ हैं।

आंतरिक पंजे कैश फ़ोल्डर की जाँच करते समय, प्रत्येक मेल एक सादा पाठ फ़ाइल होती है जिसका नाम निम्न है:

base_path/My Account/Folder ABC/1
base_path/My Account/Folder ABC/2
base_path/My Account/Folder ABC/3
base_path/My Account/Folder ABC/4

base_path/My Account/Folder DEF/1
base_path/My Account/Folder DEF/2
base_path/My Account/Folder DEF/3

base_path/My Account/Folder X/etc...

मैंने इस संरचना को केमेल और बाल्सा जैसे विभिन्न मेल रीडर के साथ आयात करने की कोशिश की, लेकिन प्रत्येक आयात विफल रहा। मैं बस इन सभी मेलों को आसानी से सुलभ और पठनीय चाहूंगा।

लिनक्स पर कौन सा उपकरण मैं इस तरह की संरचना को आयात करने के लिए उपयोग कर सकता हूं?

जवाबों:


2

चूंकि यह संदेश प्रति एक फ़ाइल है, जिसमें मूल RFC 822-प्रारूप डेटा शामिल है, इसलिए केवल फ़ाइलों का नाम बदलकर Maildir ++ लेआउट में परिवर्तित करना आसान है। बाद में, इसे कम से कम बलसा और मठ द्वारा पढ़ा जा सकता है, साथ ही अधिकांश आईएमएपी सर्वर (यदि आप फ़ाइलों को अपलोड कर सकते हैं)।

#!/usr/bin/env bash

inputroot=~/.claws-mail/imapcache

output=~/claws.maildir

find "$inputroot/" -mindepth 2 -type d | while read -r srcdir; do
    # Maildir++ uses <dir>/.a.b.c/ for subfolder hierarchy;
    # the "INBOX" itself is just <dir>/, having <dir>/{cur,new,tmp}/, but it
    # is not used during this conversion, which puts all mail in subfolders.
    folder=${srcdir#$inputroot}
    folder=/${folder#/}
    folder=${folder//./_}
    folder=${folder//"/"/.}
    dstdir=$output/$folder
    find "$srcdir" -maxdepth 1 -type f -not -name '.*' |
    while read -r srcfile; do
        if [ ! -d "$dstdir/cur" ]; then
            echo "creating: $dstdir"
            mkdir -p "$dstdir/cur" "$dstdir/new" "$dstdir/tmp"
        fi
        # in cur/, filenames are <unique>:2,<flags> (S for "seen")
        dstname="claws.${srcfile##*/}.$(stat -c %Y "$srcfile"):2,S"
        cp -a "$srcfile" "$dstdir/cur/$dstname"
    done
done
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.