1

I am trying to run the code from this in android studio, with some modification to forward information to my email account.

But i am unable to ping or connect to gmail smtp from my app. I have added following code to check internet connectivity but pinging google.com is returning false and checknetworkstatus is returning true at same time. I am connected to my Wifi network.

        public static boolean ping(String url, int timeout) {
    // Otherwise an exception may be thrown on invalid SSL certificates:
    url = url.replaceFirst("^https", "http");

    try {
        HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
        connection.setConnectTimeout(timeout);
        connection.setReadTimeout(timeout);
        try {
            connection.setRequestMethod("HEAD");

            int responseCode = connection.getResponseCode();
            System.err.println("URL " + url + " returned: " + responseCode);
            return ((200 <= responseCode && responseCode <= 399) || (responseCode == 405));
        } catch (ProtocolException e) {
            e.printStackTrace();
        }
    } catch (IOException exception) {
        return false;
    }
    return false;
}

public boolean checkNetworkStatus() {

    // Variables used for checking the network state.
    final ConnectivityManager connMgr = (ConnectivityManager) getApplicationContext()
            .getSystemService(Context.CONNECTIVITY_SERVICE);

    final NetworkInfo wifi = connMgr
            .getNetworkInfo(ConnectivityManager.TYPE_WIFI);

    final NetworkInfo mobile = connMgr
            .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

    if ((wifi.isConnected() == true) || (mobile.isConnected() == true)) {
        return true;
    } else
        return false;
}

I am using code from link for sending email and added following permissions to my manifest file but still it is not working.

     <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />

And generates error

   09-07 12:00:32.082  21249-24268/com.example.callsmsforward W/System.err﹕ javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465;
   09-07 12:00:32.082  21249-24268/com.example.callsmsforward W/System.err﹕ nested exception is:
   09-07 12:00:32.083  21249-24268/com.example.callsmsforward W/System.err﹕ java.net.ConnectException: failed to connect to smtp.gmail.com/2404:6800:4003:c00::6c (port 465) after 90000ms: isConnected failed: ENETUNREACH (Network is unreachable)

Is this some kind of bug with android studio or something else??

DeepSidhu1313
  • 805
  • 15
  • 31
  • refer http://stackoverflow.com/questions/22955142/could-not-connect-to-smtp-host-exception-while-sending-mail-through-javamail-api – sasikumar Sep 07 '15 at 06:40
  • 2
    Looks like issue of your network and not code. – Sandeep Sep 07 '15 at 06:42
  • @sasikumar tried your link still gives `!javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 587; nested exception is: java.net.ConnectException: failed to connect to smtp.gmail.com/2404:6800:4003:c00::6c (port 587) after 90000ms: isConnected failed: ENETUNREACH (Network is unreachable)` – DeepSidhu1313 Sep 07 '15 at 10:29

0 Answers0