안녕하세요
사용자 상호 작용없이 전자 메일을 보내는 Android 응용 프로그램을 만들려고합니다 (사용자에게 보내는 전자 메일이 사용자에게 통보됩니다). 나는이있는 javamail을 사용하고 있습니다 : http://code.google.com/p/javamail-android/downloads/list이 다음 예제 : http://www.jondev.net/articles/Sending_Emails_without_User_Intervention_%28no_Intents%29_in_Android
그러나 나는 다음과 같은 오류가 점점 오전 : 이메일 보내는사용자 개입없이 javamail을 사용하여 전자 메일 보내기 - java.net.ConnectException
10-07 09:23:10.373: E/MailApp(9173): Could not send email
10-07 09:23:10.373: E/MailApp(9173): javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
10-07 09:23:10.373: E/MailApp(9173): nested exception is:
10-07 09:23:10.373: E/MailApp(9173): java.net.ConnectException: failed to connect to localhost/127.0.0.1 (port 25): connect failed: ECONNREFUSED (Connection refused)
10-07 09:23:10.373: E/MailApp(9173): at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1391)
10-07 09:23:10.373: E/MailApp(9173): at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412)
코드 : 나는 대체 한
Thread emailSendThread = new Thread(new Runnable() {
@Override
public void run() {
while (true) {
try {
Thread.sleep(100);
}
catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
if (sendEmail == true) {
try {
MailSender m = new MailSender("[email protected]", "password");
String[] toArr = {"[email protected]"};
m.setTo(toArr);
m.setFrom("[email protected]");
m.setSubject("This is an email sent using my Mail JavaMail wrapper from an Android device.");
m.setBody("Email body.");
try {
m.send();
if(m.send()) {
Toast.makeText(MainActivity.this, "Email was sent successfully.", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(MainActivity.this, "Email was not sent.", Toast.LENGTH_LONG).show();
}
} catch(Exception e) {
//Toast.makeText(MailApp.this, "There was a problem sending the email.", Toast.LENGTH_LONG).show();
Log.e("MailApp", "Could not send email", e);
}
}
catch (Exception e) {
Log.e("email", "Error", e);
}
try {
Thread.sleep(100);
}
catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sendEmail = false;
}
}
}
});
을 내 이 코드에서 예를 들어 사용자 이름과 암호를 전자 메일로 보냅니다.
이메일을 보내려면 sendEmail = true
을 실행하십시오.
smtp 서버가 기기에 있습니까? 아니? 그래서 localhost를 사용하는 이유는 무엇입니까? – Selvin
아니요? 그래서 내가 무엇을 사용해야합니까? –
FSM save us !!! 그게 명백한가요? SMTP 서버의 주소 – Selvin