Ergebnis 1 bis 10 von 10

Thema: Mailversand anpassen - Vorschläge oder Hilfe

  1. #1
    Erfahrener Benutzer
    Registriert seit
    12.11.2008
    Beiträge
    1.495

    Mailversand anpassen - Vorschläge oder Hilfe

    Moin,
    von heut auf morgen wurde mein Webspace (vorrübergehend) gesperrt. Es ging
    darum, dass an einem Tag wohl knapp 1700 Mails auf einmal rausgegangen sind.
    Der Mailversand lief so schon Jahre. GMail meinte aber wohl, den Mailserver auf die Blacklist setzen zu müssen.
    (Hat wohl die Richtlinien dafür geändert, weiß ich aber nicht.)
    Nach einem Dialog mit meinem Hoster, hab ich den Mailversand erstmal pausiert, bis ich eine Lösung
    habe, wie ich das "alles auf einmal verschicken" verhindern kann.

    Vom Hoster selbst kam die Idee, die ganze Geschichte mit einer sleep() funktion zu versehen.
    Zitat:
    Diese wird sich so oder so bereits in einer Schleife befinden, hier bauen Sie dann einfach einen sleep 0.5; ein, wodurch die Schleife bei jeder E-Mail genau eine halbe Sekunde stoppt.
    Zitat Ende

    Jetzt wäre einer meiner Fragen - ohne da jetzt wild probieren zu wollen - wie die Funktion in die Schleife eingebunden werden kann?
    Aktuell würde der Query ja so aussehen:
    PHP-Code:
    mail($uinfo['emailadresse'], 'Neue '.$seitenname.' Paidmail'$message'FROM: '.$seitenname.' <'.$betreibermail.'>') or die('5:'.'Versandfehler'); 
    Kann mir da jemand helfen?

    Andere Sache: Funktion mail() is ja auch schon asbach. Würde es Alternativen geben, und wenn ja, welche?

  2. #2
    Erfahrener Benutzer
    Registriert seit
    22.06.2009
    Beiträge
    381

    AW: Mailversand anpassen - Vorschläge oder Hilfe

    du kannst eine smtp oder pop3 verbindung nehmen.

  3. #3
    Erfahrener Benutzer
    Registriert seit
    12.11.2008
    Beiträge
    1.495

    AW: Mailversand anpassen - Vorschläge oder Hilfe

    Zitat Zitat von isaack Beitrag anzeigen
    du kannst eine smtp oder pop3 verbindung nehmen.
    Ok. Leider hab ich kein Plan von beiden Dingen^^ Danke für Dein Beitrag =)

  4. #4
    Erfahrener Benutzer Avatar von DJschatz27
    Registriert seit
    19.12.2009
    Beiträge
    608

    AW: Mailversand anpassen - Vorschläge oder Hilfe

    huhu

    mal einmisch

    wäre es nicht eine überlegung wert

    die mails per cron aufzurufen

    und dann so

    das du sagst

    jetzt gehen xxx mails raus

    und paar minuten später die nächsten mails

    dazu findet sich bestimmt einer der dazu einen cron oder etwas anderes dir bastelt

  5. #5
    Erfahrener Benutzer
    Registriert seit
    12.11.2008
    Beiträge
    1.495

    AW: Mailversand anpassen - Vorschläge oder Hilfe

    Zitat Zitat von DJschatz27 Beitrag anzeigen
    huhu

    mal einmisch

    wäre es nicht eine überlegung wert

    die mails per cron aufzurufen

    und dann so

    das du sagst

    jetzt gehen xxx mails raus

    und paar minuten später die nächsten mails

    dazu findet sich bestimmt einer der dazu einen cron oder etwas anderes dir bastelt
    Wenn ich Dich nicht kennen würde, könnte man meinen, dass du mich auf den Arm nehmen möchtest xD
    Die Frage für Hilfe ist ja im Post enthalten

    Tatsächlich hab ich hier noch ne Datei/Cron hier liegen, der festlegt, dass nur XX Mails pro Stunde rausgehen könnten.
    ABER, das würde mein grundlegendes Problem nicht lösen, da die Funktion mail(); in soweit abgeändert muss,
    dass die Mails Zeitversetzt und nicht alle auf einmal rausgehen.

  6. #6

    AW: Mailversand anpassen - Vorschläge oder Hilfe

    Zitat Zitat von Sam2004 Beitrag anzeigen
    Vom Hoster selbst kam die Idee, die ganze Geschichte mit einer sleep() funktion zu versehen.
    Zitat:
    Diese wird sich so oder so bereits in einer Schleife befinden, hier bauen Sie dann einfach einen sleep 0.5; ein, wodurch die Schleife bei jeder E-Mail genau eine halbe Sekunde stoppt.
    Zitat Ende

    Jetzt wäre einer meiner Fragen - ohne da jetzt wild probieren zu wollen - wie die Funktion in die Schleife eingebunden werden kann?
    Aktuell würde der Query ja so aussehen:
    PHP-Code:
    mail($uinfo['emailadresse'], 'Neue '.$seitenname.' Paidmail'$message'FROM: '.$seitenname.' <'.$betreibermail.'>') or die('5:'.'Versandfehler'); 
    Kann mir da jemand helfen?

    Andere Sache: Funktion mail() is ja auch schon asbach. Würde es Alternativen geben, und wenn ja, welche?
    Das was du zeigst ist kein Query sondern wie du sagst einfach die Funktion Mail.
    Die Funktion selbst verschickt genau 1 Mail. Wenn sie mehr Mails verschickt ist die Funktion selbst in einer Schleife eingebaut und wird mehrfach ausgeführt.
    Wenn du ein Sleep einbauen willst, baust du vor dem Ende der Schleife dann einfach nur ein
    PHP-Code:
    sleep(X); 
    ein. Wobei X ein Wert in Sekunden ist.
    Was mich wundert ist das das Script so lange läuft um so viele Mails zu verschicken. Normalerweise werden Scripte auf den meisten Servern nach ein paar Sekunden (30-120 ist üblich) abgebrochen. Es sei denn dein Script verschickt tatsächlich in kurzer Zeit so viele Mails. Dann 1. Respekt das du so nen guten Mailserver hast der das verarbeiten kann und 2. würde ich dann einfach die Menge an Mails reduzieren um einfach nicht so viele Schleifendurchläufe zu haben.

    Zur anderen Sache: Wieso sollte die Funktion mail() asbach sein?
    Meine Seite: www.klicklos.de

  7. #7
    Erfahrener Benutzer
    Registriert seit
    12.11.2008
    Beiträge
    1.495

    AW: Mailversand anpassen - Vorschläge oder Hilfe

    Zu 1:
    Das was du zeigst ist kein Query sondern wie du sagst einfach die Funktion Mail.
    Die Funktion selbst verschickt genau 1 Mail. Wenn sie mehr Mails verschickt ist die Funktion selbst in einer Schleife eingebaut und wird mehrfach ausgeführt.
    Wenn du ein Sleep einbauen willst, baust du vor dem Ende der Schleife dann einfach nur ein
    Ja, ist richtig. Ist nicht der Query sondern die Mail Funktion. Ich hab mich da ein wenig an die Worte bezüglich der Mail Funktion gehalten,
    daher bin ich davon ausgegangen, dass die sleep Funktion ebenfalls in den String muss, weil darüber ja die Mails verschickt werden?!

    Die andere Frage wäre dann, in welcher Query es sonst rein müsste? Wie geschrieben, wollte ich da nicht wild probieren, um nicht
    wieder gefahr zu laufen, dass der Hoster mir die Seite dicht macht.

    Was mich wundert ist das das Script so lange läuft um so viele Mails zu verschicken. Normalerweise werden Scripte auf den meisten Servern nach ein paar Sekunden (30-120 ist üblich) abgebrochen. Es sei denn dein Script verschickt tatsächlich in kurzer Zeit so viele Mails. Dann 1. Respekt das du so nen guten Mailserver hast der das verarbeiten kann und 2. würde ich dann einfach die Menge an Mails reduzieren um einfach nicht so viele Schleifendurchläufe zu haben.
    Weil der Cron solang duch ignore_about_true der Cron solang läuft bis er fertig ist. Der Mailserver muss wohl so gut sein, sonst hätte
    mir der Hoster nicht den Webspace dicht gemacht. Bis dato war es auch nie ein Problem, bis halt GMail gemeckert hat.
    Wenn ich die sleep Funktion integriert bekomme, sollte die Mailzahl dennoch kein Problem darstellen.

    Zu 2:
    Zur anderen Sache: Wieso sollte die Funktion mail() asbach sein?
    Hätte ja sein können. Vielleicht gibts ja schon was anderes als Alternative.

  8. #8

    AW: Mailversand anpassen - Vorschläge oder Hilfe

    Zitat Zitat von Sam2004 Beitrag anzeigen
    Zu 1:
    Die andere Frage wäre dann, in welcher Query es sonst rein müsste? Wie geschrieben, wollte ich da nicht wild probieren, um nicht
    wieder gefahr zu laufen, dass der Hoster mir die Seite dicht macht.

    [...]
    Zu 2:

    Hätte ja sein können. Vielleicht gibts ja schon was anderes als Alternative.
    Also eigentlich müsste das Ding wie gesagt in einer Schleife laufen. Wo genau das hin soll kann man schlecht sagen, da man nicht weiß wie der restliche Code aussieht und was da noch kommt, daher kann ich dir nur "Probierlösungen" nennen. Generell würde ich es hinter der Mail Funktion einbauen, vor dem Schleifenende. Also:

    PHP-Code:
    mail($uinfo['emailadresse'], 'Neue '.$seitenname.' Paidmail'$message'FROM: '.$seitenname.' <'.$betreibermail.'>') or die('5:'.'Versandfehler'); 
    sleep(0.5); 
    Zu 2.: Der PHP Befehl mail() ist immernoch Up-to-Date und kann verwendet werden(PHP 7).
    Meine Seite: www.klicklos.de

  9. #9
    Erfahrener Benutzer
    Registriert seit
    12.11.2008
    Beiträge
    1.495

    AW: Mailversand anpassen - Vorschläge oder Hilfe

    Also eigentlich müsste das Ding wie gesagt in einer Schleife laufen. Wo genau das hin soll kann man schlecht sagen, da man nicht weiß wie der restliche Code aussieht und was da noch kommt, daher kann ich dir nur "Probierlösungen" nennen. Generell würde ich es hinter der Mail Funktion einbauen, vor dem Schleifenende. Also:
    Moin,
    ich hab das beim ersten Post nicht registriert gehabt und beim nachlesen ist dann auch das "am Ende der Schleife" hängen geblieben.
    Genau so hab ich das jetzt auch eingebaut gehabt. Am Ende der Schleife.

    Zu 2: Ok. Danke für den Hinweis und danke überhaupt für deine Zeit

  10. #10
    Erfahrener Benutzer
    Registriert seit
    12.11.2008
    Beiträge
    1.495

    AW: Mailversand anpassen - Vorschläge oder Hilfe

    Knapp 1 Jahr später, muss ich das Thema nochmal aufgreifen.

    Nach Umzug auf einen neuen Server (und von Mail Provider immer weiter verschärfteren Richtlinien wegen Spam) würde ich das Ganze gern
    auf STMP umstellen. Leider hab ich mit der Materie wenig bis gar kein Plan.

    Die sleep Funktion hatte zwar bis dahin ihren Job gut erledigt, hilft allerdings nicht mehr da mir die max_execution_time in die Quere kommt.

    Alternativ wäre vielleicht noch eine Art Mailpuffer eine option, wenn ich dem Cron dann auch erklären konnte, dass ID´s 1 bis 100 abgeartet wurden
    und beim nächsten Lauf ID´s 101 bis 199 usw. laufen soll. Für Ideen/Tipps oder auch bei Hilfe oder Erstellung gegen Zahlung wäre ich dankbar.

    LG
    Sam

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •