como enviar email en android studio

Hola [email protected] hoy veremos un nuevo tutorial de como enviar email en android studio, sera algo básico porque luego nos servirá como base para ejercicios mas avanzados.

Paso 1: Empezamos con la parte gráfica, necesitaremos un button y un TexView para mostrar el cuerpo del mensaje, también podrías usar un EditText, eso se los dejo a su imaginación, debería quedar de la siguiente forma:

Si tienen pereza no hay problema les dejo el código del activity_main.xml

activity_main

<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:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true">
        <Button
            android:id="@+id/btnEmail"
            android:text="Enviar Email"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">
        </Button>
        <TextView
            android:id="@+id/text_to_email"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/my_text" />
    </LinearLayout>

</RelativeLayout>

 

 
Paso 2: Ahora necesitamos insertar unos permisos en nuestro AndroidManifest los cuales los podemos ver las lineas en azul, nos permitirá tener acceso a algún gestor de mensajería y a la vez tener acceso a Internet.

AndroidManifest

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.androidmorefast.pc.appenviaremail">
    <!-- Permisos requeridos -->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
Paso 3: Ahora nos vamos a la parte del código, esto lo veremos en nuestro MainActivity no hay mucho que decir porque el código lo entrego documentado.

MainActivity 

public class MainActivity extends Activity implements View.OnClickListener {
    private static final String tag = "Main";
    private Button botonEmail;

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

        this.botonEmail = (Button) this.findViewById(R.id.btnEmail);
        this.botonEmail.setOnClickListener(this);
    }
    @Override
    public void onClick(View view) {
        //Verificamos si el usuario ha hecho click en el Boton de Enviar Email
        if (view == this.botonEmail) {
            //Llamamos al metodo enviarEmail
            enviarEmail();
        }
    }

    private void enviarEmail(){
        //Instanciamos un Intent del tipo ACTION_SEND
        Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
        //Aqui definimos la tipologia de datos del contenido dle Email en este caso text/html
        emailIntent.setType("text/html");
        // Indicamos con un Array de tipo String las direcciones de correo a las cuales enviar
        emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"});
        // Aqui definimos un titulo para el Email
        emailIntent.putExtra(android.content.Intent.EXTRA_TITLE, "El Titulo");
        // Aqui definimos un Asunto para el Email
        emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "El Asunto");
        // Aqui obtenemos la referencia al texto y lo pasamos al Email Intent
        emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, getString(R.string.my_text));
        try {
            //Enviamos el Correo iniciando una nueva Activity con el emailIntent.
            startActivity(Intent.createChooser(emailIntent, "Enviar Correo..."));
        } catch (android.content.ActivityNotFoundException ex) {
            Toast.makeText(MainActivity.this, "No hay ningun cliente de correo instalado.", Toast.LENGTH_SHORT).show();
        }
    }
}

 

Para finalizar el tutorial, seguramente  a algunos les sale errores pero les aconsejo que siempre que sigan un tutorial revisen el archivo string.xml dentro de la carpeta values pues ahí algunos desarrolladores hacemos cambios como el titulo de la app o algo extra de igual forma les dejo la aplicación funcionando y también una imagen de como quedaría el producto final.

 

 

Igual si piensas que hablo escribo en chino te dejo el ejercicio: 
PASSWORD: www.androfast.com
0

Deja un comentario

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