"Email" versenden mit Anhang

PollerJava

Top Contributor
Hallo,

ich hätte eine Frage bzgl. Nachrichten versenden mit Anhängen. Ich brauche für meine Applikation eine Möglichkeit, "Nachrichten" zu versenden, aber nur an Personen, die in meiner Applikation einen Account haben -> die Personen sind gruppiert nach Firmen und werden mittels Checkboxen ausgewählt.
Weiters sollen Anhänge angehängt werden können.

Meine Frage wäre jetzt, ob sowas schon mal jemand gemacht hat und wie man das mit den Anhängen lösen kann - die Anhänge bleiben ja quasi in der Applikation.
Es handelt sich um eine Spring Boot Web Applikation, welche auf einem Server Deployed ist.

Ich bin mir jetzt nicht sicher, wie man das mit den Anhängen am Besten macht, kann ich aus der Applikation heraus - welche ja in einem embedded Tomcat läuft, Dateien auf die Festplatte speichern?

Wäre euch dankbar für jegliche Tipps und Hinweise in diese Richtung!

Danke!
Poller
 
Hi,

prinzipiell ist das versenden von E-Mails keine große Sache, wenn man denn die richtigen (Verbindungs-) Daten hat. Anhänge sind auch kein Problem, diese müssten ja bei dir als Datei irgendwo vorhanden sein.

Java:
public void sendMail(String dear, String content) {
  
       MimeMessage message = mailSender.createMimeMessage();
      
       try{
        MimeMessageHelper helper = new MimeMessageHelper(message, true);
          
        helper.setFrom(simpleMailMessage.getFrom());
        helper.setTo(simpleMailMessage.getTo());
        helper.setSubject(simpleMailMessage.getSubject());
        helper.setText(String.format(
            simpleMailMessage.getText(), dear, content));
          
        FileSystemResource file = new FileSystemResource("C:\\log.txt");
        helper.addAttachment(file.getFilename(), file);

         }catch (MessagingException e) {
        throw new MailParseException(e);
         }
         mailSender.send(message);
         }

Für weitere/mehr Informationen kannst du hier nachschauen: http://www.mkyong.com/spring/spring-sending-e-mail-with-attachment/
 
Zuletzt bearbeitet von einem Moderator:
Hallo,

danke für die Antwort. Ich befürchte ich hab mein Problem ein bisschen verwirrent geschrieben. Ich möchte Nachrichten in meiner Applikation versenden so in der Art wie emails aber nicht an einen SMTP- Server sondern an User in meiner Applikation - also keine "echten" Emails.

Meine frage bezieht sich da eher darauf, wie man das am besten mit den anhängen macht - Wo kann/soll ich die Anhänge (PDFs, docs, usw. ) speichern in einer Spring Boot Web Applikation.

Danke!
Poller
 
Ok, ich verstehe 🙂

Wir verwenden auch Spring Boot, das ganze liegt auf einen Linux-Server (Debian). Dort sind wiederum verschiedene Verzeichnisse (Workflow entsprechend) in denen man bei Bedarf auch Dateien normal ablegen kann.

Die Frage ist nun, sind diese Anhänge benutzerspezifischer oder allgemeiner Natur?

Wenn sie allgemein sind, könntest du wie eine Art shared Folder machen und den Benutzer dann den "Link" (zur Datei, nicht Ordner) bereit stellen. Dabei gibt es dann die Security zu beachten, ein pfiffiger User könnte sich die Url kopieren und im Verzeichnis "surfen". Wenn diese Dateien benutzerspezifisch und security Relevant sind würde ich eventuell für jeden Benutzer ein Verzeichnis anlegen wo die eben diese Detei(en) drin liegen.
 
Danke!
Kann man eigentlich von Spring Boot im embedded Tomvat aus auf das Filesystem schreiben?
Geht das oder muss man da was beachten?
Danke!
Poller
 
Natürlich geht das. Deine Applikation muss ja auf ein Server liegen oder? Von daher ist dann auch ein File-System vorhanden.
 

Zurück
Oben