একজন মন্তব্যকারীকে যেমন ইঙ্গিত দেওয়া হয়েছে, "ইনবক্সের প্রথম বার্তা পান" সম্ভবত আপনি যা প্রত্যাশা করছেন তা ফিরে পাবে না।
অ্যাপলস্ক্রিপ্ট ব্যবহার করে বার্তাগুলি পুনরুদ্ধার করার সময়, মেল আপনার মেলবক্স অ্যাকাউন্টগুলিকে বর্ণমালা অনুসারে বাছাই করে । প্রতিটি অ্যাকাউন্টের ইনবক্সের মধ্যে, বার্তাগুলি সর্বাধিক নতুনভাবে সাজানো হয়। আপনি মেলটিতে যা নির্বাচন করেছেন সেটি অ্যাপলস্ক্রিপ্টে ফিরে আসে এমন ক্রম পরিবর্তন করে না।
সুতরাং আপনার যদি এই অ্যাকাউন্টে নিম্নলিখিত অ্যাকাউন্ট এবং ইনবক্স বার্তাগুলি মেলে প্রদর্শিত হয়:
- আমার আইক্লাউড
- বার্তা 1/5/16 তারিখ
- বার্তা 1/10/16 তারিখ
- আমার জিমেইল
- বার্তা 1/10/16 তারিখ
- বার্তা 1/5/16 তারিখ
"ইনবক্সের প্রথম বার্তা পান" "আমার জিমেইল" অ্যাকাউন্ট থেকে 1/5/16 তারিখের বার্তাটি ফিরিয়ে দেবে (জি আমার আগে আসে, 1/5/16 1/10/16 এর আগে আসে)।
আমার ধারণা মেল এ আপনার একাধিক অ্যাকাউন্ট রয়েছে।
নির্দিষ্ট মেলবক্সের নাম দিন। এটি সর্বদা "আমার Gmail" এর সর্বশেষতম বার্তায় ম্যাসেজটি সেট করবে। (অ্যাকাউন্টের নামটি একই নাম যা আপনি মেলটিতে ইনবক্সের নীচে তালিকায় দেখতে পান)।
set theMessage to first message in mailbox "INBOX" of account "My Gmail"
এটি মেল চলন্ত হিসাবে একটি অস্বাভাবিক পদ্ধতি, সুতরাং আপনার মেলবক্সে প্রথম বার্তাটি অপ্রত্যাশিতভাবে আপনার দ্বিতীয় বার্তা হয়ে উঠতে পারে।
বার্তাগুলি থেকে ডেটা আহরণের বেশ কয়েকটি নির্ভরযোগ্য উপায় এখানে রয়েছে:
নির্বাচিত বার্তাগুলি ব্যবহার করুন (মেল এ ক্লিক করে আপনি নির্বাচিত বার্তা ):
tell application "Mail"
set theMessages to selection
-- This block extracts the topics from the messages
repeat with theMessage in theMessages
set theMessageText to content of theMessage
try
-- Set topic to the string starting just after the hash
set topic to rich text ((offset of "#" in theMessageText) + 1) thru end of theMessageText
-- Truncate the topic at the first space
set topic to rich text 1 thru ((offset of " " in topic) - 1) of topic
on error
-- No topic found in message
set topic to ""
end try
log topic
end repeat
end tell
মেল বিধি (নির্দিষ্ট মানদণ্ডের সাথে মেলে এমন বার্তাগুলিতে স্ক্রিপ্ট চালান)। মেল এ, পছন্দসমূহ> বিধি খুলুন। ক্রিয়া হিসাবে "অ্যাপলস্ক্রিপ্ট রান করুন" দিয়ে একটি নতুন নিয়ম তৈরি করুন। মেনু থেকে "অনুসন্ধানে ওপেন করুন" নির্বাচন করুন যা আপনাকে কোন স্ক্রিপ্টটি চালাতে হবে তা নির্বাচন করতে দেয়। স্ক্রিপ্ট সম্পাদক খুলুন এবং মেল খোলা ফোল্ডারে স্ক্রিপ্ট হিসাবে নীচের কোডটি সংরক্ষণ করুন। মেল এ ফিরে, চালিত স্ক্রিপ্ট হিসাবে আপনার সংরক্ষিত স্ক্রিপ্টটি নির্বাচন করুন:
using terms from application "Mail"
on perform mail action with messages theMessages for rule thisRule
-- This block extracts the topics from the messages
repeat with theMessage in theMessages
set theMessageText to content of theMessage
try
-- Set topic to the string starting just after the hash
set topic to rich text ((offset of "#" in theMessageText) + 1) thru end of theMessageText
-- Truncate the topic at the first space
set topic to rich text 1 thru ((offset of " " in topic) - 1) of topic
on error
-- No topic found in message
set topic to ""
end try
log topic
end repeat
end perform mail action with messages
end using terms from