Mittels Perl von und nach Sendmail

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Frapl
Beiträge: 17
Registriert: 28.07.2004 13:16:38

Mittels Perl von und nach Sendmail

Beitrag von Frapl » 10.03.2005 15:34:46

Folgende Problemstellung habe ich, die ich irgendwie nicht gelöst bekomme.

Ein Perl-Script wird von Sendmail aus bei Eingang auf einer bestimmten E-Mail Adresse gestartet und bekommt die eigegangene Mail übergeben. Dann veranstaltet das Perl-Script ein paar Dinge mit der Mail. Soweit kein Problem und funktioniert auch.

Aber es kann sein, dass das Perl-Script bei seiner Tätigkeit auf einen besonderen Umstand stößt und soll dann genau diese E-Mail samt aller möglicherweise vorhandenen Anhängen etc. an eine oder mehrere Mailadressen weiterleiten.

Ich habe also die eingegangene E-Mail komplett mit Header und allem drum und dran in einer Variablen drin und möchte diese über Sendmail (oder sonst wie) an einen oder mehrere Empfänger weiterversenden aber nur dann, wenn das Perl-Script sich entsprechend dafür entscheidet und auch die passenden Empfänger aus einer Datenbank gelesen bekommt (DB-Zugriff ist kein Problem).

Wie stelle ich das an?

Bisher habe ich mit folgenden Befehlen versucht die Mail zu versenden:

Code: Alles auswählen

open(MAIL, "|/usr/lib/sendmail -t");
print MAIL "To: $sendmail_to\n";
print MAIL "From: $sendmail_from\n";
print MAIL "Subject: $sendmail_subj\n\n";
print MAIL "$mail\n";
close(MAIL);
Irgendwie bekommt so der Original-Absender die Mail mit dem Anhang zurückgeschickt und die neuen Empfänger nur eine leere Mail.
Grüße
Frapl

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 10.03.2005 17:07:20

Von den Web- und Mailservern weggeschoben.

by, Martin
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

julien
Beiträge: 1062
Registriert: 06.05.2002 19:53:05
Wohnort: Oberhessen

Beitrag von julien » 10.03.2005 17:20:25

Zum Mail versenden ist es das einfachste, das Modul Mail::Sendmail zu benutzen. Findet sich im Paket libmail-sendmail-perl

Frapl
Beiträge: 17
Registriert: 28.07.2004 13:16:38

Beitrag von Frapl » 14.03.2005 16:18:00

Kann ich mit dem Modul einfach sagen: Hallo Sendmail nimm mal diesen ganzen Text (Mail mit Header und Attachements) und schicke ihn an XXX?

Bleibt die Mail dann beim Empfänger lesbar und bleiben auch die Anhänge verwendbar?

Alles was ich bräuchte wäre sowas wie ein "Weiterleiten an..." Button für das Perl-Skript. ;)
Grüße
Frapl

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 14.03.2005 16:46:17

Lies dir doch mal die Doku zum Modul durch:

Code: Alles auswählen

man Mail::Sendmail
oder
perldoc Mail::Sendmail

Frapl
Beiträge: 17
Registriert: 28.07.2004 13:16:38

Beitrag von Frapl » 16.03.2005 12:28:29

Habe nun extra das Mail::Sendmail Modul installiert, nur leider der selbe Effekt wie schon oben beschrieben.

Wenn ich z.B. folgendes mache

Code: Alles auswählen

    %mail = ( To      => 'my@mail.de',
              From    => 'my@mail.de',
              Message => $mailtxt
             );

    sendmail(%mail) or die $Mail::Sendmail::error;
und in $mailtext steht die gesamte Mail inkl. Header etc.,wie sie vom Sendmail an das Perlskript übergeben wurde, bekommt der ursprüngliche Absender der Mail die Mail komplett und unverändert zurück und der an dem die Mail weitergleitet werden solle (hier my@mail.de) nur eine leere Mail.
Grüße
Frapl

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 16.03.2005 15:01:49

Hm und du bist dir sicher, dass der Fehler nicht eventuell an der Sendmail-Konfig liegt?
Was sagen denn die Logfiles dazu?
Eventuell findest du da, warum er die Mail so falsch zustellt.

Antworten