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

منتشرشده توسط حامد قنبری در تاریخ

در این آموزش، شما یاد خواهید گرفت که به طور مستقیم از برنامه اندروید خود یک ایمیل بفرستید. برای ارسال ایمیل از اندروید ما از Intent.ACTION.SEND برای تماس با کلاینت ایمیل موجود استفاده خواهیم کرد. اگر شما هیچ کدام از ایمیل های خود را در تلفن ندارید، این ایمیل نمی تواند ارسال شود.از این رو با خطا مواجه خواهد شد.

به منظور درک بهتر موضوع مثالی در ذیل آورده می شود:

اگر در داخل برنامه اکلیپس یا اندروید استودیو قرار دارید پروژه جدیدی را  ایجاد کنید

اکلیپس :File ⇒ New Android ⇒ Application Project

اندروید استودیو :File ⇒ New  ⇒ New Project

اما اگر هنوز برنامه خود را باز نکرده اید یکی از برنامه های فوق را باز نموده و بعد از تعیین مشخصات(نامگذاری) ، تعیین حداقل sdk  و نوع اکتیویتی (blank  یا Empty) ، نام اکتیویتی ابتدایی و اصلی خود  را همان MainActivity قرار دهید. بعد از لود کامل برنامه ، در مسیر res ⇒layout لایه متناظر اکتیوتی اصلی یعنی activity_main را پیدا نمود و کدهای مندرج و پیش فرض آن را پاک کرده و کدهای xml  زیر را به آن اضافه کنید:

 

 

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.psrd.myapplication.MainActivity"
    android:background="#e3d7d7">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="موضوع"
        android:textStyle="bold"
        android:layout_alignParentTop="true"
        android:layout_alignLeft="@+id/textView2"
        android:layout_alignStart="@+id/textView2" />

    <EditText
        android:id="@+id/subject"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/textView3"
        android:hint="Subject"
        android:inputType="text"
        android:layout_alignRight="@+id/send_button"
        android:layout_alignEnd="@+id/send_button" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="40dp"
        android:text="به"
        android:textStyle="bold"
        android:layout_below="@+id/subject"
        android:layout_toRightOf="@+id/email"
        android:layout_toEndOf="@+id/email"
        android:layout_marginLeft="55dp"
        android:layout_marginStart="55dp" />

    <EditText
        android:id="@+id/email"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/textView2"
        android:layout_toRightOf="@+id/textView3"
        android:hint="Email"
        android:inputType="textEmailAddress"
        android:layout_alignRight="@+id/subject"
        android:layout_alignEnd="@+id/subject" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/email"
        android:layout_marginTop="15dp"
        android:text="پیام"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/message"
        android:layout_width="wrap_content"
        android:layout_height="150dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/textView3"
        android:gravity="top"
        android:hint="متن شما در اینجا قرار می گیرد"
        android:inputType="textMultiLine"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />

    <Button
        android:id="@+id/send_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="44dp"
        android:background="#498b24"
        android:padding="5dp"
        android:text="ارسال پیام"
        android:textColor="#fff"
        android:layout_below="@+id/message"
        android:layout_centerHorizontal="true" />
</RelativeLayout>

 

سپس کلاس اصلی یا همان MainActivity  را باز کرده و کدهای زیر را در آن قرار دهید:

package com.example.psrd.myapplication;

import android.content.Intent;
        import android.os.Bundle;
        import android.support.v7.app.AppCompatActivity;
        import android.view.View;
        import android.widget.Button;
        import android.widget.EditText;

/**
 * Created by psrd.ir.
 */
public class MainActivity extends AppCompatActivity {

    Button sendEmailButton;
    EditText emailAddress;
    EditText emailSubject;
    EditText message;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        emailAddress = (EditText) findViewById(R.id.email);
        emailSubject = (EditText) findViewById(R.id.subject);
        message = (EditText) findViewById(R.id.message);
        sendEmailButton = (Button) findViewById(R.id.send_button);

        sendEmailButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String toemailAddress = emailAddress.getText().toString();
                String msubject = emailSubject.getText().toString();
                String mmessage = message.getText().toString();

                Intent emailApp = new Intent(Intent.ACTION_SEND);
                emailApp.putExtra(Intent.EXTRA_EMAIL, new String[]{toemailAddress});
                emailApp.putExtra(Intent.EXTRA_SUBJECT, msubject);
                emailApp.putExtra(Intent.EXTRA_TEXT, mmessage);
                emailApp.setType("message/rfc822");
                startActivity(Intent.createChooser(emailApp, "Send Email Via"));

            }
        });
    }

 

حال برنامه را اجرا کرده و نتیجه کار خود را ببینید

 

 


0 دیدگاه

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

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

-- بارگیری کد امنیتی --