aktuelle.kurse/m122/tools-technics/README.md
Harald G. Mueller 1cca808864 muh
2023-06-27 16:02:38 +02:00

5.1 KiB

[TOC]

M122 Abläufe mit einer Scriptsprache automatisieren

Tools & Technics

FTP

Einen FTP-Zugang zu meinem Server können Sie nutzen, um eigene HTML-Inhalte zu publizieren

x_ressources/ftp-zugangsdaten

bash-Beispiel


![./x_ressources/ftpanweisungen.jpg](./x_ressources/ftpanweisungen.jpg)



Oder über eine Zusatzinstallation von 'lftp'

sudo apt install lftp

Danach sollte über folgenden Befehl die FTP-Anweisungen auch auszuführen sein, wobei die Variablen $user, $pass und $host sowie die anderen Variablen $remote_path und $archive_filename vorher natürlich entsprechend gesetzt werden müssen.

lftp -e "set ftp:ssl-allow no; put $archive_filename -o $remote_path/$archive_filename; quit" -u "$user","$pass" "$host"

Man beachte, dass mit ssl-allow no die Security abgeschaltet wurde. In diesem Beispiel wird put gemacht. Bei get dann entsprechendes.






curl

Mittels curl (cURL) können auch ganz einfach Daten,
die über https zugänglich sind, abholen.
Benützen Sie z.B.

curl https://haraldmueller.ch/schueler/m122_projektunterlagen/b/MOCK_DATA.csv > mock_data.csv

cmd-Beispiel (Tasten 'WINDOWS' 'R' und dann "cmd" eintippen)
Legen Sie folgende 2 Dateien (.bat und .ftp) an und danach machen Sie Doppelklick auf den .bat-Programmaufruf ./cmd-ftp-start.bat.jpg ./cmdcommands.ftp.jpg






EMail

E-Mail in Linux / Bash

Hier eine Anleitung, wie in Bash ein Mail-System eingerichtet werden kann und wie man ein Mail machen kann. Für unsere Anwendungen hier im Modol M122 recht es, dass man Mails senden kann. Das Empfangen von Mail hier in Bash ist nicht zwingend nötig.

Dazu muss man 'mailutils' installieren, damit man mit dem Befehl 'mail' ein Mail absenden kann. Es geht auch mit 'mutt' und 'sendmails' und mit 'ssmtp':

Hier eine kleine Anleitung für ssmpt via einen "fremden" Postausgangsserver:

1.) Lösen Sie einen Account bei einem Mailprovider wie z.B. smart-mail.de. Es muss ein Provider sein, der es zulässt, dass man seinen Server "von aussen" her adressieren darf. Über die Provider bluewin.ch, gmail.com und tbz.ch habe ich das (MUH, 2023) nicht (mehr) hinbekommen. Aber vielleicht schafft es jemand von Euch.

2.) Dort drin, bei den "Einstellungen" finde ich die Angaben zum Mailserver

smart-mail_pop3-smtp-daten.png

3.) Installieren Sie dann diese beiden Programme in Ubuntu

sudo apt install ssmtp

sudo apt install mailutils

4.) Machen Sie die ssmpt-Konfiguration. Rufen Sie dabei mit folgendem Befehl die ssmpt.conf auf

sudo nano /etc/ssmtp/ssmtp.conf

und dort ergänzen Sie dann entsprechendes:

ssmtp.conf.png

5.) Zu den Mail-Aufrufen:

Ein Mail-Aufruf direkt über die Command-line geht zum Beispiel so:
Dabei bedeutet das <<<, dass der folgende Text als Body der Nachricht 'importiert' wird.

mail -s 'subject' -a From:HM\<harald.mueller@smart-mail.de\> harald.mueller@tbz.ch <<< 'bodytext'

Wenn man den Mailtext als separate Datei mitgeben will, macht man das so:

mail -s 'subject' -a From:HM\<harald.mueller@smart-mail.de\> harald.mueller@tbz.ch < msg.txt

Wenn man den Mailtext als separate Datei mitgeben will, macht man das so:

mail -s 'subject' -a From:HM\<harald.mueller@smart-mail.de\> harald.mueller@tbz.ch < msg.txt -A att.pdf

Natürlich kann man diese Zeile auch in ein Skript einbauen.


Weitere Beschreibungen sind hier:

Als Ubuntu-Installation über msmtp-mta und heirloom-mailx. Beim Passwort muss das GMail-App-Passwort was man in den GMail-Einstellungen erstellt eingeben. Man muss ein weiteres spezielles Zugangs-Passwort für externe User setzen. Schauen Sie in diesem Video wie das geht und machen Sie alles nach.

Mailing mit Python (Dank an Hr. Noel L. Hug, AP21a)

import win32com.client as win32
./mailing-mit-python.jpg

Mailing mit PowerShell

./mailing-mit-powershell.jpg

Mailing mit PHP (nur auf Webserver!)

Diese Art funktioniert nur auf einem Webserver, auf dem ein Mailserver installiert ist, was bei allen teuren und billigen Internetprovidern normal ist. Wenn es auf dem lokalen Rechner funltionieren soll, muss zuerst ein Mailserver lokal installiert werden.


![./mailing-mit-phpwebserver.jpg](./x_ressources/mailing-mit-phpwebserver.jpg)