Zur Website

Start Buchtipp Noch mehr Lösungen und Tricks Kontakt Copyright Impressum







Perl Modul:

Universales Mailprogramm


HTML- / Text-Mails
Bilder im Text
Dateianhänge
Rückgabewerte
Statusangaben

Nr.30

©2004



Erläuterung:

Dieses Paket beinhaltet drei Programme:

MAILER_VAR_HTML - HTML/Text-Mails mit oder ohne Bilder und mit oder ohne Dateianhänge versenden. Linux / Windows. Modul MIME::Lite erfoderlich!
Bisher nur unter Windows/ActivePerl getestet!

(EMAIL_TEST - Plausibilitätsprüfung für Emailadressen und GET_DATEI_STRING - Liest angegebene Datei als String ein (Schlürfmodus) werden in MAILER_VAR_HTML verwendet.)

In der beiliegenden Datei PL0013.pm ist die Programmierung als eigenes Perl-Modul ausgeführt, lauffähig sowohl unter Linux/Perl als auch Windows/Active Perl.

Da der Programmtext an dieser Stelle zu unübersichtlich wird, bitte einen Blick in die Datei PL0013.pm werfen!

Danke!

Aufruf:

1. Subroutine

Sie sollten diese Routine unbedingt als Modul ablegen und nicht direkt im Script speichern.

Wenn Sie keinen Zugriff auf das Root-Verzeichnis haben, können Sie so vorgehen:

Speichern Sie das Modul z.B. unter /home/user/EIGEN/Mail/PL0012.pm.

Geben Sie in Ihrem Script den zusätzlichen Suchpfad an:

use lib '/home/user/EIGEN'; # zusätzlicher Suchpfad

PS. Zur Not können sie die Routinen natürlich schon im Script ablegen! Aufruf wie unten, nur mit &MAILER_VAR_HTML.

2. Modul

A: Speichern Sie das Modul in Ihrem Perlverzeichnis unter

/usr/bin/perl/lib/EIGEN/Mail/PL0013.pm (Linux)

c:\Perl\lib\EIGEN\Mail\PL0013.pm (Windows)

B: Fügen Sie in den Kopf Ihres Perl-Programmes folgende Zeile ein:

use EIGEN::Mail::PL0013 qw(MAILER_VAR_HTML);

C: So rufen Sie die Subroutine auf:

%hash = (from=>$from,reply=>$rep,to=>\@to,cc=>\@cc,bcc=>\@bcc,
subject=>$sub,body=>$message,attach=>$att,imp=>$imp);

$err = MAILER_VAR_HTML(\%hash); # ohne "&" korrekt!

from - Absender-Email z.B. 'from@efg.de'
reply - Antwort-Email z.B. 'rep@abc.de''
to - Empfänger-Email (Array-Referenz)
cc - Kopie an... (Array-Referenz)
z.B.
cc - $cc[0] = 'cc01@domain01.de';
cc - ...
cc - $cc[N] = 'cc01@domainN+1.de';
cc - $hash{cc}= \@cc;

bcc - Kopie an...;unsichtbar) (Array-Referenz)
subject - Betreffzeile z.B. 'Betreff der Mail hier'
body - Nachrichtentext (HTML, auch mit Bildern oder plain Text)
z.B.
body - 1. 'Hallo\nhier kommt meine Nachricht\n\nGruß HM'
body - 2. '<html><head><style media="screen" type="text/css"><!--...--></style></head><body>Hier kommt der Text in HTML</body></html>'
body - 3. 'c:\Inetpub\wwwroot\Baurat\Verzeichnis\Datei.html bzw. .txt'

attach - Emailanhänge (Array-Referenz)
z.B.
attach - $attach[0] = 'c:\Pfa1\Verzeichnis1\Datei1.Endung1';
attach - $attach[1] = 'c:\Pfa2\Verzeichnis2\Datei2.Endung2';
attach - ...
attach - $attach[N] = 'c:\PfaN+1\VerzeichnisN+1\DateiN+1.EndungN+1';
attach - $hash{attach} = \@attach;

imp - 'low', 'normal' oder 'high'

Anmerkung: für Linux reichen auch die relativen Pfadangaben!

3. Hinweise

Rückgabewerte der Routine MAILER_VAR_HTML sind 'OK - Mailaussendung abgeschlossen' oder 'Fehler...'.

Windows: In Programmzeile 84 bitte Ihren SMTP-Server eintragen:

my $smtp_server = "Ihr.mailserver.net";