[Modul] SymconMailer

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

Hallo, ich hab ein ähnlich gelagertes Problem wie schon weiter oben beschrieben:
In der Instanzüberwachung versende ich Emails.
Also in Kurzform: Falls „if ($Sender == ‚StatusEvent‘)“ then SendEmail.
Allerdings bekomme ich in den Meldungen immer folgende Meldung:
image
Die Mail geht allerdings korrekt raus und in der gesamten Meldung ist kein Fehler zu lesen.
Die Funktionalität des Mailversands habe ich schon auf „Hello World“ verkürzt, hilft nichts.
Mein Aufruf:
PHPMailer_SendHTML_EMailEx($HtmlMailerID,'IPS Alarme',$recipient,$subject,$Body,'',$charset,$encoding);
Wobei unter
$recipient nur eine Adresse zu finden ist,
$Body = ‚Hello World‘;
$charset = ‚UTF-8‘;
$encoding = ‚base64‘;

Falls ich das Script „extrahiere“ und ohne Trigger - also direkt um Execute ausführe - dann gibt’s keinen Fehlereintrag in den Messages.

PS: Wie kann man CodeTags im Forum setzen?


Michael

ich versende Mails mit Bilder an mehrere Empfänger. Zuerst sende ich mir immer eine Probemail. Dort sind die Bilder immer dabei. Ein paar Empfänger melden mir jeweils, sie hätten keine Bilder erhalten. Ich hab keinen Blassen, woran das liegt. Hat das sonst wer auch?

Hallo @Fonzo
habe dein HTML EMail Modul im Einsatz, doch leider kann ich mit der installierten Version kein Mail mit aktiviertem SSL und Port 465 nutzen.
Habe das Modul sehr „viele“ Jahre bereits im Einsatz und nie aktualisiert.
Gibt es eine Version die meine Anforderung erfüllt?
Danke.
Gruß
Ekkehard

Ich habe mit dem PHP Modul das Problem das auch wenn die Emails erfolgreich versendet werden eine Warnung auftaucht.

Hier unten habe ich einmal den entsprchende Log Eintrag und das Script worüber die Email versendet wird.

Gruß

Thorsten


15.10.2023, 15:04:05 | ScriptEngine         | Result for Event 19832
2023-10-15 13:04:04 SERVER -&gt; CLIENT: 220 server47.webgo24.de ESMTP Postfix (Debian/GNU)<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: EHLO localhost.localdomain<br>
2023-10-15 13:04:04 SERVER -&gt; CLIENT: 250-server47.webgo24.de250-PIPELINING250-SIZE 1073741824250-ETRN250-STARTTLS250-AUTH PLAIN LOGIN250-ENHANCEDSTATUSCODES250-8BITMIME250 CHUNKING<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: STARTTLS<br>
2023-10-15 13:04:04 SERVER -&gt; CLIENT: 220 2.0.0 Ready to start TLS<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: EHLO localhost.localdomain<br>
2023-10-15 13:04:04 SERVER -&gt; CLIENT: 250-server47.webgo24.de250-PIPELINING250-SIZE 1073741824250-ETRN250-AUTH PLAIN LOGIN250-ENHANCEDSTATUSCODES250-8BITMIME250 CHUNKING<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: AUTH LOGIN<br>
2023-10-15 13:04:04 SERVER -&gt; CLIENT: 334 VXNlcm5hbWU6<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: [credentials hidden]<br>
2023-10-15 13:04:04 SERVER -&gt; CLIENT: 334 UGFzc3dvcmQ6<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: [credentials hidden]<br>
2023-10-15 13:04:04 SERVER -&gt; CLIENT: 235 2.7.0 Authentication successful<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: MAIL FROM:&lt;thorsten@meissner-nrw.de&gt;<br>
2023-10-15 13:04:04 SERVER -&gt; CLIENT: 250 2.1.0 Ok<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: RCPT TO:&lt;thorsten@meissner-nrw.de&gt;<br>
2023-10-15 13:04:04 SERVER -&gt; CLIENT: 250 2.1.5 Ok<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: DATA<br>
2023-10-15 13:04:04 SERVER -&gt; CLIENT: 354 End data with &lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: Date: Sun, 15 Oct 2023 15:03:59 +0200<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: To: =?iso-8859-1?Q?Thorsten_Mei=C3=9Fner?= &lt;thorsten@meissner-nrw.de&gt;<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: From: =?iso-8859-1?Q?Thorsten_Mei=C3=9Fner?= &lt;thorsten@meissner-nrw.de&gt;<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: Reply-To: =?iso-8859-1?Q?Thorsten_Mei=C3=9Fner?= &lt;thorsten@meissner-nrw.de&gt;<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: Subject: Tuer Alarm am 15.10.2023 um 15:03<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: Message-ID: &lt;NoPvbu3cJPTCCHTW1Q4MClISY4Ew7QjV2UHOJgBqJY@localhost.localdomain&gt;<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: X-Mailer: PHPMailer 6.5.4 (https://github.com/PHPMailer/PHPMailer)<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: MIME-Version: 1.0<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: Content-Type: multipart/alternative;<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER:  boundary=&quot;b1_NoPvbu3cJPTCCHTW1Q4MClISY4Ew7QjV2UHOJgBqJY&quot;<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: Content-Transfer-Encoding: 8bit<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: <br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: This is a multi-part message in MIME format.<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: <br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: --b1_NoPvbu3cJPTCCHTW1Q4MClISY4Ew7QjV2UHOJgBqJY<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: Content-Type: text/plain; charset=us-ascii<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: <br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: This is the body in plain text for non-HTML mail clients<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: <br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: --b1_NoPvbu3cJPTCCHTW1Q4MClISY4Ew7QjV2UHOJgBqJY<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: Content-Type: text/html; charset=iso-8859-1<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: Content-Transfer-Encoding: 8bit<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: <br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: T&uuml;r Nebengeb. laenger als 5 Minuten auf !<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: <br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: <br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: --b1_NoPvbu3cJPTCCHTW1Q4MClISY4Ew7QjV2UHOJgBqJY--<br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: <br>
2023-10-15 13:04:04 CLIENT -&gt; SERVER: .<br>
2023-10-15 13:04:05 SERVER -&gt; CLIENT: 250 2.0.0 Ok: queued as D61544340152<br>
2023-10-15 13:04:05 CLIENT -&gt; SERVER: QUIT<br>
2023-10-15 13:04:05 SERVER -&gt; CLIENT: 221 2.0.0 Bye<br>
 

<?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", "xxx@xxx.de", "Tuer Alarm am $datum um $uhrzeit ",
"Tür Nebengeb. laenger als 5 Minuten auf !
", "This is the body in plain text for non-HTML mail clients");