Contao-Summit 2026

Ankündigung

Collapse
No announcement yet.

Newsletter: Default für Zyklus und Wartezeit verändern

Collapse
X
 
  • Filter
  • Zeit
  • Show
Clear All
new posts

    Newsletter: Default für Zyklus und Wartezeit verändern

    Contao 4.13

    Hallo zusammen,

    für den Newsletter-Versand muss ich andere Werte für Zyklus und Wartezeit hinterlegen.
    Ich kann die zwar manuell bei jedem Versand eintragen, aber die Werte springen dann immer wieder zurück auf Zyklus 10 und Wartezeit 1.

    Damit der Redakteur nicht mit falschen Werten sendet und die meisten Mails dann nicht durchgehen, will ich die Voreinstellung dieser Werte ändern.

    Weiß jemand, wie das geht?

    Viele Grüße
    Holger

    #2
    Die Werte sind hardcodet. Du könntest sie aber mit Hilfe von https://github.com/symplify/vendor-patches bspw. patchen.

    Ansonsten würde ich für Rate Limiting unter 4.13 eher folgende Vorgangsweise empfehlen (wenn die auch nicht besonders genau ist): https://docs.contao.org/manual/de/sy...symfony-mailer

    Ab Symfony 6 (Contao 5.3+) kann man einen Rate Limiter konfigurieren.
    Last edited by Spooky; 01.08.2024, 12:38.
    » sponsor me via GitHub or Revolut

    Comment


      #3
      Danke!

      Hallo Spooky,

      danke sehr für die prompte Antwort!
      Sie hilft mir weiter.

      Gruß
      Holger

      Comment


        #4
        Zitat von Spooky Beitrag anzeigen
        Ab Symfony 6 (Contao 5.3+) kann man einen Rate Limiter konfigurieren.
        Wie kann man den Rate Limiter konfigurieren?
        Kann ich das über die config.yml oder die parameters.yml verändern?

        Ist das irgendwo dokumentiert?
        V15* Thorsten Neuhaus
        Taufkirchen (München)

        Comment


          #5
          A rate limiter controls how frequently some event (e.g. an HTTP request or a login attempt) is allowed to happen. Rate limiting is commonly used as a defensive measure to protect services from excessi…

          Messenger provides a message bus with the ability to send messages and then handle them immediately in your application or send them through transports (e.g. queues) to be handled later. To learn more…
          Last edited by Spooky; 30.08.2024, 12:03.
          » sponsor me via GitHub or Revolut

          Comment


            #6
            Sollte das funktionieren, wenn ich den folgenden Code in die config.yml schreibe?

            Code:
            framework:
                rate_limiter:
                    anonymous_api:
                        policy: 'fixed_window'
                        limit: 180
                        interval: '240 minutes'
            Oder muss der Code in die parameters.yml?

            Der Server bei webgo hat als Limit 200 E-Mails pro 240 Minuten (14.400 Sekunden).
            Daher würde ich nur 180 E-Mails alle 4 Stunden versenden.

            Angezeigt wird das im Backend bei den Feldern "Mails pro Zyklus" und "Wartezeit in Sekunden" dann trotzdem nicht - oder?
            Das wäre halt praktisch, damit die Werte offensichtlich erkennbar sind. Sonst müsste ich die Felder für Redakteuere ausblenden...
            V15* Thorsten Neuhaus
            Taufkirchen (München)

            Comment


              #7
              Zitat von Cranker Beitrag anzeigen
              Sollte das funktionieren, wenn ich den folgenden Code in die config.yml schreibe?

              Code:
              framework:
                  rate_limiter:
                      anonymous_api:
                          policy: 'fixed_window'
                          limit: 180
                          interval: '240 minutes'
              Nein, das alleine reicht nicht. Den Rate Limiter müsstest du dann noch einem eigenen Messenger Transport hinzufügen und die E-Mails über diesen Messenger Transport senden lassen. Und dann müsstest du diesen Messenger Transport noch bei den Contao Workern registrieren denke ich. Eine fix-fertige Lösung habe ich nicht für dich - es ist aber möglich.

              Ich würde den Rate Limiter nicht "anonymous_api" nennen, sondern etwas anderes.
              » sponsor me via GitHub or Revolut

              Comment


                #8
                Zitat von Spooky Beitrag anzeigen
                Nein, das alleine reicht nicht. Den Rate Limiter müsstest du dann noch einem eigenen Messenger Transport hinzufügen und die E-Mails über diesen Messenger Transport senden lassen. Und dann müsstest du diesen Messenger Transport noch bei den Contao Workern registrieren denke ich. Eine fix-fertige Lösung habe ich nicht für dich - es ist aber möglich.

                Ich würde den Rate Limiter nicht "anonymous_api" nennen, sondern etwas anderes.
                "anonymous_api" hatte ich aus dem Beispiel, dass du mir oben geschickt hast.

                Aber dann bin ich raus - davon habe ich keine Ahnung ????????
                Da sollte man schon wissen was man tut.

                Das steht für meinen Anwendungsfall auch in keinem Verhältnis, wenn ich mich damit jetzt länger beschäftige.
                Danke auf jeden Fall für deine Hilfe, nun weiß ich auf jeden Fall das es nicht einfach zu lösen ist.
                V15* Thorsten Neuhaus
                Taufkirchen (München)

                Comment


                  #9
                  Zitat von Cranker Beitrag anzeigen
                  "anonymous_api" hatte ich aus dem Beispiel, dass du mir oben geschickt hast.
                  Das ist ein allgemeines Beispiel aus der Symfony Dokumentation - das sollst du dir durchlesen und dementsprechend dann selbst anwenden, nicht einfach nur kopieren



                  Zitat von Cranker Beitrag anzeigen
                  Aber dann bin ich raus - davon habe ich keine Ahnung ????????
                  Da sollte man schon wissen was man tut.
                  Ja, man muss das schon zuerst verstehen lernen. Aber ich werde dazu mal ein Ticket bei Contao anlegen, dass wir evt. einen eigenen Messenger Transport für die E-Mails by default verwenden, dann wird das vereinfacht.



                  Zitat von Cranker Beitrag anzeigen
                  nun weiß ich auf jeden Fall das es nicht einfach zu lösen ist.
                  Einfach ist es schon. Der Vorteil ist ja, dass du das ab Symfony 6 einfach per config selbst definieren kannst - und nicht irgendwie selbst was programmieren musst.
                  » sponsor me via GitHub or Revolut

                  Comment


                    #10
                    Zitat von Spooky Beitrag anzeigen
                    Das ist ein allgemeines Beispiel aus der Symfony Dokumentation - das sollst du dir durchlesen und dementsprechend dann selbst anwenden, nicht einfach nur kopieren
                    Dafür muss man aber auch verstehen, dass es sich bei diesem Wert um einen "Namen" handelt, den man einfach anpassen kann.

                    Zitat von Spooky Beitrag anzeigen
                    Ja, man muss das schon zuerst verstehen lernen. Aber ich werde dazu mal ein Ticket bei Contao anlegen, dass wir evt. einen eigenen Messenger Transport für die E-Mails by default verwenden, dann wird das vereinfacht.
                    Im idealfall würde ein einmal eingestellter Wert im Backend angezeigt werden und auch bestehen bleiben.
                    Ich habe einen 14 Jahre alten Eintrag im Forum gefunden, bei dem das auch schon mal Thema war - der Link auf das Ticket hat aber nicht mehr funktioniert.

                    Danke fürs Ticket anlegen.

                    Zitat von Spooky Beitrag anzeigen
                    Einfach ist es schon. Der Vorteil ist ja, dass du das ab Symfony 6 einfach per config selbst definieren kannst - und nicht irgendwie selbst was programmieren musst.
                    Wenn man sich mit Symfony auskennt bestimmt ...
                    V15* Thorsten Neuhaus
                    Taufkirchen (München)

                    Comment


                      #11
                      Zitat von Cranker Beitrag anzeigen
                      Im idealfall würde ein einmal eingestellter Wert im Backend angezeigt werden und auch bestehen bleiben.
                      Das wird sicher nicht kommen. Es wird eine Config bleiben.



                      Zitat von Cranker Beitrag anzeigen
                      Ich habe einen 14 Jahre alten Eintrag im Forum gefunden, bei dem das auch schon mal Thema war - der Link auf das Ticket hat aber nicht mehr funktioniert.
                      Welche Erwartungen hast du an einen 14 Jahre alten Thread?



                      Zitat von Cranker Beitrag anzeigen
                      Wenn man sich mit Symfony auskennt bestimmt ...
                      Wenn du spezielle Anforderungen hast, musst du dich auch mit dem System beschäftigen.
                      » sponsor me via GitHub or Revolut

                      Comment


                        #12
                        In many shared hosting environments the amount of emails you can send is limited (or limited by the SMTP). For example, on webgo shared hostings you can send 50 per hour, on Hetzner 500 emails per ...
                        » sponsor me via GitHub or Revolut

                        Comment


                          #13
                          Contao 5.3

                          Hallo,

                          ich möchte das Thema nochmal aufgreifen und nachfragen, ob es hierzu schon eine funktionierende Lösung für die config.yml oder env.local gibt?

                          Da mein Tarif nur 250 Mails pro Stunde erlaubt, würde ich gern die "Wartezeit in Sekunden" auf 180 dauerhaft erhöhen (da under NL von einem Redakteur verschickt wird).

                          Danke im voraus!

                          Comment


                            #14
                            Das Ergebnis findest Du ja im verlinkten Ticket. Ich hab es so verstanden, dass es dafür keine universelle Lösung in Contao geben wird.

                            Eine funktionierende config.yaml hat m.E. Fritz ganz am Anfang gepostet (im Ticket)
                            Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
                            Contao-Online-Video-Kurse: Contao Academy
                            Funktionalität erweitern: Contao-Erweiterungen

                            :cool:Für Dinge die man mit HTML und CSS lösen kann, braucht man kein javascript.





                            Comment


                              #15
                              Zitat von mlweb Beitrag anzeigen
                              Eine funktionierende config.yaml hat m.E. Fritz ganz am Anfang gepostet (im Ticket)
                              Danke, habe ich gemacht.
                              Aber ich weiß nicht, ob ich unter
                              PHP-Code:
                                  messenger:
                                      
                              transports: 
                              "transports" noch etwas eintragen muss (das habe ich unter "mailer" gemacht).
                              ... und wie ich das testen kann. (Ohne dass die NL-Empfänger einen NL erhalten)

                              Comment

                              Working...
                              X