Alain: 10 mails auf einmal?

hallo ,
Ich wollte eigentlich erst suchen,aber der server scheint ausgelastet zu sein
von selfhtml.
Eine frage hab ich betreff mails versand per cgi:
Kann mir jemand sagen wesshalb ein cgi mailer 10 mails auf einmal schicken kann
anstatt nur eine mail?

ich spreche von diesem mailer:
sub SendMail {
    if (open (MAIL, "|$mailprog -t"))
    {
    print MAIL "To: $mailto\n";
    print MAIL "From: $mailto\n";
    print MAIL "Subject:  for user: $username\n";
    print MAIL " monitor script on $date_today for siteid $siteid reports:\n\n";
    print MAIL "Username $username detected to be used $count_last times from different IP addresses (last\n";
    print MAIL "IP was $ip_now). If you get 5 or more warnings for this user, go to your globill stats and\n";
    print MAIL "functions page and issue a new password and let the user know. If the warnings continue after\n";
    print MAIL "that, then expire this user and email globill so that they can block the user from joining again.\n";
    print MAIL "\n\nCopyright © Globill.com LLC\n";
    print MAIL " user detail $ENV{'HTTP_REFERER'} and $ENV{HTTP_USER_AGENT} \n";
    close (MAIL);

Läuft da eventuell was durch?
Gruss vom Alain

  1. hallo ,
    Ich wollte eigentlich erst suchen,aber der server scheint ausgelastet zu sein
    von selfhtml.

    kommt vor

    Eine frage hab ich betreff mails versand per cgi:

    wäre übrigens nicht schlecht gewesen, wenn du uns auch noch gesagt hättest, dass du PHP als Scriptsprache verwendest.

    Kann mir jemand sagen wesshalb ein cgi mailer 10 mails auf einmal schicken kann

    diese Frage ist irgendwie schlecht formuliert. ich versuche es trotzdem mal zu verstehen.

    anstatt nur eine mail?

    ich spreche von diesem mailer:
    sub SendMail {
        if (open (MAIL, "|$mailprog -t"))
        {
        print MAIL "To: $mailto\n";
        print MAIL "From: $mailto\n";
        print MAIL "Subject:  for user: $username\n";
        print MAIL " monitor script on $date_today for siteid $siteid reports:\n\n";
        print MAIL "Username $username detected to be used $count_last times from different IP addresses (last\n";
        print MAIL "IP was $ip_now). If you get 5 or more warnings for this user, go to your globill stats and\n";
        print MAIL "functions page and issue a new password and let the user know. If the warnings continue after\n";
        print MAIL "that, then expire this user and email globill so that they can block the user from joining again.\n";
        print MAIL "\n\nCopyright © Globill.com LLC\n";
        print MAIL " user detail $ENV{'HTTP_REFERER'} and $ENV{HTTP_USER_AGENT} \n";
        close (MAIL);

    Läuft da eventuell was durch?

    ich sehe in deinem Codeteil keine Abfrage, wie oft die Mail schon gesendet wurde oder ähnliches. Da du das ganze in eine Funktion gesteckt hast, kann es also sein (und es wäre auch schön, wenn du mal den Aufruf postest), dass die Funktion mehrmals aufgerufen wird und somit mehrmals eine Mail verschickt wird. Normalerweise werden jedoch "Massenmails" mit gleichem Absender und Betreff von den Mailservern abgewehrt (z.B. bei GMX)

    Ich hoffe ich habe deine Frage verstanden

    Gruss vom Alain

    Gruß,
    Benne

    1. hallo Benne,

      wäre übrigens nicht schlecht gewesen, wenn du uns auch noch gesagt hättest, dass du PHP als Scriptsprache verwendest.

      php ? wusste ich nicht :-)

      Kann mir jemand sagen wesshalb ein cgi mailer 10 mails auf einmal schicken kann
      diese Frage ist irgendwie schlecht formuliert. ich versuche es trotzdem mal zu verstehen.
      anstatt nur eine mail?

      ich spreche von diesem mailer:
      sub SendMail {
          if (open (MAIL, "|$mailprog -t"))
          {
          print MAIL "To: $mailto\n";
          print MAIL "From: $mailto\n";
          print MAIL "Subject:  for user: $username\n";
          print MAIL " monitor script on $date_today for siteid $siteid reports:\n\n";
          print MAIL "Username $username detected to be used $count_last times from different IP addresses (last\n";
          print MAIL "IP was $ip_now). If you get 5 or more warnings for this user, go to your globill stats and\n";
          print MAIL "functions page and issue a new password and let the user know. If the warnings continue after\n";
          print MAIL "that, then expire this user and email globill so that they can block the user from joining again.\n";
          print MAIL "\n\nCopyright © Globill.com LLC\n";
          print MAIL " user detail $ENV{'HTTP_REFERER'} and $ENV{HTTP_USER_AGENT} \n";
          close (MAIL);

      Läuft da eventuell was durch?
      ich sehe in deinem Codeteil keine Abfrage, wie oft die Mail schon gesendet wurde oder ähnliches. Da du das ganze in eine Funktion gesteckt hast, kann es also sein (und es wäre auch schön, wenn du mal den Aufruf postest), dass die Funktion mehrmals aufgerufen wird und somit mehrmals eine Mail verschickt wird. Normalerweise werden jedoch "Massenmails" mit gleichem Absender und Betreff von den Mailservern abgewehrt (z.B. bei GMX)

      wieso? muss den der code dafür wie oft die mail gesendet wird auch
      deklariert werden im cgi?

      Ich hoffe ich habe deine Frage verstanden

      hmmmmmm,
      vielleicht siehst Du jetzt was wesshalb dieser mailer soviel mails sendet,
      ich möchte ja nur eine empfangen wenn er was sendet.
      if (($ENV{'HTTP_USER_AGENT'} eq "AOL")

      && ($count_last > $abusecount && length($username) > 2))

      {
              &SendMail;
              }

      if ($ip_last ne $ip_now && $ENV{'HTTP_USER_AGENT'} ne "AOL")

      {

      $count_last++;

      }

      #if abuse suspected
              if ($count_last > $abusecount && length($username) > 2)

      {
              &SendMail;
              }
              else
              {
              &redir;
              }

      sub SendMail {
          if (open (MAIL, "|$mailprog -t"))
          {
          ..............etc.
          close (MAIL);
          &badpass;

      } }

      sub badpass {
          print "<HTML>\n";.................etc.
      muss denn noch was geschlossen werden vielleicht mit exit?
      Gruss vom Alain

      Gruß,
      Benne

      1. hallo Benne,

        Hallo Alain

        hmmmmmm,
        vielleicht siehst Du jetzt was wesshalb dieser mailer soviel mails sendet,
        ich möchte ja nur eine empfangen wenn er was sendet.
        if (($ENV{'HTTP_USER_AGENT'} eq "AOL")

        was soll das? Das ja wohl garnicht funktionieren. Selbst den armen AOL-Usern ist es freigestellt, welchen Browser sie benutzen. Wenn dann müsstest du eine Abfrage über die IP (*.aol.com) machen.

        && ($count_last > $abusecount && length($username) > 2))

        muss das nicht $count_last <= $abusecount heißen ?

        {
                &SendMail;
                }

        if ($ip_last ne $ip_now && $ENV{'HTTP_USER_AGENT'} ne "AOL")

        {

        $count_last++;

        }

        #if abuse suspected

        der Code kommt wohl nicht von dir ;)

        if ($count_last > $abusecount && length($username) > 2)

        {
                &SendMail;
                }
                else
                {
                &redir;

        was ist das hier. Eventl. könnte die hier durch einen Fehler in der Bedingung rekursiv aufgerufen werden!?

        }

        sub SendMail {
            if (open (MAIL, "|$mailprog -t"))
            {
            ..............etc.
            close (MAIL);
            &badpass;

        } }

        sub badpass {
            print "<HTML>\n";.................etc.
        muss denn noch was geschlossen werden vielleicht mit exit?

        nö eigentlich nicht

        Gruss vom Alain

        Gruß,
        Benne

        1. hallo Benne,

          Hallo Alain

          if (($ENV{'HTTP_USER_AGENT'} eq "AOL")
          was soll das? Das ja wohl garnicht funktionieren. Selbst den armen AOL-Usern ist es freigestellt, welchen Browser sie benutzen. Wenn dann müsstest du eine Abfrage über die IP (*.aol.com) machen.

          nö ich möchte eigentlich das das script aol user ignoriert und somit
          keine überprüfung macht vom #abuse suspected
          ausser den counter stand überprüft:

          && ($count_last > $abusecount && length($username) > 2))
          muss das nicht $count_last <= $abusecount heißen ?

          nö weil der last count eingelesen wird in einer liste
          vom letzten mal ,wenn der überschritten wurde dann folgt die aktion
          sendmail oder redir (weiterleiten auf die welcome seite z.B.)

          {
                  &SendMail;
                  }

          if ($ip_last ne $ip_now && $ENV{'HTTP_USER_AGENT'} ne "AOL")

          {

          $count_last++;

          }

          #if abuse suspected
          der Code kommt wohl nicht von dir ;)

          nicht wircklich :)

          if ($count_last > $abusecount && length($username) > 2)

          {
                  &SendMail;
                  }
                  else
                  {
                  &redir;
          was ist das hier. Eventl. könnte die hier durch einen Fehler in der Bedingung rekursiv aufgerufen werden!?

          eben die weiterleitung der seite auf die welcome seite im script selbst
          angezeigt.

          }

          sub SendMail {
              if (open (MAIL, "|$mailprog -t"))
              {
              ..............etc.
              close (MAIL);
              &badpass;

          } }

          sub badpass {
              print "<HTML>\n";.................etc.
          muss denn noch was geschlossen werden vielleicht mit exit?
          nö eigentlich nicht

          also nichts damit?
          Gruss vom Alain

          Gruß,
          Benne