Hallo! Bin eigentlich neu hier und versuch mal meine erste Frage zu formulieren...
Ich hab mir einen Code so zusammengebastelt, sodass er eigenlich doch laufen müsste (unter android - Eclipse)
Hier mal der Code:
D.h.: Ich möchte ein File (pdf), welches auf meiner Speicherkarte des Handys liegt, einfach an eine fertig definierte email senden.
(mittels druck auf einen Button)
Wenn ich das Prog jetzt mit nem Android Handy debugge, funktioniert irgendwie nichts.. Hat jemand eine lösung?
Ich hab mir einen Code so zusammengebastelt, sodass er eigenlich doch laufen müsste (unter android - Eclipse)
Hier mal der Code:
Java:
package com.example.sendpdf;
import java.io.File;
import java.net.URL;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button send = (Button) this.findViewById(R.id.button1);
send.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
try {
String host = "smtp.gmail.com";
String from = "daeppi@googlemail.com";
final String user = "daeppi";
final String pass = "mypassword";
String ziel = "daeppi@gmail.com";
String filename = "///sdcard/external_sd/send.pdf";
// SMTP Host setzen
Properties props = new Properties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");
props.setProperty("mail.smtp.port", "" + 587);
props.setProperty("mail.smtp.starttls.enable", "true");
// Default Session holen, obige Properties und Authentifizierungsdaten setzen
Session session = Session.getDefaultInstance(props, new Authenticator()
{
public PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication(user, pass);
}
});
// debug mode setzen
session.setDebug(true);
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.setRecipient(Message.RecipientType.TO, new InternetAddress(ziel));
message.setSubject("Attachment Test");
message.setText("abcdefg");
MimeMultipart mimeMultipart = new MimeMultipart();
MimeBodyPart text = new MimeBodyPart();
text.setText("abc");
text.setDisposition(MimeBodyPart.INLINE);
File file = new File(filename);
MimeBodyPart attachement = new MimeBodyPart();
attachement.setDataHandler(new DataHandler(new FileDataSource(file)));
attachement.setFileName(filename);
attachement.setDisposition(MimeBodyPart.ATTACHMENT);
mimeMultipart.addBodyPart(text);
mimeMultipart.addBodyPart(attachement);
message.setContent(mimeMultipart);
Transport.send(message);
System.out.println("DONE");
} catch (Exception e) {
Log.e("SendMail", e.getMessage(), e);
}
}
});
}
}
D.h.: Ich möchte ein File (pdf), welches auf meiner Speicherkarte des Handys liegt, einfach an eine fertig definierte email senden.
(mittels druck auf einen Button)
Wenn ich das Prog jetzt mit nem Android Handy debugge, funktioniert irgendwie nichts.. Hat jemand eine lösung?
Zuletzt bearbeitet von einem Moderator: