CCU2 und Email-Addon 1.2: keine Anzeige des Absenders

diverse Zusatzsoftware

Moderator: Co-Administratoren

erik
Beiträge: 776
Registriert: 31.10.2007, 13:32
Hat sich bedankt: 6 Mal
Danksagung erhalten: 6 Mal

Re: CCU2 und Email-Addon 1.2: keine Anzeige des Absenders

Beitrag von erik » 14.07.2013, 18:08

Hi mdajp,

Ielen Dank fuer die Info.
Werde ich doch gleich mal schauen, wieso es da zu yproblemem bei mir kommt.

Danke fuer das Feedback.

erik
Beiträge: 776
Registriert: 31.10.2007, 13:32
Hat sich bedankt: 6 Mal
Danksagung erhalten: 6 Mal

Re: CCU2 und Email-Addon 1.2: keine Anzeige des Absenders

Beitrag von erik » 15.07.2013, 12:38

Hallo,

habe dann doch einen Bug gefunden, der mit der neuen TCL Version auf der CCU2 zusammenhängt.

die Funktion subst wurde falsch implementiert und Klammern vergessen.
Details dazu hier:
http://www.tcl.tk/man/tcl8.4/TclCmd/subst.htm

Hier die neue Version, die das Subject und den Body mit der CCU2 sauber implementiert, wenn TCL aktiviert ist.

Wäre nett, wenn jemand die neue Version in einen neuen Installer mit Version 1.4 verpacken kann.

Geändert wurde Zeile 77 von

Code: Alles auswählen

  puts $fd "Subject:[subst -nobackslashes $mail(Subject)]"
in

Code: Alles auswählen

  puts $fd "Subject:[subst -nobackslashes {$mail(Subject)}]"
und zeile 75

Code: Alles auswählen

puts $fd "To:[subst -nobackslashes $mail(To)]"
in

Code: Alles auswählen

puts $fd "To:[subst -nobackslashes {$mail(To)}]"
Danke und Grüße

Erik

PS: Die Datei email.txt muß nach email umbenannt werden und liegt unter /usr/local/etc/config/addon/email
Dateianhänge
email.txt
(2.47 KiB) 136-mal heruntergeladen

Benutzeravatar
uwe111
Beiträge: 4821
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 246 Mal
Kontaktdaten:

Re: CCU2 und Email-Addon 1.2: keine Anzeige des Absenders

Beitrag von uwe111 » 15.07.2013, 16:07

Hallo Erik,

schon geschehen. Anbei das Email Addon Version 1.4 :) Und bitte wieder testen!

Viele Grüße,

Uwe.
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

klayer2
Beiträge: 240
Registriert: 15.07.2013, 06:02
Hat sich bedankt: 4 Mal

Re: CCU2 und Email-Addon 1.2: keine Anzeige des Absenders

Beitrag von klayer2 » 19.07.2013, 20:57

Es lässt sich keine Variable in die Betreffzeile übernehmen.
Dort steht in der Email nur V2.
Ob der Addressat geht, habe ich nicht getestet.
34 Geräte: 3x HM-LC-Sw1-Pl-2, 1x HM-OU-LED16, 9x HM-LC-Bl1PBU-FM, 1x HM-Sec-SFA-SM, 1x HM-RC-Sec3-B, 2x HM-RC-4-B, 1x HM-LC-Sw4-WM, 1x HM-Sec-RHS, 1x HM-EM-CCM, 1x HM-Sen-EP, 10x HM-Sec-SC, 1x HM-RC-19, 1x HM-Sen-MDIR-O, 1x HM-LC-Sw1PBU-FM

dtp
Beiträge: 10660
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 321 Mal
Danksagung erhalten: 501 Mal

Re: CCU2 und Email-Addon 1.2: keine Anzeige des Absenders

Beitrag von dtp » 30.07.2013, 11:18

Vielen Dank für die Version 1.4. Bei mir funktioniert nun wieder alles, wie gehabt.

Gruß,

Thorsten
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

raffcjab
Beiträge: 97
Registriert: 18.11.2012, 12:24

Re: CCU2 und Email-Addon 1.2: keine Anzeige des Absenders

Beitrag von raffcjab » 12.08.2013, 21:44

Hallo Ihr!

Bei mir (CCU1, 1.509) geht die Implementierung von Variablen für Empfänger und Betreff auch nicht mehr. Es wird nur stur "$v1" für den Adressaten und "$v2" für den Betreff wiedergegeben. Im Textfeld werden die Variablen richtig verwendet (auch $v1 und $v2).

Wurde die Funktion bewusst wieder entfernt?

Viele Grüße,

raffcjab

Thialf
Beiträge: 20
Registriert: 25.09.2013, 10:44
Hat sich bedankt: 1 Mal
Danksagung erhalten: 4 Mal

Re: CCU2 und Email-Addon 1.2: keine Anzeige des Absenders

Beitrag von Thialf » 25.09.2013, 10:55

selbes Problem hier. Hab die CCU1 und durch die zusätzlichen geschweiften Klammern werden Variablen im Betreff&Empfänger nicht ersetzt.
Ich versteh zwar nix von tcl aber die Lösung war bei mir folgende:
in /usr/local/etc/config/addons/email:
aus Zeile 77 werden die folgenden beiden:

Code: Alles auswählen

puts -nonewline $fd "Subject:"
puts $fd [subst -nobackslashes $mail(Subject)]
und aus Zeile 75:

Code: Alles auswählen

