Hallo!
Ich habe eine GUI geschrieben, bei der es möglich sein soll, einen Anhang zu verschicken. Sobald ich den Anhang auswähle funktioniert auch alles Bestens. Ich habe nur Probleme, sobald kein Anhang ausgewählt wurde.
Ich hab schon alle möglichen Abfragen eingefügt: Hab versucht einen Ausschluss über die Länge zu setzen usw.
Das sysout ergibt null, weshalb ich kein .startsWith() nutzen kann.
Hat noch jemand ne Idee, wie ich es ohne Anhang zum Laufen bekomme?
Ich habe eine GUI geschrieben, bei der es möglich sein soll, einen Anhang zu verschicken. Sobald ich den Anhang auswähle funktioniert auch alles Bestens. Ich habe nur Probleme, sobald kein Anhang ausgewählt wurde.
Code:
public void sendMail(){
System.out.println("+++++++++++++++++++++++++++++++++++++++++++++");
String senderAdress = this.getAbsender()+"@bundeswehr.org";
System.out.println("Absender: "+senderAdress);
String recipientsAdress = this.getEmpfaenger()+"@bundeswehr.org";
System.out.println("Empfänger: "+recipientsAdress);
String ccAdress = this.getKopie()+"@bundeswehr.org";
System.out.println("Kopie: "+ccAdress);
String bccAdress = this.getBlindkopie()+"@bundeswehr.org";
System.out.println("Blindkopie: "+bccAdress);
String attachment = this.getAnhang();
System.out.println("Anhang: "+attachment);
String subject = this.getBetreff();
System.out.println("Betreff: "+subject);
String message = this.getNachricht();
System.out.println("Nachricht: "+message);
try {
Properties props = new Properties();
props.put( "mail.smtp.host", smtpHost );
Session session = Session.getDefaultInstance( props );
Message msg = new MimeMessage( session );
MimeMultipart mimeMultipart = new MimeMultipart();
InternetAddress addressFrom = new InternetAddress(senderAdress);
msg.setFrom( addressFrom );
InternetAddress addressTo = new InternetAddress(recipientsAdress);
msg.setRecipient( Message.RecipientType.TO,addressTo );
if (! ccAdress.startsWith("@")){
InternetAddress addressCC = new InternetAddress(ccAdress);
msg.setRecipient( Message.RecipientType.CC,addressCC);
}
if (! bccAdress.startsWith("@")){
InternetAddress addressBCC = new InternetAddress(bccAdress);
msg.setRecipient( Message.RecipientType.BCC,addressBCC);
}
if (! message.equals(null))
msg.setSubject( subject );
if(! message.equals(null)){
MimeBodyPart text = new MimeBodyPart();
text.setText(message);
text.setDisposition(MimeBodyPart.INLINE);
mimeMultipart.addBodyPart(text);
}
if (!attachment.equals(null)){
BodyPart attachement = new MimeBodyPart();
FileDataSource fds = new FileDataSource(attachment);
attachement.setDataHandler(new DataHandler(fds));
attachement.setFileName(fds.getName());
mimeMultipart.addBodyPart(attachement);
}
msg.setContent(mimeMultipart);
msg.setSentDate(new Date( ));
Transport.send( msg );
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Ich hab schon alle möglichen Abfragen eingefügt: Hab versucht einen Ausschluss über die Länge zu setzen usw.
Das sysout ergibt null, weshalb ich kein .startsWith() nutzen kann.
Hat noch jemand ne Idee, wie ich es ohne Anhang zum Laufen bekomme?