Pregunta

Al usar este código, puedo obtener la página de composición de Gmail directamente, pero quiero enviar este correo directamente con la página de Gmail.significa cuando hago clic en mi botón de envío de actividad, debe enviar directamente el correo al recentamiento perticular con GOIND en Gmail Componer la página.

Void protegido SENDEMAIL () {

    String[] recipients = { recieverId.getText().toString() };
    Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:"));

    email.setType("message/rfc822");

    email.putExtra(Intent.EXTRA_EMAIL, recipients);
    email.putExtra(Intent.EXTRA_SUBJECT, mailSubject.getText().toString());
    email.putExtra(Intent.EXTRA_TEXT, mailBody.getText().toString());

    final PackageManager pm = getPackageManager();
    final List<ResolveInfo> matches = pm.queryIntentActivities(email, 0);
    ResolveInfo best = null;
    for (final ResolveInfo info : matches)
      if (info.activityInfo.packageName.endsWith(".gm") ||
          info.activityInfo.name.toLowerCase().contains("gmail"))
          best = info;
    if (best != null)
      email.setClassName(best.activityInfo.packageName, best.activityInfo.name);

    try {

    startActivity(email);
    } catch (android.content.ActivityNotFoundException ex) {

        Toast.makeText(getApplicationContext(),
                "No email client installed.", Toast.LENGTH_LONG).show();

    }

}

¿Fue útil?

Solución

Si se envía a través de la aplicación, se requiere la intervención del usuario.

Sin intervención del usuario, puede enviar de la siguiente manera:

  1. Enviar correo electrónico desde el cliente APK.Aquí, Mail.jar, Activation.jar se requiere que envíe un correo electrónico de Java.Si se agregan estos frascos, puede aumentar el tamaño APK.>Enlace

  2. Alternativamente, puede usar un servicio web en el código del lado del servidor, que usará el mismo mail.jar y activation.jar para enviar correo electrónico.Puede llamar al servicio web a través de asintsk y enviar un correo electrónico.Consulte el mismo enlace

Otros consejos

No, no puede enviar correo desde Gmail sin intervención del usuario, hacerlo, aumentará el problema de seguridad.Lo único que puede llamar esa aplicación a través de la intención como lo hiciste anteriormente.O bien, puede utilizar cualquier API de correo de Java para enviar correos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top