Uso de AsyncTask para enviar correo electrónico de Android

Recientemente he hecho una pregunta con respecto al código siguiente:

Envío de correo electrónico en Android mediante API de JavaMail sin usar la aplicación predeterminada / incorporada

Yo había pedido esto en lo que respecta a un error de red, como por una pregunta anterior:

Necesita ayuda para depurar el código de correo electrónico

Mi pregunta es, ¿cómo implementaría un AsyncTask para enviar correctamente un correo electrónico con este código de Android? Cada tutorial que veo me informa que debo hacer

extend AsyncTask { 

Sin embargo, GMailSender.java ya tiene esto definido como:

 public class GMailSender extends javax.mail.Authenticator 

¿Podría alguien ayudarme? ¡Gracias!

NOTA:

Por favor, no seas como el idiota que había -1 ed esta pregunta y publicó la respuesta exacta como se dio en el envío de correo electrónico en Android utilizando JavaMail API sin necesidad de usar el defecto / built-in app . No puedo utilizar esa codificación exacta, debido a que ya no es posible ejecutar una operación de red en el subproceso principal de una aplicación de Android. Estoy buscando una manera de utilizar AsyncTask para ejecutar la operación en segundo plano. Lo que no puedo averiguar es cómo hacerlo

 extend AsyncTask { 

Sin tocar

 public class GMailSender extends javax.mail.Authenticator 

Hay un ejemplo bastante bueno en la página doc de AsyncTask .

Pase su objeto GMailSender a un AsyncTask y llame a GMailSender#sendMail durante doInBackground .

Es decir,

 public void onClick(View v) { final GMailSender sender = new GMailSender("username@gmail.com", "password"); new AsyncTask<Void, Void, Void>() { @Override public Void doInBackground(Void... arg) { try { sender.sendMail("This is Subject", "This is Body", "user@gmail.com", "user@yahoo.com"); } catch (Exception e) { Log.e("SendMail", e.getMessage(), e); } } }.execute(); } 
 public void onClick(View v) { final GMailSender sender = new GMailSender("username@gmail.com", "password"); new AsyncTask<Void, Void, Void>() { @Override public Void doInBackground(Void... arg) { try { sender.sendMail("This is Subject", "This is Body", "user@gmail.com", "user@yahoo.com"); } catch (Exception e) { Log.e("SendMail", e.getMessage(), e); } return null;} }.execute(); } 

Gracias "dokkaebi"

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.