邮件不发送

时间:2018-09-10 15:12:03

标签: java android email smtp email-integration

当我尝试从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();

} }

非常感谢您的帮助!

0 个答案:

没有答案