آموزش ارسال ایمیل در برنامه نویسی اندروید

رتبه: 0 ار 0 رای sssss
ارسال ایمیل دراندروید
نویسنده: تیم تولید محتوا زمان مطالعه 7 دقیقه
Banner Image

ایمیل ها در واقع پیامهایی هستند که توسط سیستم الکترونیک توزیع شده است؛ یعنی با کمک شبکه، از یک کاربر سیستم به یک یا چند گیرنده ارسال می شود.

قبل از شروع Activity ایمیل، باید عملکرد ایمیل و اینتنت آن را بدانید، Intent داده ها را از یک جزء به مؤلفه دیگر انتقال می دهد؛ که ممکن است درون اپلیکیشن باشد یا خارج از آن.

برای ارسال ایمیل از اپلیکیشن خودتان، از ابتدا مجبور نیستید یک سرویس ایمیل پیاده سازی کنید، اما می توانید از یک برنامه موجود مانند اپلیکیشن پیش فرض پست الکترونیکی استفاده کنید که توسط اندروید؛ جی میل، اوت لوک، K-9 Mail و غیره ارائه شده است. به این منظور، ما باید آن Activity را بنویسیم که با استفاده از یک اینتنت ضمنی با عملکرد و داده های مناسب، یک سرویس دهنده ایمیل را راه اندازی کند. در این مثال ، ما می خواهیم با استفاده از یک شی Intent که سرویس های ارسال ایمیل موجود را راه اندازی می کند، یک ایمیل از برنامه خود ارسال کنیم.

بخش بعدی؛ قسمت های متفاوت شیء Intent که برای ارسال یک ایمیل لازم است؛ را توضیح می دهد:

شیء Intent- عملیات ارسال ایمیل

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

Intent emailIntent = new Intent(Intent.ACTION_SEND);

نوع/داده -شیء Intent برای ارسال ایمیل

برای ارسال یک ایمیل؛ شما باید mailto را با استفاده از متد ()setData به عنوان یک URI مشخص کنید و نوع داده با استفاده از متد ()setType باید مانند زیر به صورت text/plain باشد:

emailIntent.setData(Uri.parse(“mailto:”));

emailIntent.setType(“text/plain”);

شیء Intent – اضافی برای ارسال ایمیل

اندروید برای اضافه کردن TO، SUBJECT، CC، TEXT پشتیبانی داخلی دارد. در واقع فیلدهایی هستند که پیش از ارسال اینتنت به یک سرویس ارسال ایمیل هدف؛ می توان به آن اینتنت پیوست کرد. شما می توانید از فیلدهای اضافی زیر در ایمیل خود استفاده کنید:

ردیف داده های اضافی و توضیح
۱ EXTRA_BCC

یک رشته ([ ]String) می باشد که آدرس های ایمیلی را نگه می دارد که باید به صورت بلایند کاربن کپی شده باشند (BCC)

۲ EXTRA_CC

یک رشته ([ ]String) می باشد که آدرس های ایمیلی را نگه می دارد که باید به صورت کاربن کپی شده باشند (CC)

۳ EXTRA_EMAIL

یک رشته ([ ]String) می باشد که آدرس های ایمیلی را نگه می دارد که باید تحویل بشوند.

۴ EXTRA_HTML_TEXT

یک رشته ثابت که با Intent همراه است، که به منظور ارائه جایگزینی برای EXTRA_TEXT به عنوان متن فرمت شده ی HTML با ACTION_SEND استفاده شده است.

۵ EXTRA_SUBJECT

یک رشته ثابت که ارائه دهنده ی یک خط می باشد که می توانید موضوع پیام را به صورت دلخواه بنویسید.

۶ EXTRA_TEXT

یک CharSequence ثابت که با اینتنت همراه شده است و با ACTION_SEND برای ارائه ی داده های اینتنتی که باید ارسال شود؛ استفاده می شود.

۷ EXTRA_TITLE

یک عنوان گفتگوی CharSequence و هنگامی که باACTION_CHOOSER استفاده می شود؛ برای ارائه به کاربر فراهم شده است.

در این جا یک مثال آورده شده است و به شما نشان می دهد که چگونه می توانید داده های اضافی را به Intent خود اضافه کنید.

emailIntent.putExtra(Intent.EXTRA_EMAIL , new String[]{“Recipient”});

emailIntent.putExtra(Intent.EXTRA_SUBJECT, “subject”);

emailIntent.putExtra(Intent.EXTRA_TEXT , “Message Body”);

خروجی کد بالا مانند تصویری است که در زیر می بینید:

نمایش خروجی کدبالا

مثال

مثال زیر به صورت عملی به شما نشان می دهد که چگونه می توانید برای راه اندازی سرویس گیرنده ایمیل از شیء Intent استفاده کنید تا بتوانید یک ایمیل را به گیرنده های داده شده ارسال نمایید.

برای آزمایش کردن این مثال، شما به یک دستگاه موبایل حقیقی احتیاج دارید که با آخرین سیستم عامل اندروید تجهیز شده است؛ در غیر این صورت؛ احتمالاً با شبیه ساز درگیر می شوید زیرا ممکن است به درستی کار نکند. دوم این که شما باید یک سرویس ارسال ایمیل مانند جی میل داشته باشید (به صورت پیش فرض همه نسخه های اندروید یک اپلیکیشن سرویس ارسال ایمیل دارند)؛ همچنین می توانید K9mail را روی دستگاه خود نصب کنید.

ردیف توضیح
۱ شما برای ایجاد یک اپلیکیشن اندروید از استودیو اندروید استفاده می کنید و آن را تحت بسته ی com.example.tutorialspoint به صورت Tutorialspoint نام گذاری می نمایید.
۲ اصلاح فایل src/MainActivity.java و اضافه کردن یک کد مورد نیاز برای مراقبت از ایمیل در حال ارسال
۳ اصلاح فایل XML طرح بندی res/layout/activity_main.xml هر مؤلفه GUI مورد نیاز را اضافه می کند. من یک دکمه ساده را برای راه اندازی سرویس ارسال ایمیل اضافه کرده ام.
۴ اصلاح res/values/strings.xml برای تعریف مقادیر ثابت مورد نیاز
۵ اصلاح AndroidManifest.xml به شکلی که در زیر نشان داده شده است.
۶ اجرای اپلیکیشن برای راه اندازی شبیه ساز اندروید و تأیید این که نتایج تغییرات در اپلیکیشن انجام شده است.

در ادامه می توانید محتوای فایل activity اصلی اصلاح شده src/com.example.Tutorialspoint/MainActivity.java را مشاهده کنید:

package com.example.tutorialspoint;

import android.net.Uri;

import android.os.Bundle;

import android.app.Activity;

import android.content.Intent;

import android.util.Log;

import android.view.Menu;

import android.view.View;

import android.widget.Button;

import android.widget.Toast;

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Button startBtn = (Button) findViewById(R.id.sendEmail);

startBtn.setOnClickListener(new View.OnClickListener() {

public void onClick(View view) {

sendEmail();

}

});

}

protected void sendEmail() {

Log.i(“Send email”, “”);

String[] TO = {“”};

String[] CC = {“”};

Intent emailIntent = new Intent(Intent.ACTION_SEND);

emailIntent.setData(Uri.parse(“mailto:”));

emailIntent.setType(“text/plain”);

emailIntent.putExtra(Intent.EXTRA_EMAIL, TO);

emailIntent.putExtra(Intent.EXTRA_CC, CC);

emailIntent.putExtra(Intent.EXTRA_SUBJECT, “Your subject”);

emailIntent.putExtra(Intent.EXTRA_TEXT, “Email message goes here”);

try {

startActivity(Intent.createChooser(emailIntent, “Send mail…”));

finish();

Log.i(“Finished sending email…”, “”);

} catch (android.content.ActivityNotFoundException ex) {

Toast.makeText(MainActivity.this, “There is no email client installed.”, Toast.LENGTH_SHORT).show();

}

چرب زبان

برنامه نویسی اندروید رو قورت بده! بدون کلاس، سرعت 2 برابر، ماندگاری 3 برابر، پولسازی با ساخت اپلیکیشن و بازی،  سه پک زیر جوابت هست:

پک کامل طراحی رابط کاربری

پک 1 اندروید استودیو (مبتدی تا متوسط)

پک 2 اندروید استودیو (پیشرفته)

}

}

در ادامه ، محتوای فایل res/layout/activity_main.xml را مشاهده می کنید:

(در این قسمت abc نشان دهنده لوگوی tutorialspoint می باشد)

<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”

android:layout_width=”fill_parent”

android:layout_height=”fill_parent”

android:orientation=”vertical” >

<TextView

android:id=”@+id/textView1″

android:layout_width=”wrap_content”

android:layout_height=”wrap_content”

android:text=”Sending Mail Example”

android:layout_alignParentTop=”true”

android:layout_centerHorizontal=”true”

android:textSize=”30dp” />

<TextView

android:id=”@+id/textView2″

android:layout_width=”wrap_content”

android:layout_height=”wrap_content”

android:text=”Tutorials point “

