Danke Uwe für Deine schnelle Antwort!
Leider kann ich solche Scripts nicht selber schreiben.
Ich habe mal das Script umgewandelt, mit dem ich mir sonst direkt von 2 Kams die Bilder geholt und gemailt habe. Es funktioniert auch.
Ist das so ok oder viel zu umständlich?
Wenn es einfacher gehen sollte, wie bekomme ich das hin?
Hat eventuell wer schon mal so ein Script geschrieben und kann mir das zur Verfügung stellen?
Code: Alles auswählen
package require base64
set EMAIL_SUBJECT ""
set EMAIL_BODY ""
set SEND_TO ""
set SEND_TO1 ""
set SEND_FROM ""
set SMTP_HOST ""
set SMTP_USER ""
set SMTP_PASSWD ""
set SMTP_DOMAIN ""
# DEFINE EMAIL TEMPLATE
set tmpl "To: $SEND_TO
From: $SEND_FROM
Subject: $EMAIL_SUBJECT
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=\"=_542bc72c.5lV8m7jWYOrj//k2cdijZPr9Fjy8v4J0l/m4onTDRLUmUDMk\"
--=_542bc72c.5lV8m7jWYOrj//k2cdijZPr9Fjy8v4J0l/m4onTDRLUmUDMk
Content-Type: text/plain
$EMAIL_BODY
--=_542bc72c.5lV8m7jWYOrj//k2cdijZPr9Fjy8v4J0l/m4onTDRLUmUDMk
Content-Type: application/octet-stream; name=\"photo.jpg\"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=\"photo.jpg\"
{IMGDATA}
--=_542bc72c.5lV8m7jWYOrj//k2cdijZPr9Fjy8v4J0l/m4onTDRLUmUDMk
--=_542bc72c.5lV8m7jWYOrj//k2cdijZPr9Fjy8v4J0l/m4onTDRLUmUDMk
Content-Type: application/octet-stream; name=\"photo1.jpg\"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=\"photo1.jpg\"
{IMGDATA1}
--=_542bc72c.5lV8m7jWYOrj//k2cdijZPr9Fjy8v4J0l/m4onTDRLUmUDMk--"
# READ SNAPSHOT INTO VARIABLE & BASE64 ENCODE
set fp [open "/tmp/snapshots/CUX9104004/CUX9104004_000.jpg" r]
fconfigure $fp -translation binary
set imgdata [read $fp]
set encodeddata [::base64::encode $imgdata]
close $fp
set fp [open "/tmp/snapshots/CUX9104001/CUX9104001_000.jpg" r]
fconfigure $fp -translation binary
set imgdata1 [read $fp]
set encodeddata1 [::base64::encode $imgdata1]
close $fp
# REPLACE IMG DATA WITH REAL IMAGE DATA
regsub -all "{IMGDATA}" $tmpl $encodeddata tmpl
regsub -all "{IMGDATA1}" $tmpl $encodeddata1 tmpl
# WRITE READY EMAIL TO A TMP FILE
set fp [open "/tmp/ready.eml" w]
puts $fp $tmpl
close $fp
set config "
defaults
tls on
tls_certcheck off
logfile /var/log/email.log
account provider
host $SMTP_HOST
from $SEND_FROM
domain $SMTP_DOMAIN
auth login
user $SMTP_USER
password $SMTP_PASSWD
account default: provider
"
set fp [open "/tmp/msmtp.conf" w]
puts $fp $config
close $fp
exec chmod 0600 /tmp/msmtp.conf
# SEND EMAIL USING MSMTP
exec cat /tmp/ready.eml | msmtp -C /tmp/msmtp.conf $SEND_TO
# CLEAN UP
exec rm -f /tmp/msmtp.conf
exec rm -f /tmp/ready.eml
Das Programm schaut dann so aus:
Aber ehrlich gesagt, lasse ich das lieber so wie es war.
Wenn ich eh ein TCL Script brauche zum Bilder per Mail versenden, dann kann ich mir auch mit diesem Script gleich die Bilder von den Kams holen.
Jetzt pro Kam einen Snapshot mit einem CuxD Gerät zu machen und dann noch ein TCL Script auszuführen, ist ganz schön umständlich und belastet die CCU sicherlich mehr, als einfach nur ein Script auszuführen.
Ich hoffte, das gibt z.B. beim CuxD Mail Gerät eine Funktion, um mit einem CuxD Webcam Gerät gemachte Snapshots zu versenden.
Aber um regelmässig Snapshots auf einen FTP Server (USB Stick an der FB) zu spielen ist das echt praktisch finde ich.
Fehlt nur noch ein Punkt, wo man einstellen kann, dass z.B. alle 30 Sekunden ein Snapshot gemacht wird.