¿Cómo enviar un correo electrónico desde su aplicación de Android?

En este artículo, creará una aplicación básica de Android que se puede usar para enviar correos electrónicos a través de su aplicación de Android.

Puede hacerlo con la ayuda de Intent with action como ACTION_SEND con campos adicionales:

  • ID de correo electrónico al que desea enviar el correo,
  • asunto del correo electrónico y
  • cuerpo del correo electrónico .

Básicamente , Intent es un objeto de mensaje simple que se usa para comunicarse entre componentes de Android, como actividades, proveedores de contenido, receptores de transmisión y servicios , aquí se usa para enviar el correo electrónico.

Esta aplicación básicamente contiene una actividad con EditText para ingresar la dirección de correo electrónico, el asunto y el cuerpo del correo electrónico del usuario y el botón para enviar ese correo electrónico.

  • Paso 1. activity_main.xml
    activity_main.xml contiene un diseño relativo que contiene tres textos de edición para la identificación del correo del destinatario, otro para el asunto del correo y el último para el cuerpo del correo electrónico y tres vistas de texto para la etiqueta y un botón para comenzar intención o envío de correo:

    actividad_principal.xml

    <?xml version="1.0" encoding="utf-8"?>
      
    <!--Relative Layout-->
    <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">
      
        <!--Edit text for email id-->
        <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="18dp"  
          />  
      
        <!--Edit text for email subject-->
        <EditText  
            android:id="@+id/editText2"  
            android:layout_width="wrap_content"  
            android:layout_height="wrap_content"  
            android:layout_below="@+id/editText1"  
            android:layout_alignLeft="@+id/editText1"  
            android:layout_marginTop="20dp"  
            />    
      
        <!--Edit text for email body-->
        <EditText  
            android:id="@+id/editText3"  
            android:layout_width="wrap_content"  
            android:layout_height="wrap_content" 
            android:layout_marginTop="30dp"  
            android:layout_below="@+id/editText2"  
            android:layout_alignLeft="@+id/editText2"    
          />  
      
        <!--text Views for label-->
        <TextView  
            android:id="@+id/textView1" 
            android:textColor="#0F9D58"
            android:text="Send To:" 
            android:layout_width="wrap_content"  
            android:layout_height="wrap_content"  
            android:layout_alignBaseline="@+id/editText1"  
            android:layout_alignBottom="@+id/editText1"  
            android:layout_alignParentLeft="true"  
            />  
      
        <TextView  
            android:id="@+id/textView2" 
            android:textColor="#0F9D58"
            android:text="Email Subject:" 
            android:layout_width="wrap_content"  
            android:layout_height="wrap_content"  
            android:layout_alignBaseline="@+id/editText2"  
            android:layout_alignBottom="@+id/editText2"  
            android:layout_alignParentLeft="true"  
            />  
      
        <TextView  
            android:id="@+id/textView3"  
            android:textColor="#0F9D58"
            android:text="Email Body:"
            android:layout_width="wrap_content"  
            android:layout_height="wrap_content"  
            android:layout_alignBaseline="@+id/editText3"  
            android:layout_alignBottom="@+id/editText3"   
            />  
      
        <!--Button to send email-->
        <Button  
            android:id="@+id/button"  
            android:text="Send email!!"
            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"  
             />    
    </RelativeLayout>
  • Paso 2. MainActivity.java
    En la actividad principal, se crea el objeto Intent y su acción se define en ACTION_SEND para enviar correo electrónico, con Intent también se agregan tres campos adicionales usando la función putExtra. Estos campos son:
    • Correo electrónico del receptor
    • Asunto del correo electrónico
    • Cuerpo de correo electrónico

    setOnClickListener se adjunta al botón con el objeto de intención para hacer la intención con acción como ACTION_SEND para enviar correo electrónico y el tipo de intención como se muestra en el código.

    Aquí está el código completo de Java para enviar un correo electrónico a través de la intención de la aplicación de Android:

    MainActivity.java

    package com.geeksforgeeks.phonecall;
      
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.content.Intent;
    import android.widget.EditText;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.net.Uri;
    import android.widget.Button;
      
    public class MainActivity extends AppCompatActivity {
      
        // define objects for edit text and button
        Button button;
        EditText sendto, subject, body;
      
        @Override
        protected void onCreate(Bundle savedInstanceState)
        {
            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(new OnClickListener() {
      
                @Override
                public void onClick(View view)
                {
                    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 three fiels to intent using putExtra function
                    intent.putExtra(Intent.EXTRA_EMAIL,
                                    new String[] { emailsend });
                    intent.putExtra(Intent.EXTRA_SUBJECT, emailsubject);
                    intent.putExtra(Intent.EXTRA_TEXT, emailbody);
      
                    // set type of intent
                    intent.setType("message/rfc822");
      
                    // startActivity with intent with chooser
                    // as Email client using createChooser function
                    startActivity(
                        Intent
                            .createChooser(intent,
                                           "Choose an Email client :"));
                }
            });
        }
    }

Producción:

Publicación traducida automáticamente

Artículo escrito por Rishabh007 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *