Android Probleme mit JavaMail

Carsten315

Mitglied
Hallo!

Ich habe jetzt mit verschiedenen Quellcodes versucht, eine E-Mail mittels SMTP von web.de zu schicken.
Leider bricht die App immer ab.
Ich habe beispielsweise folgenden Quelltext genommen: Sending_Emails_without_User_Intervention
(ich habe den fehlenden Quelltext eingefügt)

Ebenso habe ich folgenden probiert: email-versenden-mit-javamail/

Die folgenden beiden Berechtigungen habe ich eh schon in meiner App eingebaut:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

Könnte Ihr mir helfen?
Was mache ich falsch?

Viele Grüße
Carsten
 

dzim

Top Contributor
Was ist der StackTrace auf LogCat - der Console?
Ich habe vor kurzen Lernen müssen, dass einige Sachen (der integrierte Apache httpClient) nicht mehr (3+ glaube ich) auf dem Hauptthread laufen dürfen und somit wohl wenigstens in einem AsyncTask verpackt werden sollten. Vielleicht ist es ja hier das selbe...
 

Carsten315

Mitglied
Hallo dzim!

Danke für Deine Antwort!!!
Hier ist der Log von der App ab Fehlerabbruch:

02-10 17:29:51.991: D/AndroidRuntime(16623): Shutting down VM
02-10 17:29:51.991: W/dalvikvm(16623): threadid=1: thread exiting with uncaught exception (group=0x416a9ac8)
02-10 17:29:52.011: E/AndroidRuntime(16623): FATAL EXCEPTION: main
02-10 17:29:52.011: E/AndroidRuntime(16623): java.lang.IllegalStateException: Could not execute method of the activity
02-10 17:29:52.011: E/AndroidRuntime(16623): at android.view.View$1.onClick(View.java:3758)
02-10 17:29:52.011: E/AndroidRuntime(16623): at android.view.View.performClick(View.java:4377)
02-10 17:29:52.011: E/AndroidRuntime(16623): at android.view.View$PerformClick.run(View.java:18044)
02-10 17:29:52.011: E/AndroidRuntime(16623): at android.os.Handler.handleCallback(Handler.java:725)
02-10 17:29:52.011: E/AndroidRuntime(16623): at android.os.Handler.dispatchMessage(Handler.java:92)
02-10 17:29:52.011: E/AndroidRuntime(16623): at android.os.Looper.loop(Looper.java:137)
02-10 17:29:52.011: E/AndroidRuntime(16623): at android.app.ActivityThread.main(ActivityThread.java:5306)
02-10 17:29:52.011: E/AndroidRuntime(16623): at java.lang.reflect.Method.invokeNative(Native Method)
02-10 17:29:52.011: E/AndroidRuntime(16623): at java.lang.reflect.Method.invoke(Method.java:511)
02-10 17:29:52.011: E/AndroidRuntime(16623): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
02-10 17:29:52.011: E/AndroidRuntime(16623): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
02-10 17:29:52.011: E/AndroidRuntime(16623): at dalvik.system.NativeStart.main(Native Method)
02-10 17:29:52.011: E/AndroidRuntime(16623): Caused by: java.lang.reflect.InvocationTargetException
02-10 17:29:52.011: E/AndroidRuntime(16623): at java.lang.reflect.Method.invokeNative(Native Method)
02-10 17:29:52.011: E/AndroidRuntime(16623): at java.lang.reflect.Method.invoke(Method.java:511)
02-10 17:29:52.011: E/AndroidRuntime(16623): at android.view.View$1.onClick(View.java:3753)
02-10 17:29:52.011: E/AndroidRuntime(16623): ... 11 more
02-10 17:29:52.011: E/AndroidRuntime(16623): Caused by: android.os.NetworkOnMainThreadException
02-10 17:29:52.011: E/AndroidRuntime(16623): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1128)
02-10 17:29:52.011: E/AndroidRuntime(16623): at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
02-10 17:29:52.011: E/AndroidRuntime(16623): at java.net.InetAddress.getLocalHost(InetAddress.java:365)
02-10 17:29:52.011: E/AndroidRuntime(16623): at javax.mail.internet.InternetAddress.getLocalAddress(InternetAddress.java:517)
02-10 17:29:52.011: E/AndroidRuntime(16623): at javax.mail.internet.UniqueValue.getUniqueMessageIDValue(UniqueValue.java:99)
02-10 17:29:52.011: E/AndroidRuntime(16623): at javax.mail.internet.MimeMessage.updateMessageID(MimeMessage.java:2054)
02-10 17:29:52.011: E/AndroidRuntime(16623): at javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:2076)
02-10 17:29:52.011: E/AndroidRuntime(16623): at javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:2042)
02-10 17:29:52.011: E/AndroidRuntime(16623): at de.poggenbeck.cmc.Main.Futterbestellen(Main.java:3657)
02-10 17:29:52.011: E/AndroidRuntime(16623): ... 14 more

Ich habe festgestellt, dass der verwendete Code generell in einer "leeren" Application funktioniert.

