This article explains how to send an Email in Android. Android Studio is used to create the sample.
This application will send an email on a button click. In this, you will first create an XML file and use three textViews, three editTexts, and a button. So the first edittext will use the email id of the recipient, the second edittext will use the subject and the third will contain the message. On a button click, you can send the email. We use an intent to send the email so you will get the intent in the intent object. You will call the putExtra() method that es the email id, subject and text.
- Intent i=new Intent(Intent.ACTION_SEND);
- i.putExtra(Intent.EXTRA_EMAIL,new String[]{to});
- i.putExtra(Intent.EXTRA_SUBJECT,subject);
- i.putExtra(Intent.EXTRA_TEXT,message);
- i.setType("meassge/rfc822");
- startActivity(Intent.createChooser(i,"choose:"));
Use the following procedure to create a sample of sending an Email in Android.
Step 1
Create an XML file.
In the XML file, you will first create an XML file and use three textViews, three editTexts, and a button. So the first edittext will use the email id of the recipient, the second edittext will use the subject and the third will contain the message on a button click.
- <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:paddingLeft="@dimen/activity_horizontal_margin"
- android:paddingRight="@dimen/activity_horizontal_margin"
- android:paddingTop="@dimen/activity_vertical_margin"
- android:paddingBottom="@dimen/activity_vertical_margin"
- tools:context=".MainActivity">
- <LinearLayout
- android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:orientation="horizontal"
- >
- <TextView
- android:id="@+id/textView1"
- android:ems="4"
- android:textSize="30dp"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="To" />
- <EditText
- android:layout_marginLeft="0dp"
- android:id="@+id/editText1"
- android:layout_width="200dp"
- android:layout_height="wrap_content"
- />
- </LinearLayout>
- <LinearLayout
- android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:layout_marginTop="100dp"
- android:orientation="horizontal">
- <TextView
- android:id="@+id/textView1"
- android:ems="4"
- android:textSize="30dp"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Subject" />
- <EditText
- android:layout_marginLeft="0dp"
- android:id="@+id/editText2"
- android:layout_width="200dp"
- android:layout_height="wrap_content"
- />
- </LinearLayout>
- <LinearLayout
- android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:orientation="horizontal"
- android:layout_marginTop="200dp">
- <TextView
- android:id="@+id/textView1"
- android:ems="4"
- android:textSize="30dp"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Message" />
- <EditText
- android:layout_marginLeft="0dp"
- android:id="@+id/editText3"
- android:layout_width="200dp"
- android:inputType="textImeMultiLine"
- android:layout_height="wrap_content"
- />
- </LinearLayout>
- <Button
- android:id="@+id/buttonSend"
- android:layout_width="150dp"
- android:text="Send"
- android:layout_marginLeft="100dp"
- android:layout_height="wrap_content"
- android:layout_marginTop="350dp"></Button>
- </RelativeLayout>
Step 2
Create a Java class file.
We use an intent to send an email so you will get the intent in the intent object. You will call the putExtra() method that es the email id, subject and text as in the following:
- package com.sendemail;
-
- import android.content.Intent;
- import android.os.Bundle;
- import android.app.Activity;
- import android.view.Menu;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
-
- public class MainActivity extends Activity {
-
- EditText editText1,editText2,editText3;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
-
- editText1=(EditText)findViewById(R.id.editText1);
-
- editText2=(EditText)findViewById(R.id.editText2);
- editText3=(EditText)findViewById(R.id.editText3);
- Button buttonSend=(Button)findViewById(R.id.buttonSend);
- buttonSend.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
-
- String to=editText1.getText().toString();
- String subject=editText2.getText().toString();
- String message=editText3.getText().toString();
-
- Intent i=new Intent(Intent.ACTION_SEND);
- i.putExtra(Intent.EXTRA_EMAIL,new String[]{to});
- i.putExtra(Intent.EXTRA_SUBJECT,subject);
- i.putExtra(Intent.EXTRA_TEXT,message);
- i.setType("meassge/rfc822");
- startActivity(Intent.createChooser(i,"choose:"));
- }
- });
-
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
-
- getMenuInflater().inflate(R.menu.main, menu);
- return true;
- }
- }
Step 3
Android Manifest. xml file
In the Android Manifest.xml file you will provide the internet permission as in the following:
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.sendemail"
- android:versionCode="1"
- android:versionName="1.0" >
-
- <uses-sdk
- android:minSdkVersion="7"
- android:targetSdkVersion="16" />
-
- <application
- android:allowBackup="true"
- android:icon="@drawable/ic_launcher"
- android:label="@string/app_name"
- android:theme="@style/AppTheme" >
- <activity
- android:name="com.sendemail.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>
- <uses-permission android:name="android.permission.INTERNET"></uses-permission>
- </manifest>
Step 4
To run this application in the emulator you need to create an id form to send the Email. To create the id you go to the emulator settings and select add account; it will provide you a new page where you will enter your email id and word.
Go to the settings of the emulator as in the following:
Click on "+Add Account"; it will display a new page where you will enter the email_id from which you will send the email id to the other user.
Click on the "Next" button.
Step 5
After running your application your email will be sent upon button click.