puts -nonewline $fd "To:"
puts $fd [subst -nobackslashes $mail(To)]
Jetzt sehen die "substitude"-Kommandos genauso aus wie der email-Text, ohne Anführungszeichen und geschweifte Klammern. Sollte also bei CCU1+2 funktionieren.

Benutzeravatar
joni-blue
Beiträge: 1171
Registriert: 04.01.2012, 12:20
System: CCU
Wohnort: Hannover
Hat sich bedankt: 6 Mal
Danksagung erhalten: 1 Mal

Re: CCU2 und Email-Addon 1.2: keine Anzeige des Absenders

Beitrag von joni-blue » 25.09.2013, 13:32

Thialf hat geschrieben:selbes Problem hier. Hab die CCU1 und durch die zusätzlichen geschweiften Klammern werden Variablen im Betreff&Empfänger nicht ersetzt.
Ich versteh zwar nix von tcl aber die Lösung war bei mir folgende:
in /usr/local/etc/config/addons/email:
aus Zeile 77 werden die folgenden beiden:

Code: Alles auswählen

puts -nonewline $fd "Subject:"
puts $fd [subst -nobackslashes $mail(Subject)]
und aus Zeile 75:

Code: Alles auswählen

puts -nonewline $fd "To:"
puts $fd [subst -nobackslashes $mail(To)]
Jetzt sehen die "substitude"-Kommandos genauso aus wie der email-Text, ohne Anführungszeichen und geschweifte Klammern. Sollte also bei CCU1+2 funktionieren.
kannst du mal bitte das mail addon welches du installiert hast den link bereit stellen und wie heist die datei in dem pfad die du geändert hast???
Reboot tut gut ! ! !

Benutzeravatar
joni-blue
Beiträge: 1171
Registriert: 04.01.2012, 12:20
System: CCU
Wohnort: Hannover
Hat sich bedankt: 6 Mal
Danksagung erhalten: 1 Mal

Re: CCU2 und Email-Addon 1.2: keine Anzeige des Absenders

Beitrag von joni-blue » 25.09.2013, 14:26

das ich den betreff über eine variable ändern kann geht jetzt aber leider nicht den empfänger.
wo liegt mein Fehler?

Code: Alles auswählen

#!/bin/tclsh

##
# @file email
# @brief Versendet E-Mails
#
# @param [lindex argv 0] Id der E-Mail
#
# @author Harima-kun
# @license Public Domain
##

if { [ catch {

  source /etc/config/addons/email/config.tcl
  set LOGFILE "/var/log/email.log"
  
  ##############################################################################
  # Hilfsfunktionen                                                            #
  ##############################################################################
  
  ##
  # @fn __loadFromFile
  # @brief L‰dt eine Datei
  #
  # @param filename Dateiname
  # @return Inhalt der Datei
  ##
  proc __loadFromFile { filename } {
    set content ""
    catch {
      set fd [open $filename r]
      set content [read $fd]
      close $fd
    }
    return $content
  }
  
  ##
  # @fn __getMail
  # @brief Liefert die E-Mail mit der angegbenen Id
  #
  # @param id Id der E-Mail
  # @return E-Mail-Daten
  ##
  proc __getMail { id } {
    global MAIL_DIR
    
    array set mail {}
    set mail(To) {}
    set mail(Subject) {}
    set mail(Content) {}
    set mail(Tcl) {}
    
    array set mail [__loadFromFile "$MAIL_DIR/$id.mail"]
    
    return [array get mail]
  }
  
  ##############################################################################
  # Einsprungpunkt                                                             #
  ##############################################################################
  
  catch { file delete -force -- $LOGFILE }
    
  catch { source $USER_SCRIPT_FILE }
 
  array set mail [__getMail [lindex $argv 0]]
  
  array set account [__loadFromFile $ACCOUNT_FILE]
  
  set fd [open "|msmtp -t -C $MSMTP_CONFIG_FILE" w]
  puts -nonewline $fd "To:"
  puts $fd [subst -nobackslashes $mail(To)]
  if [info exists account(From)] { puts $fd "From: $account(From)" }
  puts -nonewline $fd "Subject:"
  puts $fd [subst -nobackslashes $mail(Subject)]
  puts $fd [clock format [clock seconds] -format "Date: %a, %d %b %Y %H:%M:%S %z"]
  puts $fd "Content-Type: text/plain; charset=UTF-8"
  puts $fd "Content-Transfer-Encoding: 8bit"
  puts $fd ""
  if { "true" == $mail(Tcl) } {
    puts $fd [subst -nobackslashes $mail(Content)]
  } else {
    puts $fd $mail(Content)
  }
  close $fd
  
} errMsg ] } then {
  exec -- logger -t email -p user.err $errMsg
}

Reboot tut gut ! ! !

Thialf
Beiträge: 20
Registriert: 25.09.2013, 10:44
Hat sich bedankt: 1 Mal
Danksagung erhalten: 4 Mal

Re: CCU2 und Email-Addon 1.2: keine Anzeige des Absenders

Beitrag von Thialf » 25.09.2013, 14:38

die Version 1.4, die ein paar posts zuvor veröffentlicht wurde, hab ich.

Du hast irgendwie ne alte Version von 'email'. Die sieht ganz anders aus als meine:
Die Unterscheidung, ob tcl verwendet wird (if { "true" == $mail(Tcl) }) findet bei dir nur kurz vor dem Einsetzen des Email-Contents (=Text) statt.
Anbei meine Datei. Ich schlage vor du installierst dir die Version 1.4 und bügelst dann die Datei 'email' drüber.
Dateianhänge
email.zip
(1.03 KiB) 166-mal heruntergeladen

Antworten

Zurück zu „Sonstige Addons“