Java:
		Properties props = System.getProperties();
		props.put("mail.smtp.host", "smtp.web.de");
		props.put("mail.smtp.port", "587");
		props.put("mail.transport.protocol", "smtp");
		props.put("mail.smtp.auth", "true");
		props.put("mail.smtp.starttls.enable", "true");
		props.put("mail.smtp.tls", "true");
		props.put("mail.smtp.user", "USERID");
		props.put("mail.password", "USERPW");

		javax.mail.Authenticator auth = new javax.mail.Authenticator() {
			@Override
			public PasswordAuthentication getPasswordAuthentication() {
				return new PasswordAuthentication("Benutzer",
						"Passwort");
			}
		};

		Session session = Session.getDefaultInstance(props, auth);

		Message msg = new MimeMessage(session);
		try {
			msg.setFrom(new InternetAddress("Meine Adresse",
					"Absender"));
			msg.addRecipient(Message.RecipientType.TO, new InternetAddress(
					"TO"));
			msg.addRecipient(Message.RecipientType.CC, new InternetAddress(
					"CC"));
			msg.setSubject("SUBJECT");
			msg.setText("THE MESSAGE");
			msg.saveChanges();
			Transport.send(msg);
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (MessagingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

Viele Grüße
Carsten
 

Carsten315

Mitglied
Hallo!
Ich habe gerade das Problem erkannt: Es liegt daran, dass ich im Android Manifest Ziel-SDK-Version angegeben habe:

[XML]
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="14" />
[/XML]

Wenn ich diesen Block lösche, funktioniert es. Aber gibt es nicht eine elegantere Lösung?
Warum ist das so?

Carsten
 

dzim

Top Contributor
Im stacktrace steht NetworkOnMainThreadException. Versuche mal wirklich, alle Operationen, die Internet benötigen in einem anderen thread auszulagern!
Die Ziel-SDK zu entfernen ist keine Lösung.

Bei genauer Überlegung führe ich wirklich jeden Netzwerk-Aufruf in anderen threads aus und die Anwendung hast davon so einige aufrufe... (Ist eine SpeedTest APP).
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Android Probleme mit BLE-Notify Android & Cross-Platform Mobile Apps 2
J Android Probleme mit der Realm Datenbank Android & Cross-Platform Mobile Apps 3
J Android Probleme mit Navigation-Fragments? Android & Cross-Platform Mobile Apps 0
N Probleme mit custom dynamic ListView Android & Cross-Platform Mobile Apps 15
B Android Probleme mit Android Studio Android & Cross-Platform Mobile Apps 6
B Android Probleme mit Realm Datenbank Android & Cross-Platform Mobile Apps 2
B Android Probleme mit ArrayList Android & Cross-Platform Mobile Apps 6
J Android Probleme mit FileProvider Android & Cross-Platform Mobile Apps 1
B Probleme mit Firebase Authentication Android & Cross-Platform Mobile Apps 25
H Android Probleme mit SearchView in ArrayAdapter Android & Cross-Platform Mobile Apps 7
ATZENPOWER Android Probleme mit mobilen Daten via lte Android & Cross-Platform Mobile Apps 10
S Android Probleme beim Verbinden mit einer HTTPS Seite Android & Cross-Platform Mobile Apps 4
B Android Probleme mit RealmObject? Android & Cross-Platform Mobile Apps 1
M Android ExpandableListView merkwürdige Probleme Android & Cross-Platform Mobile Apps 20
F Probleme mit Google-Maps Android & Cross-Platform Mobile Apps 0
B Android Probleme mit ViewPager? Android & Cross-Platform Mobile Apps 5
J Probleme mit ViewPager und Activity Android & Cross-Platform Mobile Apps 1
B Android Probleme mit Eclipse? Android & Cross-Platform Mobile Apps 6
E MAVLINK Probleme Android & Cross-Platform Mobile Apps 1
B Android Probleme mit Facebook-SDK? Android & Cross-Platform Mobile Apps 1
D Android Probleme mit info/warning (1, 902) Android & Cross-Platform Mobile Apps 4
D Android Gallery Probleme Android & Cross-Platform Mobile Apps 3
B Probleme mit App auf Galaxy S3? Android & Cross-Platform Mobile Apps 13
S Hat der AVD-Manager Probleme mit GPS? Android & Cross-Platform Mobile Apps 5
P Probleme mit xml-Layout Android & Cross-Platform Mobile Apps 2
P Android Probleme mit Spinner Android & Cross-Platform Mobile Apps 3
F Layout mit listViews (Scrolling-Probleme) Android & Cross-Platform Mobile Apps 2
A Android Probleme mit Dialog Android & Cross-Platform Mobile Apps 4
U SQLite-Datenbank Probleme Android & Cross-Platform Mobile Apps 8
T Android Probleme bei Facebook Integration Android & Cross-Platform Mobile Apps 5
tfa Android Layout-Probleme: View programmatisch erweitern (addContentView) Android & Cross-Platform Mobile Apps 7
A Probleme mit ListView / ArrayAdapter Android & Cross-Platform Mobile Apps 3
A Probleme mit Form.isShown Android & Cross-Platform Mobile Apps 9
A Probleme mit Calendar auf dem Handy Android & Cross-Platform Mobile Apps 3
U Probleme mit der drawString Methode bei Canvas Android & Cross-Platform Mobile Apps 8
P Probleme mit dem Deployment Android & Cross-Platform Mobile Apps 3
P Probleme mit Streams Android & Cross-Platform Mobile Apps 4
C 2 kleine Probleme (Datei lesen, String durchsuchen) Android & Cross-Platform Mobile Apps 16
G Proguard Obfuscator macht Probleme Android & Cross-Platform Mobile Apps 2
P Probleme mit RMS Android & Cross-Platform Mobile Apps 5

Ähnliche Java Themen

Neue Themen


Oben