android:textColor=”#ff87ff09″

android:textSize=”30dp”

android:layout_above=”@+id/imageButton”

android:layout_alignRight=”@+id/imageButton”

android:layout_alignEnd=”@+id/imageButton” />

<ImageButton

android:layout_width=”wrap_content”

android:layout_height=”wrap_content”

android:id=”@+id/imageButton”

android:src=”@drawable/abc”

android:layout_centerVertical=”true”

android:layout_centerHorizontal=”true” />

<Button

android:id=”@+id/sendEmail”

android:layout_width=”fill_parent”

android:layout_height=”wrap_content”

android:text=”@string/compose_email”/>

</LinearLayout>

در ادامه محتوای res/values/strings.xml را برای تعریف دو ثابت جدید مشاهده می کنید:

<?xml version=”1.0″ encoding=”utf-8″?>

<resources>

<string name=”app_name”>Tutorialspoint</string>

<string name=”compose_email”>Compose Email</string>

</resources>

در ادامه محتوای پیش فرض AndroidManifest.xml را مشاهده می کنید.

<?xml version=”1.0″ encoding=”utf-8″?>

<manifest xmlns:android=”http://schemas.android.com/apk/res/android”

package=”com.example.Tutorialspoint” >

<application

android:allowBackup=”true”

android:icon=”@drawable/ic_launcher”

android:label=”@string/app_name”

android:theme=”@style/AppTheme” >

<activity

android:name=”com.example.tutorialspoint.MainActivity”

android:label=”@string/app_name” >

<intent-filter>

<action android:name=”android.intent.action.MAIN” />

<category android:name=”android.intent.category.LAUNCHER” />

</intent-filter>

</activity>

</application>

</manifest>

اجازه دهید اپلیکیشن tutorialspoint شما را امتحان کنیم. فرض می کنیم که دستگاه موبایل اندروید حقیقی تان را به کامپیوتر وصل کرده اید. برای اجرای اپلیکیشن از استودیوی اندروید؛ یکی از فایل های activity پروژه تان را باز کنید و روی آیکون Eclipse Run Icon اجرا کلیک کنید که در قسمت نوار ابزار قرار دارد. قبل از این که اپلیکیشن خود را اجرا کنید؛ نصب کننده استودیو اندروید؛ پنجره زیر را نشان می دهد که بتوانید گزینه ای را انتخاب کنید که در آن بتوانید اپلیکیشن اندروید خودتان را اجرا کنید. دستگاه موبایل خود را به عنوان یک گزینه انتخاب کنید و سپس آن را بررسی کنید که صفحه زیر را نمایش می دهد:

اجرای اپلیکیشن tutorialspoint

اکنون از دکمه Compose Email استفاده کنید که تمام سرویس های ارسال ایمیل را برای شما فهرست می کند. از این لیست شما می توانید یکی از سرویس های ارسال ایمیل را انتخاب کنید. من می خواهم سرویس ارسال ایمیل جیمیل استفاده کرده و ایمیل خود را بفرستم که در آن تمامی فیلدهای پیش فرض ارائه شده، مانند زیر در دسترس می باشد. اینجا در قسمت From : شناسه پیش فرض ایمیلی است که شما برای دستگاه اندروید خودتان استفاده کرده اید:

فهرست سرویس های ارسال ایمیل بااستفاده از دکمه Compose Email

شما می توانید هر یک از فیلدهای پیش فرض داده شده را اصلاح کنید و در نهایت از دکمه ارسال ایمیل استفاده می کنید تا ایمیل خود را به گیرنده های ذکر شده ارسال کنید.

profile name
تیم تولید محتوا

بخندید کتاب بخونید و خوب باشید تا جامعه مون به آرامش برسه. لطفا ! هر سوالی دارید در بخش نظرات مطرح کنید. ما یا سایر هموطنان عزیز پاسخ خواهیم داد. برای کمک به سایت ما و گسترش آموزش در بین هموطنان، در سایتها، وبلاگ ها و شبکه های اجتماعی لینک سایت ما را درج کنید.

مطالب پیشنهادی برای شما

محصولات مرتبط

مشاهده همه

دیدگاهتان را بنویسید

1 2 3 4 5

0 نظر درباره «آموزش ارسال ایمیل در برنامه نویسی اندروید»

    هنوز نظری برای این بخش ثبت نشده است
مشاهده همه نظرات
سبد خرید
سبد خرید شما خالی است
× جهت نصب روی دکمه زیر در گوشی کلیک نمائید
آی او اس
سپس در مرحله بعد برروی دکمه "Add To Home Screen" کلیک نمائید