Hallo Zusammen,
ich soll eine vorhandene .pdf mithilfe des Standart Mail Clients versenden.
Mit folgendem Code schaffe ich es den Mailclient zu öffnen, bekomme aber den Anhang nicht dazu:
Ich habe gelesen, dass "attach" nur bei manchen Betriebssystemen funktioniert und meins (Win 7 64-Bit) eben nicht dazu gehört.
Per SMTP kann ich Mails mit Anhang ohne Probleme versenden. Den Code dazu hänge ans Ende für diejenigen die den gebrauchen können.
Kennt hier jemand eine möglichkeit wie ich ein Anhang an meinen Mailclient bekomme?
ich soll eine vorhandene .pdf mithilfe des Standart Mail Clients versenden.
Mit folgendem Code schaffe ich es den Mailclient zu öffnen, bekomme aber den Anhang nicht dazu:
Java:
public static void main(String[] args) {
String to = " Fuzzy@logic.42";
String subject="Test mit Mailclient";
String body="Mail Client Test \n Mit Anhang! \n\n ÄÖÜäöü!§$%&@";
String attachment = "c://Users/Fuzzy/workspace_mars/SendMail/Data/Cat.jpg";
try {
body=URLEncoder.encode(body, "UTF-8");
subject=URLEncoder.encode(subject, "UTF-8");
Desktop.getDesktop().mail(
new URI("mailto:"+ to +"?subject="+ subject +"&body="+ body +"&attach="+ attachment));
} catch (Exception e) {
e.printStackTrace();
}
}
Ich habe gelesen, dass "attach" nur bei manchen Betriebssystemen funktioniert und meins (Win 7 64-Bit) eben nicht dazu gehört.
Per SMTP kann ich Mails mit Anhang ohne Probleme versenden. Den Code dazu hänge ans Ende für diejenigen die den gebrauchen können.
Kennt hier jemand eine möglichkeit wie ich ein Anhang an meinen Mailclient bekomme?
Java:
public static void main(String[] args) {
//Commen Variablen
String host = "Smtp-Host-IP";
String from = " From Adresse";
String to = " To Adresse";
MailAuthenticator auth = new MailAuthenticator(" Authname ", "not_a_pw");
// Set properties
Properties props = new Properties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.port", "587");
props.put("mail.smtp.auth", "true");
//props.put("mail.smtp.socketFactory.port", "587");
//props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
//props.put("mail.smtp.socketFactory.fallback", "false");
props.put("mail.smtp.starttls.enable", "true");
//get Session
Session session = Session.getInstance(props, auth);
try{
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
// Inhalt der Nachricht vorbereiten
msg.setSubject("Test Email mit Anhang");
msg.setSentDate(new Date());
MimeBodyPart msgBody = new MimeBodyPart();
msgBody.setText("Hier kommt ein Anhang");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(msgBody);
msgBody = new MimeBodyPart();
//Anhang vorbereiten
String file = "/Users/Fuzzy/workspace_mars/SendMail/Data/Cat.jpg";
DataSource source = new FileDataSource(file);
msgBody.setDataHandler(new DataHandler(source));
msgBody.setFileName(file);
multipart.addBodyPart(msgBody);
msg.setContent(multipart);
// Send the message
Transport.send(msg);
}
catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
class MailAuthenticator extends Authenticator {
private final String user;
private final String password;
public MailAuthenticator(String user, String password) {
this.user = user;
this.password = password;
}
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(this.user, this.password);
}
}
Zuletzt bearbeitet von einem Moderator: