Florian Schödel: Sendmail braucht ewig...

Hallo,

ich weiß nicht, wie es euch geht, aber das Sendmail, welches von meinem Webhoster zur Verfügung gestellt wird braucht ewig.
Es dauert ca. 1 minute (bei mir) bis die Ergebnisseite auf dem Bildschirm ist. Woran kann das liegen? Welcher Parameter ist beim Aufruf außer -t erforderlich?
Was gäbe es ansonsten noch für Alternativen?
Der Script unter der Adresse http://www.desktop-hintergrund.de/cgi-bin/d_test.cgi?action=weiter ist doch irgendwie sinnlos, wenn es bei 5 emails dann ca. 3 Minuten dauert... ?
Ich wäre euch sehr dankbar, wenn Ihr mir andere Möglichkeiten nennen könntet

Gruß

Florian

  1. Hi,

    ich weiß nicht, wie es euch geht, aber das Sendmail, welches von meinem Webhoster zur Verfügung gestellt wird braucht ewig.

    und wie lange dauert es, wenn Du Net::SMTP verwendest? Das solltest Du ohnehin tun.

    Cheatah

    1. Hi,

      ich weiß nicht, wie es euch geht, aber das Sendmail, welches von meinem Webhoster zur Verfügung gestellt wird braucht ewig.

      und wie lange dauert es, wenn Du Net::SMTP verwendest? Das solltest Du ohnehin tun.

      und wie geht das dann?

      Cheatah

      1. und wie lange dauert es, wenn Du Net::SMTP verwendest? Das solltest Du ohnehin tun.

        und wie geht das dann?

        perldoc Net::SMTP

        Reiner

    2. Hi Cheatah,

      und wie lange dauert es, wenn Du Net::SMTP verwendest? Das solltest Du ohnehin tun.

      Viele (u.a. mein Webspace-Provider) erlauben kein Net::SMTP. sendmail ist ohnehin die bessere Alternative und "best practice" für Mailversand mit Perl. <sorry-wenn-ich-mich-wiederhole>.. am besten gekapselt in MIME::Lite (das auch Net::SMTP kann)</sorry-wenn-ich-mich-wiederhole>

      K@rl

      1. Hi,

        Viele (u.a. mein Webspace-Provider) erlauben kein Net::SMTP.

        dann sollte man sich überlegen, ob der Provider wirklich eine gute Wahl ist.

        sendmail ist ohnehin die bessere Alternative

        Nein, ist sie nicht. Warum sollte sie? Was ist z.B. mit Portierbarkeit, Wartbarkeit?

        und "best practice" für Mailversand mit Perl.

        Wiederholungen machen einen Fehler nicht besser.

        Cheatah

        1. Hi,

          Viele (u.a. mein Webspace-Provider) erlauben kein Net::SMTP.

          dann sollte man sich überlegen, ob der Provider wirklich eine gute Wahl ist.

          ich weiß, dass der provider nicht gerade supper ist. aber billig.

          sendmail ist ohnehin die bessere Alternative

          Nein, ist sie nicht. Warum sollte sie? Was ist z.B. mit Portierbarkeit, Wartbarkeit?

          und "best practice" für Mailversand mit Perl.

          ähm, also ich habe mal nachgeschaut: mit Net am Anfang ist da schon was installiert:

          Net::Cmd
          Net::Config
          Net::Daemon
          Net::Daemon::Log
          Net::Daemon::Test
          Net::Domain
          Net::DummyInetd
          Net::FTP
          Net::FTP::A
          Net::FTP::dataconn
          Net::FTP::E
          Net::FTP::I
          Net::FTP::L
          Net::hostent
          Net::netent
          Net::Netrc
          Net::NNTP
          Net::PH
          Net::Ping
          Net::POP3
          Net::protoent
          Net::servent
          Net::SMTP
          Net::SNPP
          Net::Time

          kann man da dann auch nen anhang ran hängen? (an die emails)

          Wiederholungen machen einen Fehler nicht besser.

          Cheatah

  2. Hallo,

    ich weiß nicht, wie es euch geht, aber das Sendmail, welches von meinem Webhoster zur Verfügung gestellt wird braucht ewig.
    Es dauert ca. 1 minute (bei mir) bis die Ergebnisseite auf dem Bildschirm ist. Woran kann das liegen? Welcher Parameter ist beim Aufruf außer -t erforderlich?
    Was gäbe es ansonsten noch für Alternativen?
    Der Script unter der Adresse http://www.desktop-hintergrund.de/cgi-bin/d_test.cgi?action=weiter ist doch irgendwie sinnlos, wenn es bei 5 emails dann ca. 3 Minuten dauert... ?
    Ich wäre euch sehr dankbar, wenn Ihr mir andere Möglichkeiten nennen könntet

    was hast Du selbst für eine Anbindung?
    Bei mir hat es zwar auch "etwas" gebraucht, aber das waren vielleicht 5 Sekunden!

    Ansonsten zeig mal etwas Quelltext.

    Reiner

    1. Hallo,

      ich weiß nicht, wie es euch geht, aber das Sendmail, welches von meinem Webhoster zur Verfügung gestellt wird braucht ewig.
      Es dauert ca. 1 minute (bei mir) bis die Ergebnisseite auf dem Bildschirm ist. Woran kann das liegen? Welcher Parameter ist beim Aufruf außer -t erforderlich?
      Was gäbe es ansonsten noch für Alternativen?
      Der Script unter der Adresse http://www.desktop-hintergrund.de/cgi-bin/d_test.cgi?action=weiter ist doch irgendwie sinnlos, wenn es bei 5 emails dann ca. 3 Minuten dauert... ?
      Ich wäre euch sehr dankbar, wenn Ihr mir andere Möglichkeiten nennen könntet

      was hast Du selbst für eine Anbindung?

      ich weiß nicht, was mein webhoster für eine Anbindung hat. jedenfalls nicht zu schnell :-)

      Bei mir hat es zwar auch "etwas" gebraucht, aber das waren vielleicht 5 Sekunden!

      Ansonsten zeig mal etwas Quelltext.

      von dem Teil, der die Email absendet?

      open (MAIL, "|$mailprog -t");
      print MAIL "To: $an[2] ($an[1])\n";
      print MAIL "From: $from_mail ($from_name)\n";
      print MAIL "Subject: Ihre Anmeldung bei $title\n";
      print MAIL "Content-Type: text/html\n\n";

      open(MAIL_DAT,"<$templates/mail_3.html");

      foreach $line(<MAIL_DAT>)
      {

      $line =~ s/<%user_id%>/$an[0]/gim;
      $line =~ s/<%user_name%>/$an[1]/gim;
      $line =~ s/<%user_email%>/$an[2]/gim;
      $line =~ s/<%title%>/$title/gim;
      $line =~ s/<%script_url%>/$script_url/gim;

      print MAIL "$line\n";
      }
      close(MAIL_DAT);

      die mail wird abgesendet

      Reiner

      1. was hast Du selbst für eine Anbindung?

        ich weiß nicht, was mein webhoster für eine Anbindung hat. jedenfalls nicht zu schnell :-)

        hmm

        Bei mir hat es zwar auch "etwas" gebraucht, aber das waren vielleicht 5 Sekunden!

        Ansonsten zeig mal etwas Quelltext.

        von dem Teil, der die Email absendet?

        open (MAIL, "|$mailprog -t");
        print MAIL "To: $an[2] ($an[1])\n";
        print MAIL "From: $from_mail ($from_name)\n";
        print MAIL "Subject: Ihre Anmeldung bei $title\n";
        print MAIL "Content-Type: text/html\n\n";

        open(MAIL_DAT,"<$templates/mail_3.html");

        foreach $line(<MAIL_DAT>)
        {

        $line =~ s/<%user_id%>/$an[0]/gim;
        $line =~ s/<%user_name%>/$an[1]/gim;
        $line =~ s/<%user_email%>/$an[2]/gim;
        $line =~ s/<%title%>/$title/gim;
        $line =~ s/<%script_url%>/$script_url/gim;

        print MAIL "$line\n";
        }
        close(MAIL_DAT);

        die mail wird abgesendet

        ja, das sind ja so Standards, wie man sendmail ansprechen kann, daran liegt es wohl auch nicht.
        Weiß aber leider auch nicht weiter.

        Reiner

        1. was hast Du selbst für eine Anbindung?

          ich weiß nicht, was mein webhoster für eine Anbindung hat. jedenfalls nicht zu schnell :-)

          hmm

          Bei mir hat es zwar auch "etwas" gebraucht, aber das waren vielleicht 5 Sekunden!

          Ansonsten zeig mal etwas Quelltext.

          von dem Teil, der die Email absendet?

          open (MAIL, "|$mailprog -t");
          print MAIL "To: $an[2] ($an[1])\n";
          print MAIL "From: $from_mail ($from_name)\n";
          print MAIL "Subject: Ihre Anmeldung bei $title\n";
          print MAIL "Content-Type: text/html\n\n";

          open(MAIL_DAT,"<$templates/mail_3.html");

          foreach $line(<MAIL_DAT>)
          {

          $line =~ s/<%user_id%>/$an[0]/gim;
          $line =~ s/<%user_name%>/$an[1]/gim;
          $line =~ s/<%user_email%>/$an[2]/gim;
          $line =~ s/<%title%>/$title/gim;
          $line =~ s/<%script_url%>/$script_url/gim;

          print MAIL "$line\n";
          }
          close(MAIL_DAT);

          die mail wird abgesendet

          ja, das sind ja so Standards, wie man sendmail ansprechen kann, daran liegt es wohl auch nicht.
          Weiß aber leider auch nicht weiter.

          Reiner

          Ich habe mal irgendwas gehört, dass es möglich ist, außgehende Emails erst einmal zwischenzuspeichern und irgendwann später alle gleichzeitig zu versenden. Muss man dann -q hinter -t setzen? oder war das was anderes?

  3. Hallo,

    ich weiß nicht, wie es euch geht, aber das Sendmail, welches von meinem Webhoster zur Verfügung gestellt wird braucht ewig.

    Wenn ich so etwas höre, dann ist einer meiner ersten Gedanken immer der an DNS-Probleme. Viele Server-Systeme prüfen inzwischen die beteiligten IP-Adresse auf deren DNS-Namen. Wenn kein zugehöriger Name aufgelöst werden kann, dann kann das durchaus etwas länger dauern, bis das der DNS-Server dem Programm mitteilt. Warum das so ist, kann vielerlei Ursachen haben, ich würde es aber auf jeden Fall mit dem Dienstanbieter abklären.

    Ich wäre euch sehr dankbar, wenn Ihr mir andere Möglichkeiten nennen könntet.

    Net::SMTP wurde ja schon erwähnt. Das wäre zwar IMHO die bessere Wahl, aber wenn der Mailserver Mucken macht, hilft Dir das auch nicht wirklich weiter.

    Grüße
      Klaus