How to Send an Email From an Android Application?
Last Updated :
30 Jan, 2025
In this article, we will make a basic Android Application that can be used to send email through your android application. You can do so with the help of Implicit Intent with action as ACTION_SEND with extra fields:
- email id to which you want to send mail,
- the subject of the email, and
- body of the email.
Basically Intent is a simple message object that is used to communicate between android components such as activities, content providers, broadcast receivers, and services, here use to send the email. This application basically contains one activity with EditText to take input of email address, subject, and body of the email from the user and button to send that email.
Step by Step Implementation
Step 1: Create a New Project in Android Studio
To create a new project in Android Studio please refer to How to Create/Start a New Project in Android Studio.
The code for that has been given in both Java and Kotlin Programming Language for Android.
Step 2: Working with the XML Files
Next, go to the activity_main.xml file, which represents the UI of the project. Below is the code for the activity_main.xml file. Comments are added inside the code to understand the code in more detail. This file contains a Relative Layout which contains three Edit texts for receiver mail id, another for the subject of the mail, and last one for the body of the email, and three TextViews for the label and a button for starting intent or sending mail:
activity_main.xml:
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:background="@color/white"
tools:context=".MainActivity">
<EditText
android:id="@+id/editText1"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="100dp"
android:layout_marginEnd="22dp" />
<EditText
android:id="@+id/editText2"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_below="@+id/editText1"
android:layout_alignStart="@+id/editText1"
android:layout_marginTop="20dp" />
<EditText
android:id="@+id/editText3"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_below="@+id/editText2"
android:layout_alignStart="@+id/editText2"
android:layout_marginTop="30dp" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="16dp"
android:textSize="18sp"
android:textStyle="bold"
android:layout_alignBaseline="@+id/editText1"
android:layout_alignBottom="@+id/editText1"
android:layout_alignParentStart="true"
android:text="Send To:"
android:textColor="@color/green" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="16dp"
android:textSize="18sp"
android:textStyle="bold"
android:layout_alignBaseline="@+id/editText2"
android:layout_alignBottom="@+id/editText2"
android:layout_alignParentStart="true"
android:text="Email Subject:"
android:textColor="@color/green" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="16dp"
android:textSize="18sp"
android:textStyle="bold"
android:layout_alignBaseline="@+id/editText3"
android:layout_alignBottom="@+id/editText3"
android:text="Email Body:"
android:textColor="@color/green" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editText3"
android:layout_centerHorizontal="true"
android:textSize="24sp"
android:layout_marginTop="20dp"
android:backgroundTint="@color/green"
android:text="Send email!!" />
</RelativeLayout>
Layout:
Step 3: Working with the MainActivity File
Go to the MainActivity File and refer to the following code. Below is the code for the MainActivity File. Comments are added inside the code to understand the code in more detail.
In MainActivity Intent object is created and its action is defined to ACTION_SEND to send an email, with Intent three extra fields are also added using the putExtra function. These fields are:
- Email of receiver
- Subject of email
- Body of email
setOnClickListener is attached to a button with the intent object in it to make intent with action as ACTION_SEND to send email and intent type as shown in code.
Here is the complete code to send email through intent from the android application:
Java
package org.geeksforgeeks.demo;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
// Declare EditText and Button objects
private Button button;
private EditText sendTo;
private EditText subject;
private EditText body;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize EditText and Button
sendTo = findViewById(R.id.editText1);
subject = findViewById(R.id.editText2);
body = findViewById(R.id.editText3);
button = findViewById(R.id.button);
// Set OnClickListener for the button
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String emailSend = sendTo.getText().toString();
String emailSubject = subject.getText().toString();
String emailBody = body.getText().toString();
// Define Intent object with action attribute as ACTION_SEND
Intent intent = new Intent(Intent.ACTION_SEND);
// Add email details using putExtra
intent.putExtra(Intent.EXTRA_EMAIL, new String[]{emailSend});
intent.putExtra(Intent.EXTRA_SUBJECT, emailSubject);
intent.putExtra(Intent.EXTRA_TEXT, emailBody);
// Set the type of intent
intent.setType("message/rfc822");
// Start the activity with a chooser for email clients
startActivity(Intent.createChooser(intent, "Choose an Email client :"));
}
});
}
}
Kotlin
package org.geeksforgeeks.demo
import android.content.Intent
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
// define objects for edit text and button
private lateinit var button: Button
private lateinit var sendTo: EditText
private lateinit var subject: EditText
private lateinit var body: EditText
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Getting instance of edittext and button
sendTo = findViewById(R.id.editText1)
subject = findViewById(R.id.editText2)
body = findViewById(R.id.editText3)
button = findViewById(R.id.button)
// attach setOnClickListener to button with Intent object define in it
button.setOnClickListener {
val emailSend = sendTo.text.toString()
val emailSubject = subject.text.toString()
val emailBody = body.text.toString()
// define Intent object with action attribute as ACTION_SEND
val intent = Intent(Intent.ACTION_SEND)
// add three fields to intent using putExtra function
intent.putExtra(Intent.EXTRA_EMAIL, arrayOf(emailSend))
intent.putExtra(Intent.EXTRA_SUBJECT, emailSubject)
intent.putExtra(Intent.EXTRA_TEXT, emailBody)
// set type of intent
intent.type = "message/rfc822"
// startActivity with intent with chooser as Email client using createChooser function
startActivity(Intent.createChooser(intent, "Choose an Email client :"))
}
}
}
Output:
Similar Reads
How to Make a Phone Call From an Android Application?
In this article, let's build a basic android application that allows users to make phone calls directly from the app. This is accomplished with the help of Intent with action as ACTION_CALL. Basically Intent is a simple message object that is used to communicate between android components such as ac
5 min read
Components of an Android Application
There are some necessary building blocks that an Android application consists of. These loosely coupled components are bound by the application manifest file which contains the description of each component and how they interact. The manifest file also contains the appâs metadata, its hardware confi
3 min read
How to Create Google Lens Application in Android?
We have seen the new Google Lens application in which we can capture images of any product and from that image, we can get to see the search results of that product which we will display inside our application. What are we going to build in this article? We will be building a simple application in w
10 min read
How to Add Manifest Permission to an Android Application?
An AndroidManifest.xml file must be present in the root directory of every app project's source set. The manifest file provides crucial information about your app to Google Play, the Android operating system, and the Android build tools. Adding permissions to the file is equally important. In this a
2 min read
Send Email in an Android Application using Jetpack Compose
Many times while building an android application. We have to send a mail to any specific address from our android application. Inside this mail, we have to define the email address, subject, and body to be sent over Gmail or any other mail application. In this article, we will be building a simple a
7 min read
How to Build a SOS Mobile Application in Android Studio?
The SOS applications are basically advanced emergency apps that can rescue you and/or your loved ones if you and/or they find themselves in a life-threatening emergency situation and need immediate assistance. When you need some personal assistance, you can actually turn on your phone and can call o
15+ min read
Testing an Android Application with Example
Testing is an essential part of the Android app development process. It helps to ensure that the app works as expected, is bug-free, and provides a seamless user experience. Android offers various testing tools and frameworks that can be used to write and execute different types of tests, including
5 min read
How to Build Android Applications with Gradle?
There are several contemporary build automation technologies available nowadays that may be utilized to create a quicker build when creating a project. Gradle is one of these modern-day automation technologies. Gradle is now used by Android to automate and control the build process while also defini
8 min read
Chat Application in Android Jetpack Compose
Chat Application are common application across Android world leading tech companies are directly or indirectly involved in such kind of Application. In this article, we will Create a Chat Application Using Android Jetpack Compose and integrate it with Firebase to enable real-time Message exchange.Pr
8 min read
How to Launch an Application Automatically on System Boot Up in Android?
In many devices, we need our App to launch automatically when the device is started. In this article, we see how to add the auto-launch functionality to the App on the system boot. System Boot is а stаrt-uÑ sequenÑe thаt stаrts the оÑerаting system оf our device when it is turned оn. This annoying f
3 min read