0
Session session = null;
ProgressDialog pdialog = null;
Context context = null;
EditText reciep, sub, msg;
String rec, subject, textMessage;

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

    context = this;

    Button login = (Button) findViewById(R.id.btn_submit);
    reciep = (EditText) findViewById(R.id.et_to);
    sub = (EditText) findViewById(R.id.et_sub);
    msg = (EditText) findViewById(R.id.et_text);

    login.setOnClickListener(this);
}

@Override
public void onClick(View v) {
    rec = reciep.getText().toString();
    subject = sub.getText().toString();
    textMessage = msg.getText().toString();
    Properties props = new Properties();
    props.put("mail.smtp.host", "smtp.gmail.com");
    props.put("mail.smtp.socketFactory.port", "587");
    props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.port", "587");

    session = Session.getDefaultInstance(props, new Authenticator() {
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication("xyz@gmail.com", "xyz123");
        }
    });

    pdialog = ProgressDialog.show(context, "", "Sending Mail...", true);

    RetrieveFeedTask task = new RetrieveFeedTask();
    task.execute();
  }

RetrieveFeedTask

  class RetrieveFeedTask extends AsyncTask<String, Void, String> {

    @Override
    protected String doInBackground(String... params) {

        try{
            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress("xyz@gmail.com"));
            message.setRecipients(Message.RecipientType.TO, InternetAddress.
                    parse(rec));
            message.setSubject(subject);
            message.setContent(textMessage, "text/html; charset=utf-8");
            Transport.send(message);
        } catch(MessagingException e) {
            e.printStackTrace();
        } catch(Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    @Override
    protected void onPostExecute(String result) {
        pdialog.dismiss();
        reciep.setText("");
        msg.setText("");
        sub.setText("");
        Toast.makeText(getApplicationContext(), "Message sent",        Toast.LENGTH_LONG).show();
    }
 }
}

And I am Getting the following error I couldn't able to receive the mail in my inbox

ERROR:

            javax.mail.MessagingException: Could not connect to SMTP host:         smtp.gmail.com, port: 587;
             nested exception is:
             avax.net.ssl.SSLHandshakeException: j        avax.net.ssl.SSLProtocolException: SSL     handshake aborted: ssl=0x755e6040:    Failure in SSL library, usually a protocol error
                                                                                                  at javax.mail.Service.connect(Service.java:310)
               at javax.mail.Service.connect(Service.java:169)
               at javax.mail.Service.connect(Service.java:118)
               at javax.mail.Transport.send0(Transport.java:188)
               at javax.mail.Transport.send(Transport.java:118)


               at android.os.AsyncTask$2.call(AsyncTask.java:288)
              at java.util.concurrent.FutureTask.run(FutureTask.java:237)
               at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
                      java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
               at      java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
               at java.lang.Thread.run(Thread.java:841)
               Caused by: javax.net.ssl.SSLHandshakeException:       javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x755e6040:     Failure in SSL library, usually a protocol error
               error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown     protocol   (external/openssl/ssl/s23_clnt.c:769 0x72fb0d74:0x00000000)
            at  mpl.getInputStream(OpenSSLSocketImpl.java:633)
īš•     
                 getSelectedText on inactive InputConnection
                   getSelectedText on inactive InputConnection
                   getSelectedText on inactive InputConnection
                   getSelectedText on inactive InputConnection
                    getSelectedText on inactive InputConnection
                   getSelectedText on inactive InputConnection
                   getSelectedText on inactive InputConnection
                   getSelectedText on inactive InputConnection

 getSelectedText on inactive InputConnection
 getTextBeforeCursor on inactive InputConnection
Sree
  • 3,136
  • 2
  • 31
  • 39
user000
  • 29
  • 2
  • 7
  • When i click submit button it displays mail sent but i didn't receive any mail in my gmail id. dDoes any one help me. I am so much struck with it – user000 Sep 21 '15 at 10:54

1 Answers1

1

If you're using SSL, the correct port is 465. 587 is for TLS

https://support.google.com/mail/answer/13287?hl=en

If that's not the problem, try following this tutorial

http://www.mkyong.com/java/javamail-api-sending-email-via-gmail-smtp-example/

Lukehey
  • 1,284
  • 1
  • 11
  • 20
  • I need a connection related with android i tried with some code but i am not getting – user000 Sep 21 '15 at 11:36
  • Any new error message or is it the same? Also, have you set your gmail account to accept login attempts from less secure apps? http://stackoverflow.com/questions/21937586/phpmailer-smtp-error-password-command-failed-when-send-mail-from-my-server – Lukehey Sep 21 '15 at 12:18