يوضّح هذا المستند كيفية إنشاء رسائل إلكترونية وإرسالها باستخدام Gmail API.
تتوفّر طريقتان لإرسال رسائل إلكترونية باستخدام Gmail API:
- يمكنك إرسالها مباشرةً باستخدام طريقة
messages.send. - يمكنك إرسالها من مسودة باستخدام الطريقة
drafts.send. لمزيد من المعلومات حول إرسال مسودة رسالة، يُرجى الاطّلاع على إرسال المسودات.
يتم إرسال رسائل Gmail كسلاسل مرمّزة باستخدام base64URL ضمن الحقل
raw
لأحد موارد messages. لإرسال رسالة إلكترونية، اتّبِع الخطوات التالية:
- أنشئ محتوى الرسالة الإلكترونية ورمِّزه كسلسلة base64URL.
- أنشِئ مصدر رسالة جديدًا واضبط السمة
rawعلى السلسلة base64URL التي أنشأتها للتو. - استدعِ طريقة
messages.sendأو طريقةdrafts.sendإذا كنت تريد إرسال مسودّة، وذلك لإرسال الرسالة.
يمكن أن تختلف تفاصيل سير العمل هذا حسب اختيارك لمكتبة برامج العميل ولغة البرمجة.
إنشاء رسائل
تتطلّب واجهة برمجة التطبيقات Gmail API رسائل إلكترونية بتنسيق MIME متوافقة مع RFC 2822 ومشفّرة كسلاسل base64URL. تتضمّن العديد من لغات البرمجة مكتبات أو أدوات تسهّل عملية إنشاء رسائل MIME وتشفيرها.
تعرض نماذج الرموز البرمجية التالية كيفية إنشاء رسالة MIME باستخدام مكتبات برامج Google API لعدة لغات:
جافا
يمكن تبسيط عملية إنشاء رسالة إلكترونية باستخدام الفئة MimeMessage في الحزمة javax.mail.internet. يوضّح نموذج الرمز البرمجي التالي كيفية إنشاء رسالة البريد الإلكتروني، بما في ذلك العناوين:
بعد ذلك، عليك ترميز MimeMessage وإنشاء عنصر messages وتحديد سلسلة الرسائل المرمّزة باستخدام base64URL كقيمة للسمة raw.
Python
يوضّح نموذج الرمز البرمجي التالي كيفية إنشاء رسالة MIME وترميزها إلى سلسلة base64URL وتعيينها إلى الحقل raw للمورد messages:
cURL
curl --request POST \
'https://gmail.googleapis.com/gmail/v1/users/me/drafts' \
--header 'Authorization: Bearer ACCESS_TOKEN' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"message":{"raw":"MESSAGE"}}'
غيِّر القيم في السلسلة على الشكل التالي:
ACCESS_TOKEN: رمز الدخول الذي يمنح الإذن بالوصول إلى واجهة برمجة التطبيقات.MESSAGE: رسالة MIME المنسَّقة وفقًا لمعيار RFC 2822، والمشفَّرة بتنسيق base64URL.
إنشاء رسائل تتضمّن مرفقات
إنشاء رسالة تتضمّن مرفقًا يشبه إنشاء أي رسالة أخرى، ولكن عملية تحميل الملف كرسالة MIME متعددة الأجزاء تعتمد على لغة البرمجة.
تعرض عيّنات الرموز البرمجية التالية طرقًا محتملة لإنشاء رسالة MIME متعددة الأجزاء تتضمّن مرفقًا:
جافا
توضح عينة التعليمات البرمجية التالية كيفية إنشاء رسالة MIME متعددة الأجزاء. تتشابه خطوات الترميز والتخصيص مع خطوات إنشاء الرسائل.
Python
على غرار مثال إنشاء الرسائل، يتعامل هذا المثال أيضًا مع ترميز الرسالة إلى base64URL وتعيينها للحقل raw الخاص بمورد messages.
cURL
curl --request POST \
'https://gmail.googleapis.com/gmail/v1/users/me/drafts' \
--header 'Authorization: Bearer ACCESS_TOKEN' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"message":{"raw":"MESSAGE"}}'
غيِّر القيم في السلسلة على الشكل التالي:
ACCESS_TOKEN: رمز الدخول الذي يمنح الإذن بالوصول إلى واجهة برمجة التطبيقات.-
MESSAGE: رسالة MIME منسَّقة وفقًا لمعيار RFC 2822 تتضمّن مرفقًا، تم ترميزها باستخدام base64URL.
إرسال الرسائل
بعد إنشاء رسالة، يمكنك إرسالها من خلال توفيرها في نص الطلب الخاص بطريقة messages.send، كما هو موضّح في الأمثلة التالية:
جافا
Python
cURL
curl --request POST \
'https://gmail.googleapis.com/gmail/v1/users/me/messages/send' \
--header 'Authorization: Bearer ACCESS_TOKEN' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"raw":"MESSAGE"}'
غيِّر القيم في السلسلة على الشكل التالي:
ACCESS_TOKEN: رمز الدخول الذي يمنح الإذن بالوصول إلى واجهة برمجة التطبيقات.MESSAGE: رسالة MIME المنسَّقة وفقًا لمعيار RFC 2822، والمشفَّرة بتنسيق base64URL.
إذا كنت تحاول إرسال ردّ وتريد تجميع الرسالة الإلكترونية في سلسلة محادثات، تأكَّد مما يلي:
- تتطابق العناوين
Subject - يتّبع العنوانان
ReferencesوIn-Reply-Toمعيار RFC 2822.