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
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/
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.