این سند نحوه ایجاد و ارسال ایمیل با استفاده از Gmail API را توضیح میدهد.
دو روش برای ارسال ایمیل با استفاده از Gmail API وجود دارد:
- شما میتوانید آن را مستقیماً با استفاده از متد
messages.sendارسال کنید. - میتوانید با استفاده از متد
drafts.send، آن را از حالت پیشنویس ارسال کنید. برای اطلاعات بیشتر در مورد ارسال پیام پیشنویس، به بخش «ارسال پیشنویسها» مراجعه کنید.
پیامهای Gmail به صورت رشتههای کدگذاری شده base64URL در فیلد raw منبع messages ارسال میشوند. برای ارسال یک پیام ایمیل:
- محتوای ایمیل را ایجاد کنید و آن را به عنوان یک رشته base64URL کدگذاری کنید.
- یک منبع پیام جدید ایجاد کنید و ویژگی
rawآن را روی رشته base64URL که اخیراً ایجاد کردهاید، تنظیم کنید. - برای ارسال پیام، متد
messages.sendرا فراخوانی کنید، یا اگر در حال ارسال پیشنویس هستید، متدdrafts.sendرا فراخوانی کنید.
جزئیات این گردش کار میتواند بسته به انتخاب کتابخانه کلاینت و زبان برنامهنویسی شما متفاوت باشد.
ایجاد پیامها
رابط برنامهنویسی کاربردی (API) جیمیل به پیامهای ایمیل MIME مطابق با RFC 2822 و کدگذاری شده به صورت رشتههای base64URL نیاز دارد. بسیاری از زبانهای برنامهنویسی دارای کتابخانهها یا ابزارهایی هستند که فرآیند ایجاد و کدگذاری پیامهای MIME را ساده میکنند.
نمونههای کد زیر نحوه ایجاد یک پیام MIME را با استفاده از کتابخانههای کلاینت API گوگل برای زبانهای مختلف نشان میدهد:
جاوا
ایجاد یک پیام ایمیل را میتوان با کلاس MimeMessage در پکیج javax.mail.internet ساده کرد. نمونه کد زیر نحوه ایجاد پیام ایمیل، شامل هدرها را نشان میدهد:
در مرحله بعد، MimeMessage را کدگذاری کنید، یک شیء messages را نمونهسازی کنید و رشته پیام کدگذاری شده base64URL را به عنوان مقدار ویژگی raw تنظیم کنید.
پایتون
نمونه کد زیر نحوه ایجاد یک پیام MIME، کدگذاری آن به یک رشته base64URL و اختصاص آن به فیلد raw منبع messages را نشان میدهد:
حلقه
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: توکن دسترسی که دسترسی به API را اعطا میکند. -
MESSAGE: پیام MIME با فرمت RFC 2822 که به صورت base64URL کدگذاری شده است.
ایجاد پیام با پیوست
ایجاد یک پیام با پیوست مانند ایجاد هر پیام دیگری است، اما فرآیند آپلود فایل به عنوان یک پیام MIME چند بخشی به زبان برنامه نویسی بستگی دارد.
نمونههای کد زیر روشهای ممکن برای ایجاد یک پیام MIME چندبخشی با پیوست را نشان میدهند:
جاوا
نمونه کد زیر نحوه ایجاد یک پیام MIME چند بخشی را نشان میدهد. مراحل رمزگذاری و انتساب همانند create messages است.
پایتون
مشابه مثال ایجاد پیامها ، این مثال نیز رمزگذاری پیام به base64URL و اختصاص آن به فیلد raw از منبع messages را مدیریت میکند.
حلقه
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: توکن دسترسی که دسترسی به API را اعطا میکند. -
MESSAGE: پیام MIME با فرمت RFC 2822 که حاوی یک پیوست است و به صورت base64URL کدگذاری شده است.
ارسال پیام
پس از ایجاد پیام، میتوانید آن را با ارائه آن در بدنه درخواست messages.send ارسال کنید، همانطور که در مثالهای زیر نشان داده شده است:
جاوا
پایتون
حلقه
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: توکن دسترسی که دسترسی به API را اعطا میکند. -
MESSAGE: پیام MIME با فرمت RFC 2822 که به صورت base64URL کدگذاری شده است.
اگر میخواهید پاسخی ارسال کنید و میخواهید ایمیل در یک رشته گروهبندی شود، مطمئن شوید که:
- سرتیترهای
Subjectمطابقت دارند - سربرگهای
ReferencesوIn-Reply-Toاز استاندارد RFC 2822 پیروی میکنند.