[Modul] SymconMailer

Wow. Das ging ja schnell :slight_smile: Vielen Dank

Hallo @Fonzo,

ich erhalte derzeit folgende Warnung obwohl die E-Mail erfolgreich versendet wurde.

14.12.2021, 05:00:00 | ScriptEngine         | Result for Event 55378
2021-12-14 04:00:00 SERVER -&gt; CLIENT: 220 smtp.strato.de ESMTP RZmta (P5 -)<br>
2021-12-14 04:00:00 CLIENT -&gt; SERVER: EHLO BELLAU-SIPS001<br>
2021-12-14 04:00:00 SERVER -&gt; CLIENT: 250-smtp.strato.de greets 93.220.135.135250-ENHANCEDSTATUSCODES250-PIPELINING250-8BITMIME250-DELIVERBY250-SIZE 104857600250-AUTH PLAIN LOGIN CRAM-MD5 DIGEST-MD5250-REQUIRETLS250 HELP<br>
2021-12-14 04:00:00 CLIENT -&gt; SERVER: AUTH CRAM-MD5<br>
2021-12-14 04:00:00 SERVER -&gt; CLIENT: 334 PDNiZTFjNDM0RlZGJkM3ZDhjZjkyNDFhQHNtdHAuc3RyYXRvLmRlPg==<br>
2021-12-14 04:00:00 CLIENT -&gt; SERVER: [credentials hidden]<br>
2021-12-14 04:00:00 SERVER -&gt; CLIENT: 235 2.7.0 OK Authenticated<br>
2021-12-14 04:00:00 CLIENT -&gt; SERVER: MAIL FROM:&lt;XXXXX@XXXXXX.de&gt;<br>
2021-12-14 04:00:00 SERVER -&gt; CLIENT: 250 2.1.0 Sender ok<br>
2021-12-14 04:00:00 CLIENT -&gt; SERVER: RCPT TO:&lt;empfaenfer@XXXXXXX.de&gt;<br>
2021-12-14 04:00:00 SERVER -&gt; CLIENT: 250 2.1.5 Recipient ok<br>
2021-12-14 04:00:00 CLIENT -&gt; SERVER: DATA<br>
2021-12-14 04:00:00 SERVER -&gt; CLIENT: 354 3.0.0 Enter data for mail with id w07de5xBE4005o1<br>
2021-12-14 04:00:00 CLIENT -&gt; SERVER: Date: Tue, 14 Dec 2021 05:00:00 +0100<br>
2021-12-14 04:00:00 CLIENT -&gt; SERVER: To: Empfaenger &lt;empfaenfer@XXXXXXX.de&gt;<br>
2021-12-14 04:00:00 CLIENT -&gt; SERVER: From: &quot;IPS&quot; &lt;XXXXX@XXXXXX.de&gt;<br>
2021-12-14 04:00:00 CLIENT -&gt; SERVER: Reply-To: &quot;IPS&quot; &lt;XXXXX@XXXXXX.de&gt;<br>
2021-12-14 04:00:00 CLIENT -&gt; SERVER: Subject: Photovoltaik-Bericht - Kalenderwoche 50/2021<br>
2021-12-14 04:00:00 CLIENT -&gt; SERVER: Message-ID: &lt;9RNT1qPOIZC5BZOxYvZhIdrX2ufFpweyPOdVVTcw7U@BELLAU-SIPS001&gt;<br>
2021-12-14 04:00:00 CLIENT -&gt; SERVER: X-Mailer: PHPMailer 6.4.1 (https://github.com/PHPMailer/PHPMailer)<br>
2021-12-14 04:00:00 CLIENT -&gt; SERVER: MIME-Version: 1.0<br>
2021-12-14 04:00:00 CLIENT -&gt; SERVER: Content-Type: text/html; charset=iso-8859-1<br>
2021-12-14 04:00:00 CLIENT -&gt; SERVER: <br>
2021-12-14 04:00:00 CLIENT -&gt; SERVER: &lt;p&gt;&lt;b&gt;Werte Site1&lt;/b&gt;&lt;br&gt;Montag, 06.12.2021: 4,201 kWh&lt;br&gt;Dienstag, 07.12.2021: 6,802 kWh&lt;br&gt;Mittwoch, 08.12.2021: 0,053 kWh&lt;br&gt;Donnerstag, 09.12.2021: 0,107 kWh&lt;br&gt;Freitag, 10.12.2021: 1,467 kWh&lt;br&gt;Samstag, 11.12.2021: 1,062 kWh&lt;br&gt;Sonntag, 12.12.2021: 8,028 kWh&lt;br&gt;&lt;b&gt;Gesamt: &lt;/b&gt;21,72 kWh&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Werte Site2&lt;/b&gt;&lt;br&gt;Montag, 06.12.2021: 7,383 kWh&lt;br&gt;Dienstag, 07.12.2021: 15,253 kWh&lt;br&gt;Mittwoch, 08.12.2021: 0,048 kWh&lt;br&gt;Donnerstag, 09.12.2021: 0,95 kWh&lt;br&gt;Freitag, 10.12.2021: 1,457 kWh&lt;br&gt;Samstag, 11.12.2021: 5,096 kWh&lt;br&gt;Sonntag, 12.12.2021: 21,843 kWh&lt;br&gt;&lt;b&gt;Gesamt: &lt;/b&gt;52,03 kWh&lt;br&gt;&lt;/p&gt;<br>
2021-12-14 04:00:00 CLIENT -&gt; SERVER: <br>
2021-12-14 04:00:00 CLIENT -&gt; SERVER: .<br>
2021-12-14 04:00:00 SERVER -&gt; CLIENT: 250 2.0.0 queued as w07de5xBE4005o1<br>
2021-12-14 04:00:00 CLIENT -&gt; SERVER: QUIT<br>
2021-12-14 04:00:00 SERVER -&gt; CLIENT: 221 2.0.0 closing connection<br>

Seit wann tritt das denn auf? Hast Du irgendwas geändert bzw. hat Strato etwas angepasst?

Seit ich auf die aktuelle Stable gewechselt bin. Ob Strato im Background was geändert hat weiß ich nicht.
Wie bekomme ich die Warnung abgefangen?

Info für vielleicht andere.
Ich habe heute meine Symbox auf den aktuellen Stand gebracht:
PHPMailer 6.4.1
IP-Symcon 6.1 #166 (3. Januar 2022 um 13:36:10)
SymOS 6.1 #40 (2. Januar 2022 um 06:30:39)
Danach ging der Befehl PHPMailer_SendHTML_EMailEx nicht mehr, obwoh ich dort keine Einstellungen geändert hatte.
Es kam eine Fehlermeldung, dass SMTP nicht connected werden konnte.
Lösung bei mir war, dass ich den SMTP Port von 587 auf 465 geändert habe, obwohl ich an den Schaltern für Benutze TLS (aus), Benutze SSL (ein) und Benutze Authentifizierung (ein) nichts geändert hatte. Der Provider dieser Emailadresse ist 1und1.

Hallo @Fonzo ich vermute, dass das ein CharSet-Problem ist. Könntest du PHP Mailer auf die 6.5.4 hochziehen? Dort könnte das Problem behoben sein. https://github.com/PHPMailer/PHPMailer/releases

EDIT: Ich habe noch gesehen, dass wenn ich folgende Optionen angebe:

$mail->CharSet   = 'UTF-8';
$mail->Encoding  = 'base64';

die Character interpretiert werden. Kann man das der Funktion PHPMailer_SendHTML_EMailEx() übergeben? Oder ist iso-8859-1 fix?

Danke im Voraus.

Aktuelle Beta nutzt PHP 6.5.4, Stable ist eingereicht. Ist der Fehler dann weg?

Muss ich mir mal anschauen und das gegebenenfalls ergänzen.

Ich habe das mal in der Methode in der Beta angepasst, bitte mal ausprobieren.

SendHTML_EMailEx(string $name_recipient, string $adress_recipient, string $subject, string $body, string $altbody, string $charset, string $encoding)

Wenn nichts übergeben wird ist ‚UTF-8‘ und ‚base64‘ voreingestellt.
Ich werde da dann noch eine Aktion ab IP Symcon 6 ergänzen, mit einer Auswahl.

1 „Gefällt mir“

Hi @Fonzo, vielen Dank! Funktioniert jetzt ohne Warnung. Allerdings musste ich beide Optionen mit angeben. Lasse ich diese weg, erhalte ich folgenden Fehler:

Fatal error: Uncaught ArgumentCountError: Too few arguments to function PHPMailer_SendHTML_EMailEx(), 6 passed in /var/lib/symcon/scripts/23859.ips.php on line 44 and exactly 8 expected in /var/lib/symcon/scripts/__generated.inc.php:2923

Das unten stehende Skript verwende ich zum versenden von emails, jedoch werden bei Outlook und Thunderbird die Umlaute nicht richtig dargestellt: "Tür Nebengebäude länger als 5 Minuten geöffnet ! " beim iPhone hingegeben wird alles richtig dargestellt. Was muss ich wo umstellen damit es überall richtig angezeigt wird. Bei Outlook hab ich UTF-8 aktiviert, brachte leider auch nichts…

vielen dank

Gruß

Thorsten

<?php
date_default_timezone_set("Europe/Berlin");
$timestamp = time();
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i",$timestamp);

PHPMailer_SendHTML_EMailEx(13968 /*[Geräte\PHPMailer\PHPMailer]*/, "Thorsten Meißner", "thorsten@meissner-nrw.de", "Tür Alarm am $datum um $uhrzeit ",
"Tür Nebengebäude länger als 5 Minuten geöffnet !
", "This is the body in plain text for non-HTML mail clients");

Hi,
versuch mal den Text in ein String zu packen und dann per utf8_encode zu verschicken. So mache ich es mit meinen Terminen die ich aus einem Kalender hole.

Ralf

Hast du da evtl ein Beispiel dafür? Bin da leider nicht ganz so fit sein…. danke schonmal. :smirk:

Hi,
versuch vielleicht mal:

dabei ist mir noch aufgefallen das Du Datum und Zeit falsch benutzt. Tausch vielleicht auch einfach mal

durch

aus vielleicht war es das ja schon.

Ich benutze SMTP_SendMail zum verschicken meiner Mails.

Ralf

Das ist bei PHP tatsächlich egal.
Bei doppelten Anführungszeichen kann man einfach Variablen mit $ direkt in den Text schreiben.
Michael

1 „Gefällt mir“

Blockzitat Hi,
versuch vielleicht mal:

<?php
date_default_timezone_set("Europe/Berlin");
$timestamp = time();
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i",$timestamp);

$text1 = "Tür Alarm am ".$datum." um ".$uhrzeit;
$text2="Tür Nebengebäude länger als 5 Minuten geöffnet !";
PHPMailer_SendHTML_EMailEx(13968 /*[Geräte\PHPMailer\PHPMailer]*/, "Thorsten Meißner", "thorsten@meissner-nrw.de",  utf8_encode($text1),   utf8_encode($text2, "This is the body in plain text for non-HTML mail clients");```



Hier kommt folgender Fehler dann:

Parse error: syntax error, unexpected end of file, expecting ‚)‘ in /var/lib/symcon/scripts/16475.ips.php on line 9

Hier fehlt hinter der 2 die schließende Klammer. Aber das kann so eigentlich nicht das Problem sein. In einem simplen Datum/Uhrzeit ist kein Zeichen drin, welches sich in der Kodierung Unicode/ANSI unterscheidet. Und der per Hand eingegebene Text sollte sowieso Unicode sein. Ggf. mal das Utility-Control über das Script laufen lassen. Und die Umlaute z.B. von einer Webseite kopieren bzw. nochmal neu eingeben.

Ich vermute aber viel eher, dass hier ein Problem im Modul ist, welches ggü. dem Mailanbieter nicht auf UTF8 umstellt.

Mails können per Definition kein UTF8 sondern nur ANSI. Man muss jetzt also entweder relativ komplex die Mail auf UTF8 Umbiegen, oder den Text als ANSI hinsenden. Zweiteres verhindert IP-Symcon in neuen Implementierungen. Für ersteres müsste das Mailer-Modul umgeschrieben werden, was hier die sinnvollere Lösung wäre.

Warum nicht so:

PHPMailer_SendHTML_EMailEx(13968 ,"Thorsten Meißner", "thorsten@meissner-nrw.de", $text1, $text2, , "", "UTF-8", "base64");

@Fonzo ist die Beta und Stable schon auf selben Stand? Kann man aus dem Modul Store leider nicht eindeutig ableiten (@paresy wäre super, wenn dort mehr Information im Store wären)

@7weazel7 danke für den Hinweis das es sich um ein Modul handelt. Hatte ich nicht gesehen.
Die Beiträge wurden somit in den Support Thread von dem Modul verschoben.
Michael

Äh bitte - wo ist denn dieser Support Thread von diesem Modul?
Oder ist dieser nur für die Entwickler des Moduls ?

Na der hier…
Michael