Mime::Lite ist wohl die bequemste Möglichkeit, um aus Perl-Scripts heraus einigermaßen ordentlich MIME-codierte Mails mit Anhang zu versenden.
#!/usr/bin/perl -w use strict; use diagnostics; use MIME::Lite; use File::Basename; my $absender = 'Alice <alice@thisdomain.invalid>'; my $empfaenger = 'Bob <bob@otherdomain.invalid>'; my $datei = "/home/alice/info.pdf"; my $smtphost = "127.0.0.1 25"; my $betreff = "Demo Dateianhang"; my $anschreiben = <<EOF; Sehr geehrte Damen und Herren, anbei die gewünschten Informationen. EOF MIME::Lite->send('smtp', $smtphost, Timeout=>5); my $msg = MIME::Lite->new( From => $absender, To => $empfaenger, Subject => $betreff, Type => 'multipart/mixed' ); $msg->attach( Type => 'TEXT', Data => $anschreiben ); $msg->attach( Type => 'AUTO', Path => $datei, Filename => basename($datei), Disposition => 'attachment' ); $msg->send();
Um eine Mail direkt über den lokalen MTA z.B. per sendmail oder qmail-inject einzuqueuen, würde man MIME::Lite wie folgt konfigurieren:
MIME::Lite->send('sendmail', "/usr/lib/sendmail -t -oi "); (Postfix)
MIME::Lite->send('sendmail', "/var/qmail/bin/qmail-inject -f $absender $emfpaenger"); (Qmail)
Fehler beim Versand kann man am Rückgabewert der send()-Methode erkennen.
Leave a Reply