当我尝试从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(); } }
非常感谢您的帮助!