گروه مقاله : اندروید
تاريخ انتشار : 1396/05/18 - 16:14
كد :7769

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

ارسال ایمیل توسط اندروید را در این مقاله توضیح خواهیم داد.

برنامه نویسی اندروید در کرج

 

 

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

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

قبل از شروع اکتیویتی ایمیل ، شما باید نحوه عمل کرد ایمیل با اینتنت ها را بدانید، اینتنت ها داده ها را از یک کامپوننت به کامپوننت دیگر حمل می کنند، اینکار درون نرم افزار و یا خارج از نرم افزار رخ میدهد.

برای ارسال ایمیل از یک نرم افزار ، شما لازم نیستیک email client را از ابتدا بکار بگیرید. بلکه میتوانید از یک email client موجود استفاده کنید. مثلا میتوانید از Email app provided پیشفرض اندروید و یا Gmail, Outlook, K-9 Mail  و غیره استفاده کنید، برای این کار ، ما باید اکتیویتی بنویسیم که به email client متصل شود. اینکار با یک اینتنت implicit یا اینتنت ضمنی با دامنه فعالیت و داده ها انجام میشود. در این مثال ، ما یک ایمیل را از نرم افزار خود با کمک یک شیئ اینتنت ارسال می کنیم.شیئ اینتنت ما در ایم مثال به یک email clients موجود متصل خواهد گشت.

قسمت های زیر توضیح قسمت های مختلف شیئ انتنت برای ارسال ایمیل است.

 شیئ اینتنت – عملیات ارسال ایمیل :

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

Intent emailIntent = new Intent(Intent.ACTION_SEND);

Intent Object - Data/Type to send Email

To send an email you need to specify mailto: as URI using setData() method and data type will be to text/plain using setType() method as follows −

emailIntent.setData(Uri.parse("mailto:"));

emailIntent.setType("text/plain");

Intent Object - Extra to send Email

اندروید از عملیات های add TO ، SUBJECT ، CC ، TEXT و غیره در ارسال ایمیل با کمک فیلدهای مربوطه پشتیبانی می کند. این فیلد ها به اینتنت قبل از ارسال به ایمیل مقصد متصل خواهند شد. شما میتوانید از فیلدهای جدول زیر نیز برای ارسال ایمیل استفاده کنید.

شماره

داده های و توضیحات

1

EXTRA_BCC :

یک رشته در [] آدرس ایمیل را در خود نگه میدارد تا یک کپی از ایمیل را به آن ارسال کند.

2

EXTRA_CC

یک رشته در [] که یک آدرس ایمیل را برای ارسال یک کپی از ایمیل در خود نگه میدارد.

3

EXTRA_EMAIL:

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

4

EXTRA_HTML_TEXT

یک رشته که به اینتنت ملحق میشود و از ACTION_SEND استفاده می کند تا بتواند یک متن EXTRA_TEXT را با فرمت Html ارسال کند.

5

EXTRA_SUBJECT

یک رشته که خط مربوط به موضوع پیام را در خود نگه میدارد.

6

EXTRA_TEXT

یک CharSequence است که با استفاده از ACTION_SEND به اینتنت متصل شده و امکان فرستادن داده های literal data را محیا می کند. یعنی شما میتوانید متغیری را در قالب متن ارسال کنید.

7

EXTRA_TITLE:

اگر ACTION_CHOOSER استفاده گردد کاربر امکان استفاده از  CharSequence در عنوان را خواهد داشت.

 

در این مثال نحوه افزودن داده های اضافه به اینتنت را نشان داده ایم:

 

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

emailIntent.putExtra(Intent.EXTRA_SUBJECT, "subject");

emailIntent.putExtra(Intent.EXTRA_TEXT , "Message Body");

شما در تصویر زیر نتیجه کد های بالا را میبینید

برنامه نویسی اندروید در کرج

 

مثال های برای ایمیل

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

برای انجام این تمرین ، شما باید یک دستگاه موبایل واقعی داشته باشید، که آخرین نسخه اندروید روی آن متصل است، در غیر اینصورت شبیه ساز ممکن است این کار را بطور کامل انجام ندهد. موبایل شما باید به یک سرویس ایمیل مانند Gmail که پیشفرض گوشی های اندروید است متصل باشد. سایر ایمیل ها مانند K9mail را هم میتوان برای انجام این آموزش تنظیم نمود.

گام

توضیحات

1

شما با کمک نرم افزار اندروید استودیو یک نرم افزار به نام sargonco در زیر شاخه com.example.tutorialspoint. ایجاد می کنید.

2

فایل src/MainActivity.java را ویرایش کنید. کد های لازم برای ارسال ایمیل را وارد کنید.

3

فایل src/MainActivity.java که یک  Xml مربوط به طرحبندی است را ویرایش کنید و تمام کامپوننت های رابط کاربری لازم را بیافزاید ما یک دکمه ساده برای اتصال به ایمیل ایجاد کرده ایم.

4

 

5

فایل AndroidManifest.xml را نیز ویرایش کنید ما کد های این فایل را در زیر این جدول ارائه خواهیم کرد.

6

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

کد های زیر محتوای فایل main 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 در این کدها نمایانگر لوگوی برنامه ما خواهد بود.

<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>

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

 

برنامه نویسی اندروید در کرج

 

 

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

 

برنامه نویسی اندروید در کرج

 

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

 

براي بهره مندي از مشاوره تخصصي در زمینه برنامه نویسی اندروید در کرج با شرکت سارگون تماس بگيريد

 

نظرات كاربران :