ارسال ایمیل در برنامه نویسی اندروید

ایمیل (Email) یک پیام الکترونیکی است که توسط کاربر و با استفاده از شبکه، از یک سیستم به سیستم یا سیستم های دیگر ارسال می شود.

قبل از پرداختن به آموزش نحوه ی ارسال ایمیل، لازم است با عملکرداینتنت ها(intent)آشنا باشید؛ اینتنت یک بسته ی حامل اطلاعات است که داده ها را از یک کامپوننت به یک کامپوننت دیگر در داخل یا خارج از اپلیکیشن تحویل می دهد.

برای ارسال ایمیل از اپلیکیشن نیازی نیست یک کلاینت ارسال ایمیل را از پایه برنامه نویسی کنیم، بلکه می توانیم از برنامه های موجودی که قابلیت ارسال email را دارند نظیر برنامه ی پیش فرض ایمیل که توسط سیستم اندروید ارائه می شود، Gmail، Outlook و مانند این ها استفاده کنیم. برای این منظور باید یک اکتیویتی را ایجاد کنیم و با استفاده از اینتنت ضمنی که حاوی نوع فعالیت و داده ی مناسب است یک برنامه ی موجود جهت ارسال ایمیل را راه اندازی کنیم. در مثال این قسمت نیز قصد داریم یک email را با استفاده از یک شی intent که برنامه های موجودِ email را راه اندازی می کند ارسال نماییم.

موارد مورد نیاز برای شی intent جهت ارسال ایمیل نیز در ادامه توضیح داده شده است.

شی Intent – نوع فعالیت (Action) جهت ارسال ایمیل

برای راه اندازی برنامه ای که روی دستگاه نصب است و توانایی ارسال ایمیل را نیز دارد از نوع فعالیت ACTION_SEND استفاده می کنیم. قطعه کد زیر نحوه ی ایجاد یک شی intent را نشان می دهد که عمل ACTION_SEND برایش تعیین شده است.

شی Data/Type – Intent جهت ارسال ایمیل

به منظور ارسال ایمیل باید مانند قطعه کد زیر با استفاده از متد ()mailto:” ،setData” را به عنوان URI و با استفاده از متد ()setType نوع داده ها را “text/plain” تعیین کنیم.

شی Intent – داده های اضافی (Extra) جهت ارسال ایمیل

همچنین سیستم اندروید این امکان را برای ما فراهم آورده تا قبل از ارسال Intent به برنامه ی مقصد مواردی همچون آدرس email مقصد، موضوع، متن و مواردی دیگر را به Intent اضافه کنیم. در جدول زیر تعدادی داده ی اضافی آورده شده است که می توانید در ارسال ایمیل از آن ها استفاده کنید:

شماره داده ی اضافی و توضیحات
۱ EXTRA_BCC:  یک مقدار رشته ای برای نگهداری آدرس ایمیل های مقصد که ارسال در آن ها به شیوه ی (BCC (blind carbon copied است می باشد. در این روش گیرنده های ایمیل نمی توانند بفهمند که ایمیل به غیر از خودشان برای چه کسانی ارسال شده است.
۲ EXTRA_CC: یک مقدار رشته ای برای نگهداری آدرس ایمیل های مقصد که ارسال در آن ها به شیوه ی (CC (carbon copied است می باشد. در این روش گیرنده های ایمیل قادرند بفهمند ایمیل به غیر از خودشان برای چه کسانی ارسال شده است.
۳ EXTRA_EMAIL:  یک رشته برای نگهداری آدرس ایمیل های مقصد است.
۴ EXTRA_HTML_TEXT:  یک ثابت رشته ای و همراه با Intent حاوی ACTION_SEND می باشد که یک جایگزین متنی با فرمت HTML را، به EXTRA_TEXT عرضه می کند.
۵ EXTRA_SUBJECT:  یک ثابت رشته ای است و موضوع پیام را نگه می دارد.
۶ EXTRA_TEXT:  یک ثابت از نوع CharSequence است که با Intent حامل ACTION_SEND استفاده می شود و متن ارسالی را منتقل می کند.
۷ EXTRA_TITLE:  یک مقدار CharSequence حاوی عنوان برنامه ها است و با ACTION_CHOOSER استفاده می شوند.

در قطعه کد زیر نحوه ی افزودن داده های اضافی به Intent نشان داده شد است.

نتیجه ی قطعه کد بالا مانند تصویر زیر خواهد بود.

ارسال ایمیل در اندروید

مثال

این مثال نحوه ی ارسال ایمیل با استفاده از یک برنامه ی دیگر که توسط شی Intent راه اندازی شده است را نشان می دهد. برای این منظور مراحل جدول زیر را دنبال کنید.

توصیه میکنم برای آزمایش این مثال از یک دستگاه واقعی استفاده کنید. چرا که به احتمال زیاد اجرای برنامه در شبیه ساز مجازی نتیجه ی مورد انتظار ما را نخواهد داد. همچنین لازم است حداقل یک اپلیکیشن ارسال ایمیل مانند Gmail نیز روی دستگاه نصب شده باشد.

مرحله شرح
۱ با استفاده ار اندروید استودیو یک پروژه ی جدید با نام SendEmail تحت بسته ی com.example.sendemail ایجاد کنید. نحوه ی ایجاد پروژه ی جدید در بخش آموزشی ساخت اولین پروژه در اندروید استودیو توضیح داده شده است.
۲ مانند آنچه در ادامه آمده است ثابت های مورد نیاز را در فایل res/values/strings.xml تعریف کنید.
۳ محتوای فایل res/layout/activity_main.xml را مانند آنچه در ادامه آمده است تغییر دهید.
۴ محتوای فایل اکتیویتی اصلی java/com.example.sendemail/MainActivity.java را به منظور تعریف Intent جهت راه اندازی برنامه ی ارسال ایمیل مانند آنچه در ادامه آمده است تغییر دهید.
۵ چنانچه از آخرین نسخه ی SDK و بالاترین سطح API استفاده می کنید برنامه را با شبیه ساز اجرا کنید؛ در غیر این صورت مانند آنچه در بخش آموزشی ساخت اولین پروژه در اندروید استودیو توضیح داده شده است از برنامه خروجی بگیرید و آن را روی یک دستگاه واقعی اجرا کنید و به بررسی نتیجه بپردازید.

در زیر محتوای فایل res/values/strings.xml آورده شده است.

محتوای زیر مربوط به فایل res/layout/activity_main.xml می باشد.

در زیر محتوای فایل java/com.example.location/MainActivity.java آورده شده است.

حال نوبت آن رسیده تا با استفاده از اندروید استودیو برنامه را اجرا کنیم. برای این منظور روی آیکون Run که در نوار ابزار قرار دارد کلیک کنید.اگر همه چیز بدون مشکل پیش برود پنجره ی شبیه ساز شما مانند تصویر زیر خواهد بود.

Email در اندروید

حال با کلیک کردن روی دکمه ی ارسال ایمیل یک باکس برای انتخاب کلاینت ارسال ایمیل باز می شود. چناچه Gmail را برای تکمیل عملیات ارسال ایمیل انخاب کنید نتیجه مانند تصویر زیر خواهد بود.

ایمیل در برنامه نویسی اندروید

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *