Я накидал тут код, чтобы отправлять почту с мобильного телефона, но почемуто мой телефон даже не просит соединения с Интернетом. Я пока зеленый в JAVA...

... Подскажите, плиз, что в моем коде неверно. А то я уже пол дня мучаюсь с ним.
Код:
static boolean checkanswer(InputStream InStr, String MustBe)
{
try
{
int ch = 0, i = 0;
String str = "";
while(ch != -1) {
i++;
ch = InStr.read();
if (i<=3){
str+=(char)(ch);
}
}
if (str != MustBe) { return(false); }
} catch (IOException e) { return(false); }
return(true);
}
public static int sendmail(String HostPort, String rcpt, String mail, String data)
{
try
{
SocketConnection sc = (SocketConnection)Connector.open("socket://"+HostPort);
sc.setSocketOption(SocketConnection.LINGER, 10);
sc.setSocketOption(SocketConnection.KEEPALIVE, 10);
InputStream is = sc.openInputStream();
OutputStream os = sc.openOutputStream();
os.write(("HELO smtp.mail.ru\n").getBytes());
if (!checkanswer(is,"250")) { return(1); }
os.write(("MAIL FROM: "+mail+"\n").getBytes());
if (!checkanswer(is,"250")) { return(2); }
os.write(("RCPT TO: "+rcpt+"\n").getBytes());
if (!checkanswer(is,"250")) { return(3); }
os.write(("DATA\n").getBytes());
if (!checkanswer(is,"354")) { return(4); }
os.write((data+"\n").getBytes());
os.write((".\n").getBytes());
if (!checkanswer(is,"250")) { return(5); }
os.write(("QUIT\n").getBytes());
is.close();
os.close();
sc.close();
} catch (IOException e) { return(6); }
return(0);
}