كيفية الحصول على عنوان URL الدائم لرسالة بريد إلكتروني في Gmail باستخدام Apps Script

تحتوي جميع رسائل البريد الإلكتروني الموجودة في صندوق بريد Gmail الخاص بك على عنوان ويب دائم ويمكنك إضافة عنوان URL هذا إلى إشاراتك المرجعية للوصول بسرعة إلى تلك الرسالة في المستقبل. يمكنك حفظ روابط الرسائل هذه في قائمة المهام أو ملاحظات الاجتماع لأنها توفر سياقًا مهمًا للمحادثة.
عنوان URL لأي رسالة بريد إلكتروني هو Gmail ويتبع التنسيق القياسي:
https://mail.google.com/mail/u/<<UserId>>/#label/<<Label>>/<<UniqueId>>
ال UserId
هو المعرف التسلسلي لحساب Gmail المسجل حاليًا (الافتراضي هو 0
). ال Label
هو اسم تصنيف Gmail الذي توجد به الرسالة (أو استخدمه all
). ال UniqueId
هو معرف فريد يعينه Gmail لكل رسالة.
المفتاح هنا هو UniqueId
التي تم تعيينها داخليًا بواسطة Gmail.
احصل على روابط رسائل Gmail باستخدام Google Apps Script
عند إرسال بريد إلكتروني باستخدام Google Apps Script، تقوم واجهة برمجة تطبيقات Gmail بإرجاع معرف فريد يمكنك استخدامه لتحديد عنوان URL لرسالة البريد الإلكتروني في العناصر المرسلة.
فيما يلي إجراء بسيط لإرسال بريد إلكتروني بتشفير Base64.
const sendGmailMessage = (mimeText) => {
const GMAIL_API = 'https://gmail.googleapis.com/upload/gmail/v1/users/me/messages/send';
const params = {
method: 'POST',
contentType: 'message/rfc822',
headers: {
Authorization: `Bearer ${ScriptApp.getOAuthToken()}`
},
payload: mimeText
};
const response = UrlFetchApp.fetch(GMAIL_API, params);
const { id: messageId } = JSON.parse(response.getContentText());
return messageId;
};
الآن بعد أن أصبح لديك messageId
لرسالة البريد الإلكتروني الصادرة، هناك ثلاث طرق على الأقل للحصول على عنوان URL (الرابط الثابت) لرسالة البريد الإلكتروني:
الخيار 1: استخدم تنسيق URL القياسي
const getEmailMessageUrl = (messageId) => {
return `https://mail.google.com/mail/u/0/#all/${messageId}`;
};
الخيار 2: استخدم Apps Script للحصول على عنوان URL لسلسلة رسائل البريد الإلكتروني
في هذا الأسلوب، نحصل على سلسلة الرسائل المرتبطة برسالة البريد الإلكتروني ثم نحصل على عنوان URL للرسالة الأولى في سلسلة المحادثات.
const getThreadUrl = (messageId) => {
const message = GmailApp.getMessageById(messageId);
return message.getThread().getPermalink();
};
هذا هو النهج المفضل لدي لأنه الأكثر موثوقية. عندما تقوم بإرسال رسالة بريد إلكتروني، يتم تعيين معرف رسالة فريد لرسالة البريد الإلكتروني بواسطة خدمة الإرسال. يتم تخزين معرف الرسالة هذا في Message-Id
رأس رسالة البريد الإلكتروني ويستخدمه عميل البريد الإلكتروني الخاص بك لتجميع الرسائل في نفس المحادثة.
يوفر Gmail عامل تشغيل بحث rfc822msgid خاصًا للبحث في رسائل البريد الإلكتروني حسب معرف الرسالة ويمكننا استخدام عامل تشغيل البحث هذا للحصول على عنوان URL لرسالة البريد الإلكتروني.
const getMessageUrl = (messageId) => {
const message = GmailApp.getMessageById(messageId);
const rfc822Id = message.getHeader('Message-Id');
const searchQuery = `rfc822msgid:<${rfc822Id}>`;
return `https://mail.google.com/mail/u/0/#search/${searchQuery}`;
};
ذات صلة: احصل على عنوان بريد إلكتروني ثانٍ باستخدام عنوان @gmail الخاص بك