Android Phones

How To Send Email in Android Using Intent : 10 minute guide

Dhaval
How To Send Email in Android Using Intent : 10 minute guide

Welcome to our another Android application development tutorial.In this tutorial we would learn how to send email in android using intent

We can easily send email in android via intent. You need to write a few lines of code only as given below

How to send email in Android using intent?

Intent email = new Intent(Intent.ACTION_SEND);  
email.putExtra(Intent.EXTRA_EMAIL, new String[]{ to});  
email.putExtra(Intent.EXTRA_SUBJECT, subject);  
email.putExtra(Intent.EXTRA_TEXT, message);  

//need this to prompts email client only  
email.setType("message/rfc822");  

startActivity(Intent.createChooser(email, "Choose an Email client :"));

activity_main.xml

In the activity_main.xml file, we are going to add 2 EditTexts, 1 MultiLine EditText, 3 TextViews, and 1 Button from the pallet, and create the layout for the given app. Now the activity_main.xml file will like this:

<RelativeLayout xmlns:androclass="http://schemas.android.com/apk/res/android"  
    xmlns:tools="http://schemas.android.com/tools"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    tools:context=".MainActivity" >  

    <EditText  
        android:id="@+id/editText1"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_alignParentRight="true"  
        android:layout_alignParentTop="true"  
        android:layout_marginRight="22dp"  
        android:layout_marginTop="16dp"  
        android:ems="10" />  

    <EditText  
        android:id="@+id/editText2"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_alignLeft="@+id/editText1"  
        android:layout_below="@+id/editText1"  
        android:layout_marginTop="18dp"  
        android:ems="10" >  

        <requestFocus />  
    </EditText>  

    <EditText  
        android:id="@+id/editText3"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_alignLeft="@+id/editText2"  
        android:layout_below="@+id/editText2"  
        android:layout_marginTop="28dp"  
        android:ems="10"  
        android:inputType="textMultiLine" />  

    <TextView  
        android:id="@+id/textView1"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_alignBaseline="@+id/editText1"  
        android:layout_alignBottom="@+id/editText1"  
        android:layout_alignParentLeft="true"  
        android:text="To:" />  

    <TextView  
        android:id="@+id/textView2"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_alignBaseline="@+id/editText2"  
        android:layout_alignBottom="@+id/editText2"  
        android:layout_alignParentLeft="true"  
        android:text="Subject:" />  

    <TextView  
        android:id="@+id/textView3"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_alignBaseline="@+id/editText3"  
        android:layout_alignBottom="@+id/editText3"  
        android:layout_alignParentLeft="true"  
        android:text="Message:" />  

    <Button  
        android:id="@+id/button1"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_alignLeft="@+id/editText3"  
        android:layout_below="@+id/editText3"  
        android:layout_marginLeft="76dp"  
        android:layout_marginTop="20dp"  
        android:text="Send" />  

</RelativeLayout>

YOU MAY ALSO WANT TO Learn how to create library module in Android!

Activity class

Here we create the MainActivity.java file in which we import some android libraries into our code and link our previous layout code to MainActivity.java file So let’s write the code to send an email via intent.

MainActivity.java

package com.androidhire.sendemail;  

import android.os.Bundle;  
import android.app.Activity;  
import android.content.Intent;  
import android.view.Menu;  
import android.view.View;  
import android.view.View.OnClickListener;  
import android.widget.Button;  
import android.widget.EditText;  

public class MainActivity extends Activity {  
    EditText editTextTo,editTextSubject,editTextMessage;  
    Button send;  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  

        editTextTo=(EditText)findViewById(R.id.editText1);  
        editTextSubject=(EditText)findViewById(R.id.editText2);  
        editTextMessage=(EditText)findViewById(R.id.editText3);  

        send=(Button)findViewById(R.id.button1);  

        send.setOnClickListener(new OnClickListener(){  

            @Override  
            public void onClick(View arg0) {  
                 String to=editTextTo.getText().toString();  
                 String subject=editTextSubject.getText().toString();  
                 String message=editTextMessage.getText().toString();  


                 Intent email = new Intent(Intent.ACTION_SEND);  
                  email.putExtra(Intent.EXTRA_EMAIL, new String[]{ to});  
                  email.putExtra(Intent.EXTRA_SUBJECT, subject);  
                  email.putExtra(Intent.EXTRA_TEXT, message);  

                  //need this to prompts email client only  
                  email.setType("message/rfc822");  

                  startActivity(Intent.createChooser(email, "Choose an Email client :"));  

            }  

        });  
    }  

    @Override  
    public boolean onCreateOptionsMenu(Menu menu) {  
        // Inflate the menu; this adds items to the action bar if it is present.  
        getMenuInflater().inflate(R.menu.activity_main, menu);  
        return true;  
    }  

}

Final words

I hope you liked this tutorial.If you find any issues or any bugs do let us know in the comments section below and i hope that you learnt how to send email in android using intents.