Ankündigung

Einklappen
Keine Ankündigung bisher.

sendmail(): Sonderzeichen & Umbrüche

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    sendmail(): Sonderzeichen & Umbrüche

    Hallo zusammen,

    Wie bekome ich sendmail() dazu, bestimmte Zeichen zu versenden?
    1. Aufgefallen ist mir das beim Grad-Zeichen "°", das in der ausgehenden Mail nicht dargestellt wird.
    (Beim Webserver hilft "°". In der Mail wird das einfach als "°" übernommen)

    2. Wie kann ich einen Zeilenumbruch in der Mail erzeugen?
    (Was muss an die Stelle der ??? in $Zeile1$ + ????? + $Zeile2$)

    In Handbuch und Forum habe ich nichts gefunden.
    Hat einer einen Tip? Danke!

    #2
    Zitat von MarkusL Beitrag anzeigen
    Hallo zusammen,

    Wie bekome ich sendmail() dazu, bestimmte Zeichen zu versenden?
    Das geht derzeit leider nicht. Mit der Beta-Version könnte man versuchen ein CR an die entsprechende Stelle einzufügen (Fkt. stringset - Ich habe das aber nicht getestet). Insgesamt ist der mailversand aber eh noch auf der Liste für die Verbesserungen, da das bisherige sendmail-Skript viel zu viel Performance frisst. Im Zuge der nächsten Releases wird es dazu sicher ein Patch geben.
    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
    Enertex Produkte kaufen

    Kommentar


      #3
      Guten Abend,

      ich verwende seit langen die Zeit- und Datumsanzeige im Webserver v1 ohne Probleme.
      Seit ich aber mit sendmail test.....

      Webserver:
      webdisplay(WEBID_Time, convert(settime(), $$) + $ / $ + convert(setdate(), $$), DATE, INACTIVE, GREY)

      sendmail():
      sendmail(email, $Zeitausgabe$, convert(setdate(), $$) + $ / $ + convert(settime(), $$))

      Ergebnis:
      Webserver: Di, 22:00:00 / 20.07.2010
      sendmail(): 20.07.2010 Di, 22:00:00 (Sommerzeit)<br> Synchronisierung: nein<br> Fehler: nein<br>

      Nun stellen sich damit ein paar Fragen.
      • Warum der zusätzliche Text?
      • Warum Ausgabe des Wochentags beim Webserver zusammen mit der Zeit (obwohl das zum Datum gehört) und bei Sendmail woanders?
      • Warum wird bei sendmail das "/" nicht angezeit? (Woanders im String funktioniert es ohne Probs)


      Michael, kannst du das bitte bei Gelegenheit kommentieren. Danke!

      Kommentar


        #4
        Zitat von MarkusL Beitrag anzeigen
        ein paar Fragen.
        • Warum der zusätzliche Text?
        • Warum Ausgabe des Wochentags beim Webserver zusammen mit der Zeit (obwohl das zum Datum gehört) und bei Sendmail woanders?
        • Warum wird bei sendmail das "/" nicht angezeit? (Woanders im String funktioniert es ohne Probs)

        Michael, kannst du das bitte bei Gelegenheit kommentieren. Danke!
        Ich werde der Sache nachgehen. Allerdings steht sendmail eh auf der Todo-Liste für das übernächste Release. (Die nächste offizielle Version kommt noch diese Woche). Der Wochentag ist bestandteil des Telegrammtyps t24, das ist KNX.
        Das "/": Sonderzeichen werden derzeit abgefangen vom sendmail, weil es da mal zu einem Problem gekommen war. Aber wie gesagt, der Unterbau im Linux des EibPC wird an dieser Stelle verändert werden...
        Michael
        offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
        Enertex Produkte kaufen

        Kommentar


          #5
          Zitat von enertegus Beitrag anzeigen
          Ich werde der Sache nachgehen. Allerdings steht sendmail eh auf der Todo-Liste für das übernächste Release. (Die nächste offizielle Version kommt noch diese Woche). Der Wochentag ist bestandteil des Telegrammtyps t24, das ist KNX.
          OK.
          Das Problem mit dem zusätzlichen String kommt von settime().
          (setdate() macht in beiden Fällen was es soll.)
          Zitat von enertegus Beitrag anzeigen
          Das "/": Sonderzeichen werden derzeit abgefangen vom sendmail, weil es da mal zu einem Problem gekommen war.
          Nö, anscheinend nur bei
          Code:
          convert(setdate(), $$) + $ / $ + convert(settime(), $$)
          ; da hiermit
          Code:
          convert(convert(azimuth(), 0.0), $$) + $ / El=$ + convert(convert(elevation(), 0.0), $ $)
          im Mailtext das "/" ankommt.
          Anscheinend kontextsensitives Ausfiltern von portentiell "gefährlichen" zeichen?

          Zitat von enertegus Beitrag anzeigen
          Aber wie gesagt, der Unterbau im Linux des EibPC wird an dieser Stelle verändert werden...
          Michael
          Danke, dann werd ich warten (müssen).
          (Ich verwende Mail zum senden von ein paar Statuswerten, da ich den direkte Zugang zur Visu aus dem Extranet erst noch sicherer haben möchte.)

          Puh...erst halb elf und schon fast zu warm für Gartenarbeiten...

          Kommentar


            #6
            Zitat von MarkusL Beitrag anzeigen
            OK.
            Danke, dann werd ich warten (müssen).
            (Ich verwende Mail zum senden von ein paar Statuswerten, da ich den direkte Zugang zur Visu aus dem Extranet erst noch sicherer haben möchte.)
            Leider...
            offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
            Enertex Produkte kaufen

            Kommentar


              #7
              Hallo,

              kurze Frage zu den Versenden von Statuswerten.
              Im Hanbuch steht ja folgendes:

              email=$eibpc@enertex.de$
              betreff=$EibPC$
              nachricht=$alles prima$
              if wtime(08,00,00,MONTAG) then sendmail(email, betreff, nachricht) endif

              Wenn ich nun die Nachricht $alles prima$ mit einer Gruppenadresse, z.B. der Temperatur austausche, will der Compiler das nicht machen.
              Hat jemand einen Tipp, was ich da genau eingeben muss damit es funktionobelt?
              Danke schonmal.

              Gruß
              Joggi

              Kommentar


                #8
                Zitat von Joggi2222 Beitrag anzeigen
                email=$eibpc@enertex.de$
                betreff=$EibPC$
                nachricht=$alles prima$
                if wtime(08,00,00,MONTAG) then sendmail(email, betreff, nachricht) endif

                Wenn ich nun die Nachricht $alles prima$ mit einer Gruppenadresse, z.B. der Temperatur austausche, will der Compiler das nicht machen.
                Ersetze einfach die Definition:
                nachricht = $alles prima. Im Schlafzimmer hat es gerade $+convert("GASchlafzimmer",$$)+$ Grad.$
                offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                Enertex Produkte kaufen

                Kommentar


                  #9
                  Hoi Michael

                  Nur mal so zum Verständnis der Abarbeitung der Befehle im EibPC.

                  Eine einfache Zuweisung wie:
                  Code:
                  [I]nachricht = $alles prima. Im Schlafzimmer hat es gerade $+convert("GASchlafzimmer",$$)+$ Grad.$[/I]
                  wird immer neu "berechnet", wenn der Temperaturwert sich ändert?
                  Also ist im Mail immer der direkte aktuelle Wert?
                  Grüsse Bodo
                  Fragen gehören ins Forum, und nicht in mein Postfach;
                  EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;

                  Kommentar


                    #10
                    Supi,
                    das werd ich dann nachher gleich mal ausprobieren.
                    Danke für die schnelle Antwort.

                    Gruß
                    Joggi

                    Kommentar


                      #11
                      Zitat von Bodo Beitrag anzeigen
                      Hoi Michael

                      Nur mal so zum Verständnis der Abarbeitung der Befehle im EibPC.

                      Eine einfache Zuweisung wie:
                      Code:
                      [I]nachricht = $alles prima. Im Schlafzimmer hat es gerade $+convert("GASchlafzimmer",$$)+$ Grad.$[/I]
                      wird immer neu "berechnet", wenn der Temperaturwert sich ändert?
                      Ja, alles was sich ändert, wird neu ausgewertet, auch eine Definition:
                      // ist immer konstant und wird beim systemstart genau einmal ausgewertet
                      a=23
                      // bei jeder Änderung von GA1
                      b=1+"GA1"
                      // bei jeder Änderung von GA2
                      c="GA2"
                      offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                      Enertex Produkte kaufen

                      Kommentar


                        #12
                        Supi, danke.
                        Grüsse Bodo
                        Fragen gehören ins Forum, und nicht in mein Postfach;
                        EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;

                        Kommentar


                          #13
                          Michael,
                          Bzgl. meinem Post #5:
                          kannst du bitte versuchen zu erklären, warum das "/" manchmal per sendmail() gesendet wird und machmal nicht. Danke!

                          Kommentar


                            #14
                            Zitat von MarkusL Beitrag anzeigen
                            Michael,
                            Bzgl. meinem Post #5:
                            kannst du bitte versuchen zu erklären, warum das "/" manchmal per sendmail() gesendet wird und machmal nicht. Danke!
                            sendmail wird überarbeitet. Das kann einfach nur ein Bug sein.
                            offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                            Enertex Produkte kaufen

                            Kommentar


                              #15
                              Habt ihr in der letzten FW was an convert()/settime()/setdate() geändert?

                              nachricht = $Zeit: $ + convert(settime(), $$) + $ * Datum: $ + convert(setdate(), $$)
                              sendmail(email, betreff, nachricht);

                              hatte bisher
                              "Zeit: Do, 23:59:00 * Datum: 30.09.2010"
                              ergeben...

                              ...nun aber
                              "Zeit: Do, 23:59:00
                              * Datum: 30.09.2010"

                              D.h. convert() fügt jetzt nun immer ein Linebreak ein!?!
                              ...Kommt anscheinend von settime()/setdate(), da andere convert()s wie bisher funktionieren...

                              Kommentar

                              Lädt...
                              X