# M122 - Aufgabe
2023-02 MUH
## Emailadressen und Brief erstellen
Files, Listen/Arrays, String-Operationen, Archive, Mailing, FTP, Print
**Warnung**:
Unterschätzen Sie die Aufgabe nicht! Es kann gut sein, dass Sie weit
über *8 Stunden* Entwicklungs- und Testzeit aufwenden müssen (der Teufel
liegt im Detail). Grade das Mailen und der FTP-Transfer kann tückisch sein!
Es ist die grosse Menge an Kleinigkeiten, die Sie lösen und beherrschen müssen.
### Ausgangslage
Sie sind in der internen Informatik der TBZ tätig und
Sie bekommen für den bevorstehenden Schulanfang eine
[**Liste von Namen (MOCK_DATA.csv)**](MOCK_DATA.csv),
die alle eine neue Emailadressen bekommen sollen.
Zur **Emailadresse** soll auch ein **Initialpasswort**
generiert werden. Emailadressen und Passwörter
müssen "korrekte" Zeichen enthalten. Also keine
Klammern, Apostrophe, Akzente, Leerzeichen usw.
Aber Vorsicht: Die Inputdaten sind nicht rein, das
ist auch eine Ihrer Aufgaben, dieses Problem zu lösen.
**Beachten Sie**
Die E-Mailadressen müssen die Form **vorname.nachname@edu.tbz.ch** haben
und es dürfen keine Buchstaben wegfallen.
(Also wenn eine **"Adéle Müller"** am Schluss dann eine
Emailadresse **Adle.Mller@edu.tbz.ch** bekommen würde, ist das
natürlich falsch. Es muss **adele.mueller@edu.tbz.ch** heissen.
Sie müssen also die Sonderzeichen (Umlaute äöü, Akzente éàç usw) speziell
behandeln.)
### Stufe 1
Sie müssen, um das System zu füttern, eine
Liste aller Emailadressen und das (dazugehörige,
automatisch generierte) Passwörter in einer
Datei namens
**YYYY-MM-DD_HH-SS_mailimports.csv**
erstellen lassen.
[GenerierteEmailadresse1];[GeneriertesPasswort1]
[GenerierteEmailadresse2];[GeneriertesPasswort2]
...
[GenerierteEmailadresse999];[GeneriertesPasswort999]
### Stufe 2
Alle Personen, die jetzt eine neue Emailadresse und Passwort bekommen,
sollen per Papierbrief benachrichtigt werden. Erstellen Sie pro neue
Emailadresse folgende Datei
**YYYY-MM-DD_HH-SS_[GenerierteEmailadresse].brf**
(Die Anschriftadresse passt in ein Fenster-Kuvert,
die Distanzen für das Einrücken, machen Sie mit Leerzeichen)
Technische Berufsschule Zürich
Ausstellungsstrasse 70
8005 Zürich
Zürich, den [DD.MM.YYYY]
[Vorname] [Nachname]
[Strasse] [StrNummer]
[Postleitzahl] [Ort]
Liebe:r [Vorname]
Es freut uns, Sie im neuen Schuljahr begrüssen zu dürfen.
Damit Sie am ersten Tag sich in unsere Systeme einloggen
können, erhalten Sie hier Ihre neue Emailadresse und Ihr
Initialpasswort, das Sie beim ersten Login wechseln müssen.
Emailadresse: [GenerierteEmailadresse]
Passwort: [GeneriertesPasswort]
Mit freundlichen Grüssen
[IhrVorname] [IhrNachname]
(TBZ-IT-Service)
admin.it@tbz.ch, Abt. IT: +41 44 446 96 60
### Stufe 3 - Archiv-Datei
Erstellen Sie eine "Archiv"-Datei von **allen Dateien**, also
von der Mail- und Passwortliste und auch von allen Briefen.
Der "Archiv"-Dateiname soll so aussehen:
**YYYY-MM-DD_HH-SS_newMails_[IhreKlasse_IhrNachname].zip** (oder .tar, .tar.gz oder .rar je nach Technik)
### Stufe 4 - Mail kommt an
Später werden diese obigen Prozesse für kommende Anwenungen
vollautomatisch erstellt werden. Dafür erstellen Sie
- 1.) ein CronTab-Eintrag in Linux
(oder Aufgabenplanungs-Task bein Windows)
- 2.) ein Mail mit Attachment
damit Sie wissen, wann die Generierung der Liste und die Briefe
fertig ist und damit die Resultate an den richtigen Ort gelangen.
Das erzeugte Mail brauchen Sie auch, damit Sie die Resultate in einem
ersten Ausbau mal an sich selber schicken und überprüfen können.
Später könnten Sie dann das Mail an die **Zielperson** schicken, die
es dann verarbeiten und verwalten muss.
Gestalten Sie das Mail mit folgendem Text und hängen Sie die Archiv-Datei als
"attachment" an.
Die *Zielperson* kann zu Überprüfungszwecke auch Ihre Lehrperson sein.
*Beachten Sie: Sie haben normalerweise kein Mailserver auf Ihrem Rechner (oder VM).
Sie müssen entweder einen solchen (zusätzlich) installieren oder Sie benutzen eine
"Wegwerf-Mailadresse" über einen Gratis-Provider (z.B. gmx.ch, gmail.com, ...). Ihre
TBZ-Mailadresse können Sie nicht nehmen, da das von der Security her unterbunden wird.*
[Mail mit PowerShell](../tools-technics/mailing-mit-powershell.jpg)
[Mail mit Python](../tools-technics/mailing-mit-python.jpg)
Subject:
Neue TBZ-Mailadressen [NumberOfNewMails]
Body:
Lieber [wählen sie selber eine Anrede je nach Adressat]
Die Emailadressen-Generierung ist beendet.
Es wurden [NumberOfNewMails] erzeugt.
Bei Fragen kontaktiere bitte [IhreTBZ-Emailadresse]
Gruss [IhrVorname] [IhrNachname]
Attachment:
YYYY-MM-DD_HH-SS_newMails_[IhreKlasse_IhrNachname].zip