[3.3] Massen Email mit zeitverzögerung

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
chris1278
Mitglied
Beiträge: 3536
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

[3.3] Massen Email mit zeitverzögerung

Beitrag von chris1278 »

Gibt es eine Möglichkeit bei der Phpbb Massenmail Funktion etwas einzubauen was das versenden steuert.

Also wenn mein Hoster jetzt sagen wir 16000 mails pro tag aber nur 10 mails pro minute senden kann mit smtp. Wäre es möglich dort einen Zeit intervall einzuschleusen der zwischen jeder zu senden Email eine pause einbindet.
Benutzeravatar
IMC
Mitglied
Beiträge: 544
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [3.3] Massen Email mit zeitverzögerung

Beitrag von IMC »

Hi Chris,

so wie ich das sehe geht das nur im core-code in der Datei acp_email.php. Dort ist die Schleife zum versenden. Dort muss dann ein Timeout eingefügt werden.

Bei dieser Größenordnung zu versendenden E-Mail würde ich ein externes Tool schreiben. Als Klasse für den Mailer habe ich mit phpmailer gute Erfahrungen gemacht. Andere bevorzugen anderes, ist wohl eine Sache der Gewöhnung.
Gruß, Thorsten
Benutzeravatar
chris1278
Mitglied
Beiträge: 3536
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [3.3] Massen Email mit zeitverzögerung

Beitrag von chris1278 »

Ja den phpmailer kenne ich ist den der im phpbb integriert oder muss ich den separat integrieren.

Wobei das mit dem core ja auch gehen würde. Da die Änderung nur temporär wäre.

Ich muss halt ne massenmail in einem Forum schreiben und das an über 14000 mitglieder. Dafür hab ich extra bei 1und1/ionos den mail office echchange gebucht. Da kann man nach 30 tagen 16000 mails pro tag/10 mails pro minute schicken.

wenn ich da in die routine jetzt nen break von sagen wir 2 min. einsetze müsste das limit bei 10 pro minute ja passen.
Benutzeravatar
IMC
Mitglied
Beiträge: 544
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [3.3] Massen Email mit zeitverzögerung

Beitrag von IMC »

Der ist nicht in phpBB integriert. Ich meinte ein eigenes, von phpBB unabhängiges Programm erstellen welches die Datenbank von phpBB nutzt. Da kann man auch mehr tricksen und der Zugang ist während des E-Mail versandt nicht blockiert. Außerdem könnte es Probleme mit der Script Laufzeit geben.
chris1278 hat geschrieben: 05.09.2023 18:51 wenn ich da in die routine jetzt nen break von sagen wir 2 min. einsetze müsste das limit bei 10 pro minute ja passen.
6 Sekunden sollten reichen.
Gruß, Thorsten
Benutzeravatar
chris1278
Mitglied
Beiträge: 3536
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [3.3] Massen Email mit zeitverzögerung

Beitrag von chris1278 »

Ok ich denke ich hab verstanden was du meinst. Ja den phpmailer kenne ich den hatte ich schon mal auf der Webseite genutzt. den einzurichten wäre kein Problem. Dann müsste nur der Workaround drum herum geschrieben werden. Aber ich denke das wäre kein Problem. Danke für diesen Typ.

Dann werd ich daraus mal eine Extension machen weil diese Problematik scheint ja auch andere zu betreffen. Auch wenn nicht in dem umfang wie ich den habe aber auch die freehoster haben ja limits di unter umstände Probleme bereiten.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2129
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [3.3] Massen Email mit zeitverzögerung

Beitrag von LukeWCS »

Chris, nur am Rande, du willst im Prinzip das phpBB Skript eine gewisse Zeit pausieren lassen und dann weiterlaufen lassen?

Das wird so nicht funktionieren, denk an die max_execution_time von PHP. Diese Laufzeitbegrenzung gibt es bei jedem Hoster und die beträgt meistens 30 Sekunden. Manchmal sogar weniger, manchmal auch mehr. Per Ext ist das so auch nicht lösbar, weil gleiches Problem. Da wäre schon einiger Aufwand notwendig, um das realisieren zu können.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
chris1278
Mitglied
Beiträge: 3536
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [3.3] Massen Email mit zeitverzögerung

Beitrag von chris1278 »

Naja das ganze wird ja mittels SMTP wie speziellen mail Server von ionos versendet. Ich werde es auf jeden fall mal testen mal schauen was passiert.

Bisher ist das nur an der Mail Beschränkung immer fehlgeschlagen.
Benutzeravatar
chris1278
Mitglied
Beiträge: 3536
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [3.3] Massen Email mit zeitverzögerung

Beitrag von chris1278 »

@luke

hast Recht. erstmal timeout und eine foreach Schleife lässt sich auch nicht mit sleep() pausieren. somit muß ich das anders lösen ohne foreach Schleife. ich denke da an Datenbank Abgleich in Verbindung mit Seiten refresh. mal schauen.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2129
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [3.3] Massen Email mit zeitverzögerung

Beitrag von LukeWCS »

chris1278 hat geschrieben: 15.09.2023 14:40 hast Recht. erstmal timeout
Jupp
und eine foreach Schleife lässt sich auch nicht mit sleep() pausieren.
Hat mit foreach nichts zu tun, sondern einzig mit Überschreitung der maximalen Ausführungszeit. sleep() kann man in sehr seltenen Ausnahmefällen für spezielle Aktionen nutzen, aber bei dem was du vorhast, sollte gerade sleep() keinesfalls Bestandteil deines Konzepts sein. :wink:
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
chris1278
Mitglied
Beiträge: 3536
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [3.3] Massen Email mit zeitverzögerung

Beitrag von chris1278 »

Ne ich mach das anders. Ich werde das so einrichten das ich das ganze mittels foreach schleife laufen lasse. Ich denke wenn ich ne foreach schleife ein break oder Exit einbinde müsste die unterbrochen werden.

Das ganze dann in etwa so:

Code: Alles auswählen

foreach (wert as user)
{
	if (datenbankabfrage email vorhanden gleich true)
	{
		exit;
	}
	else
	{
		Wenn email nicht vorhanden dann:
		1. mit vorhandener email die mail senden
		2. die benutze email in die datenbank ablegen 
		3. exit	
	}
}
seite neuladen
Das wäre jetzt der brachiale weg um die timeout geschichte zu umgehen. Mal schauen.

Wie gesagt ist auch nur für meine zwecke wird auch wahrscheinlich nicht veröffentlicht werden als ext.
Verschoben von Support-Forum nach Coding & Technik am 16.09.2023 07:57 durch Dr.Death

Antworten

Zurück zu „Coding & Technik“