ایمیل

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

اساطیر زبان

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

قبل از شروع 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”);

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

Email

مثال

مثال زیر به صورت عملی به شما نشان می دهد که چگونه می توانید برای راه اندازی سرویس گیرنده ایمیل از شیء 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();

}

}

}

در ادامه ، محتوای فایل 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 اجرا کلیک کنید که در قسمت نوار ابزار قرار دارد. قبل از این که اپلیکیشن خود را اجرا کنید؛ نصب کننده استودیو اندروید؛ پنجره زیر را نشان می دهد که بتوانید گزینه ای را انتخاب کنید که در آن بتوانید اپلیکیشن اندروید خودتان را اجرا کنید. دستگاه موبایل خود را به عنوان یک گزینه انتخاب کنید و سپس آن را بررسی کنید که صفحه زیر را نمایش می دهد:

C:\Users\mohammad\Downloads\email1.jpg

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

C:\Users\mohammad\Downloads\email2.jpg

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

تفاوت پک های حرفه ای ما با آموزشهای رایگان: بطور خلاصه از زمین تا آسمان! 1-پکها، جدیدترین نسخه نرم افزارها را آموزش می دهند با قابلیت های بسیار بیشتر. 2-پکها توسط متخصص آن نرم افزار، به صورت کاملا پروژه محور و با حل چالش هایی که در مسیر کار عملی و حرفه ای با آن روبرو می شوید تهیه شده اند و بعد از استفاده، کاملا برای بازار کار آماده اید! 3- متد این پکها کاملا کار شده و تا ماهها، در ذهن تان ماندگارند و یادگیری بسیار سریعتر و کاملتری خواهید داشت. آموزشهای رایگان فقط دستورات نرم افزارها را (آنهم ناقص) بیان می کنند و تازه برای ورود به بازار باید ماهها تجربه عملی هم کسب کنید !!

turned_in

چرب زبان

با این اپلیکیشن ساده، هر زبانی رو فقط با 5 دقیقه در روز، توی 80 روز مثل بلبل حرف بزن! بهترین متد روز، تقویت حافظه، آموزش تصویری. یادگیری زبان کلید یادگیری هر مهارتی در قرن 21 !


حتما بخوانید!

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

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

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست