উত্তর:
আসল বার্তাটি একটি সংযুক্তি হিসাবেও প্রদর্শিত হবে, যাতে আপনি এটি সংযুক্তি তালিকা থেকে সংরক্ষণ করতে পারেন। সূচী বা বার্তাটি থেকেই, vসংযুক্তিগুলি খোলার জন্য এবং sসংরক্ষণ করতে আঘাত করুন
s
কমান্ড একটি ডাকবাক্স, যা আপনার জন্য maildir ফর্ম্যাটে আছে সংরক্ষণ করে। দুর্ভাগ্যক্রমে, কোনও সেভ-টু ফাইল কমান্ড নেই, সম্ভবত theতিহাসিক এমবক্স ফর্ম্যাটে, একটি মেল রয়েছে এমন একটি মেলবাক্স যে মেলটি কেবল সেই ফাইল।
mutt
কমান্ড নল-বার্তা (ডিফল্ট শর্টকাট |
) এই জন্য ব্যবহার করা যাবে। এটি একটি কমান্ড লাইন খোলে এবং আপনি লেখেন cat > DESIRED-FILE-PATH
।
"পাইপ-ডিকোড" বিকল্পটি আপনি যখন কোনও বার্তা এইভাবে সংরক্ষণ করেন তখন শিরোনাম এবং মাইম অংশগুলিতে কী ঘটে তা নিয়ন্ত্রণ করে।
এই কার্যকারিতাটির জন্য একটি সম্ভবত ম্যাক্রো লিখতে পারে।
set pipe_decode=yes
আমার মুটারকে যুক্ত করে কাই ফন ফিন্টেল যা লিখছিলেন তা আবিষ্কার করতে আমাকে কিছুটা খোঁড়াতে হয়েছিল।
=
।
আপনি যদি touch
কোনও ফাইল থাকেন এবং তারপরে কোনও বার্তা সংরক্ষণ বা অনুলিপি করার চেষ্টা করেন তবে এটি মুট এটি এমবক্স হিসাবে ব্যবহার করবে।
এছাড়াও আপনি সংরক্ষণের পরিবর্তে অনুলিপিটি ব্যবহার করতে চাইতে পারেন। মুট ধারণা করে যে কোনও মেল কেবল একটি অনুলিপিতে থাকা উচিত এবং অন্য কোনও মেলবক্সে একটি বার্তা সংরক্ষণ করা এটিকে প্রথমটি থেকে মুছে ফেলবে, যখন অনুলিপি একটি উপযুক্ত অনুলিপি করবে।
কাই ভন Fintel এর উত্তর পুরোপুরি কাজ করে, কিন্তু আমি শুধু আমি এই প্রক্রিয়া স্ট্রিমলাইন করার জন্য একটি ম্যাক্রো ভাগ চাই না।
প্রথমত muttrc
: এতে:
macro index,pager S "| ~/.local/bin/file_email /tmp<enter>"
এটি নিম্নলিখিত স্ক্রিপ্টটিতে পূর্ণ ইমেল (শিরোনাম এবং সংযুক্তি সহ) পাইপ দেয়। এখানে একটি এক্সিকিউটেবল ফাইল তৈরি করুন ~/.local/bin/file_email
।
#!/usr/bin/env bash
# Save piped email to "$1/YYMMDD SUBJECT.eml"
# Don't overwrite existing file
set -o noclobber
message=$(cat)
mail_date=$(<<<"$message" grep -oPm 1 '^Date: ?\K.*')
formatted_date=$(date -d"$mail_date" +%y%m%d)
# Get the first line of the subject, and change / to ∕ so it's not a subdirectory
subject=$(<<<"$message" grep -oPm 1 '^Subject: ?\K.*' | sed 's,/,∕,g')
if [[ $formatted_date == '' ]]; then
echo Error: no date parsed
exit 1
elif [[ $subject == '' ]]; then
echo Warning: no subject found
fi
echo "${message}" > "$1/$formatted_date $subject.eml" && echo Email saved to "$1/$formatted_date $subject.eml"
এই স্ক্রিপ্টটি ফাইলটিকে প্রথম যুক্তিতে সংরক্ষণ করে ( muttrc
যেমন উপরের উদাহরণে ইমেলটি এতে সংরক্ষণ করবে /tmp
) save ফাইলের নামটির ফর্ম্যাটটি YYMMDD SUBJECT.eml
। এটি উপ-ডিরেক্টরি তৈরি করা রোধ করতে রূপান্তর /
করে ∕
।
formail
স্ক্রিপ্টে ব্যবহার করা সহজ হবে না ?
formail
, তাই আমার একটি পড়া ছিল। তবে, আপনি আমার স্ক্রিপ্টের কোন অংশটি উল্লেখ করছেন তা আমি পুরোপুরি নিশ্চিত নই? formail
বিষয় এবং তারিখ নিষ্কাশন করতে ব্যবহার করছেন? যদি তা হয় তবে সম্ভবত একটি দুর্দান্ত ধারণা। আমি আপনাকে উত্তর লিখতে অনুরোধ করব; আমি অবশ্যই এটি upvote করব।
আমি সমস্ত প্রস্তাবিত উত্তর চেষ্টা করেছি কিন্তু এটির শিরোনাম এবং সমস্ত কিছু সহ কোনও ফাইলে সংরক্ষণ করার জন্য কাঁচা, মাল্টিপার্ট (পাঠ্য / প্লেইন + পাঠ্য / এইচটিএমএল) ইমেইলটি পাইনি। আমার স্প্যাম-ফিল্টারটি ই-মেইলের সাথে এটি শেখানোর জন্য খাওয়ানোর জন্য এটি দরকার ছিল যে একটি নির্দিষ্ট মেল স্প্যাম কিনা তা ...
আমি যে সমাধানটি নিয়ে এসেছি তা হ'ল e
খোলা বার্তায় (অর্থাত্ "সম্পাদনা বার্তা") টিপুন , যা আপনার পছন্দের সম্পাদকটিতে কাঁচা বার্তাটি খোলে । কাঁচা মানে এখানে, আপনি বার্তাটি যেমনটি মুটে এসেছিলেন ঠিক তেমনই পান, সুতরাং আপনার কাছে সমস্ত শিরোনাম এবং সমস্ত বাইট রয়েছে যা বার্তাটি অন্তর্ভুক্ত করে।
আঘাত করার পরে e
, আমি কেবল একটি ফাইল দিয়ে বাফারকে (আমি সম্পাদককে ভিমে সেট করি ) লিখি :w <path_to_file>/<file_name>
এবং এটিই।
পিএস: আমি এটিকে মন্তব্য হিসাবে যুক্ত করব তবে এটি করার জন্য আপনার একটি নির্দিষ্ট স্তরের খ্যাতি দরকার। এছাড়াও, আমি জানি প্রশ্নটি খুব পুরানো তবে নিওম্যাট এখনও অনেক লোক ব্যবহার করেছেন বলে আমি ভেবেছিলাম এটি কারও সাহায্য করবে।
আপডেট:pipe-decode
কাই যে বিকল্পটির কথা বলছিলেন তা আমি উপেক্ষা করেছি । এই বিকল্পটি সঠিকভাবে সেট করার সাথে এটির মাধ্যমেও কাজ করা হত |
। এখনও আমার সমাধান কাজ করছে; ;)