Amavisd bei lokalem eMailversand umgehen

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
grafzahl
Posts: 19
Joined: 2002-09-11 19:39

Amavisd bei lokalem eMailversand umgehen

Post by grafzahl » 2004-05-28 12:20

Hallo zusammen.

Ich möchte bei einem lokalem eMailVersand die Virus- und Spamfilter umgehen. Mit lokalem Versand meine ich z.B. ein Perlscript.

Zum Vorhaben:
Ich möchte nachts einen wöchentlichen Newsletter versenden (ca. 10.000 Empfänger). Die Empfänger werden mittels Perlscript aus der MySQL Datenbank ausgelesen und dann per Sendmail versandt. Die Aktivierung des Scripts wird per Cron vorgenommen, damit kein Abbruch durch Prozesszeitfehler ensteht.
Leider schafft Postfix mit Amavisd nur ca. 80 Sendungen pro Minute. Ohne Amavisd komme ich auf ca. 150 Sendungen pro Minute.

Gibt es eine Möglichkeit über das Perlscript direkt an Port 10024 zu senden ? Ist diese Methode überhaupt realisierbar oder gibt es bessere (schnellere) Möglichkeiten zum Massenmailversand ?

Ich bitte um Eure Unterstützung.

barto
Posts: 88
Joined: 2003-01-09 19:13

Re: Amavisd bei lokalem eMailversand umgehen

Post by barto » 2004-05-28 13:02

du meinst post 10025? auf 10024 läuft normalerweise amavis.
wenn du in perl z.b. Net::SMTP benutzt, kannst du einfach auf port 10025 connecten. wenn du über sendmail verschickst, geht das meiner meinung nach nicht, außer du änderst deine postfix config so, daß er mails die von lokal kommen nicht durch den content_filter schickt... das ist aber dann wohl eher global für alle lokalen mails, also evtl. auch nicht umbedingt, das was du willst...

grafzahl
Posts: 19
Joined: 2002-09-11 19:39

Re: Amavisd bei lokalem eMailversand umgehen

Post by grafzahl » 2004-05-28 14:09

Sorry, meine auch Port 10025 :oops:

Wie soll ich das denn mit Net::SMTP im Perlscript realisieren ?
In dieser Beispielform ?

Code: Select all

my $mailtitel = "BlaBla";
my $mailinhalt = "Noch viel mehr BlaBla";

foreach $empfaenger (@liste) {
  mailsenden($empfaenger,$mailtitel,$mailinhalt);
}

sub mailsenden {
   $smtp = Net::SMTP->new('mail.meinedomain.de:10025');
   $smtp->mail('info@meinedomain.de');
   $smtp->to($_[0]);
   $smtp->data();
   $smtp->datasend("Subject: $_[1]n"); 
   $smtp->datasend("To: $_[0]nn");
   $smtp->datasend("$_[2]");
   $smtp->dataend();
   $smtp->quit;
}
oder habe ich da was falsch verstanden. Wäre ja ziemlich easy :-)

Gruß Axel

barto
Posts: 88
Joined: 2003-01-09 19:13

Re: Amavisd bei lokalem eMailversand umgehen

Post by barto » 2004-05-28 22:31

Code: Select all

   $smtp = Net::SMTP->new('127.0.0.1:10025'); 
dann sollte es eigentlich gehen 8)

grafzahl
Posts: 19
Joined: 2002-09-11 19:39

Re: Amavisd bei lokalem eMailversand umgehen

Post by grafzahl » 2004-06-03 18:44

Es klappt tatächlich... WAHNSINN !

Vorher 80 Mails pro Minute mit Amavisd und 150 Mails ohne Amavisd über Sendmail.
Jetzt rund 400 Mails pro Minute mit Net::SMTP.

Danke barto.