Android - Enviar correo con javamail , mostrar exeption

 
Vista:
sin imagen de perfil

Enviar correo con javamail , mostrar exeption

Publicado por Carlos Javier (2 intervenciones) el 02/03/2017 22:40:59
Hola a todos los que leen, como dice el titulo necesito enviar correo con javamail , ya el envió lo tengo implementado y funciona súper bien , el problema está con las exeption , debido a que uso AsyncTask siempre me dice enviado aunque no haya enviado el correo , mi pregunta cómo puedo ajustar el siguiente código para saber verdaderamente e estado del correo , saludos desde cuba

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
package apk.cjam.im;
 
import android.app.ProgressDialog;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.AsyncTask;
import android.preference.PreferenceManager;
import android.support.v7.app.AlertDialog;
import android.widget.Toast;
 
import java.util.Properties;
import java.util.logging.Handler;
import java.util.logging.LogRecord;
 
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
 
/**
 * Created by cjam on 30/01/2017.
 */
 
public class SendMail extends AsyncTask<Void,Void,Void>  {
 
    //Declaring Variables
    private Context context;
    private Session session;
 
    //Information to send email
 
    private String subject;
 
    private String message;
 
    //Progressdialog to show while sending email
    private ProgressDialog progressDialog;
 
    //Class Constructor
    public SendMail (Context context,String subject, String message){
        //Initializing variables
        this.context = context;
        this.subject = subject;
        this.message = message;
    }
 
 
 
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        //Showing progress dialog while sending email
        progressDialog = ProgressDialog.show(context,"Enviando Mensaje","Por favor espere...",false,false);
    }
 
    @Override
    protected void onPostExecute(Void aVoid) {
        super.onPostExecute(aVoid);
        //Dismissing the progress dialog
        progressDialog.dismiss();
        //Showing a success message
        //Toast.makeText(context,"Mensaje Enviado",Toast.LENGTH_LONG).show();
        AlertDialog.Builder builder = new AlertDialog.Builder(context);
        builder.setIcon(android.R.drawable.ic_dialog_alert);
        builder.setMessage("Se ha enviado la petición al servidor, revise su cliente de correo dentro de 1 minutos aproximadamente  y estará la respuesta a su petición ");
        builder.setNeutralButton("OK",null);
        builder.setTitle("Petición enviada con éxito\n" +
                "\n");
        builder.create().show();
    }
 
    @Override
    protected Void doInBackground(Void... params) {
        SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
        final String user_nauta = pref.getString("user_nauta","");
        final String user_pass  = pref.getString("pass_nauta","");
        final String mailto = pref.getString("mailto","");
        final String server_smtp  = pref.getString("server_smtp","");
        final String port_smtp = pref.getString("port_smtp","");
        Properties props = new Properties();
 
 
 
 
        props.put("mail.smtp.host", server_smtp);
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.port", port_smtp);
 
 
        session = Session.getDefaultInstance(props,
                new javax.mail.Authenticator() {
                    //Authenticating the password
                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication(user_nauta, user_pass);
                    }
                });
 
        try {
 
            MimeMessage mm = new MimeMessage(session);
 
 
            mm.setFrom(new InternetAddress(user_nauta));
 
            mm.addRecipient(Message.RecipientType.TO, new InternetAddress(mailto));
 
            mm.setSubject(subject);
 
            mm.setText(message);
 
 
            Transport.send(mm);
 
        } catch (MessagingException e) {
            e.printStackTrace();
 
 
        }
        return null;
    }
 
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder