Почта не отправляется - PullRequest
       14

Почта не отправляется

0 голосов
/ 10 сентября 2018

У меня небольшие проблемы с кодом, когда я пытаюсь отправить письмо из приложения в Android Studio.Поскольку я не хочу входить в приложение Gmail, я пытаюсь отправить его прямо из приложения.

Я следил за некоторыми другими людьми здесь, в StackOverflow, но моя проблема, я думаю, имеетздесь нет ответа.

Вот оно:

при запуске этой строки:

transport.sendMessage (mensaje, mensaje.getAllRecipients ());

до этого идет:

if (traceTag! = 0) {Trace.traceEnd (traceTag);}

, который запускается в Looper.java (строка 196).Он застревает там и не отправляет сообщение.

Я оставляю весь код здесь:

открытый класс EnviarPregunta расширяет Activity реализует View.OnClickListener {

public static Session session;   

public static Properties properties;


public static Transport transport;

public static MimeMessage mensaje;


// User who sends
public static String direccionCorreo = "EMAIL";
public static String contrasenyaCorreo = "PASSWORD";

// To where?
public static String destinatarioCorreo = "jparzivaldeveloper@gmail.com";

public EditText nombre, pregunta;
public Button enviar;

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

    nombre = (EditText) findViewById(R.id.nombre);
    pregunta = (EditText) findViewById(R.id.pregunta);
    enviar = (Button) findViewById(R.id.botonEnviar);
    enviar.setOnClickListener(this);

    properties = System.getProperties();
    properties.put("mail.smtp.host", "smtp.gmail.com");
    properties.put("mail.smtp.socketFactory.port", "465");
    properties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
    properties.put("mail.smtp.auth", "true");
    properties.put("mail.smtp.port", "465");

    //Configuramos la sesión
    session = Session.getInstance(properties, null);
}

@Override
public void onClick(View v)
{
    switch (v.getId())
    {
        case R.id.botonEnviar:
            try
            {
                enviar();
            }
            catch (MessagingException e)
            {
                Toast.makeText(this, "ALGO FUE MAL", Toast.LENGTH_LONG).show();
            }
            break;
    }
}

public void enviar() throws MessagingException
{
    mensaje = new MimeMessage(session);
    mensaje.addRecipient(Message.RecipientType.TO, new InternetAddress(destinatarioCorreo));
    mensaje.setSubject("Nueva Pregunta del Yo Nunca! --  de " + nombre.getText());
    mensaje.setContent(pregunta.getText().toString(), "text/html");

    transport = session.getTransport("smtp");
    transport.connect("smtp.gmail.com", direccionCorreo, contrasenyaCorreo);
    transport.sendMessage(mensaje, mensaje.getAllRecipients());
    transport.close();

} }

Большое спасибо за вашпомощь!

...