![]() |
![]() |
3 Einträge, 1 Seite |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
use strict;
use Net::SMTP;
my $SMTP_Host = 'xxx';
my $account = 'xxx';
# Prüfroutine ob der Mailserver überhaupt ansprechbar ist, erster Test
#my $smtp = Net::SMTP->new( $SMTP_Host,
# Hello => $account,
# Debug => 1,
# Timeout => 360
# );
#
my $sender = 'xxx.xxx.xxx.de';
my @Empfaenger = qw(xxx@xxx.de);
# Code \015\012 (Zeilenumbruch), sonst steht alles in einer Zeile
my @message = (
"Subject: Ergebnis CHECK\015\012",
"\r\n", # Leerzeile zwischen Header und Body
"Hallo,\015\012\015\012",
"das ist ein Test!\015\012",
"Waren die Zeilen lesbar??\015\012",
"\015\012",
"Gruss Joerg\015\012"
);
my $smtp = Net::SMTP->new( $SMTP_Host, Hello => $account, Debug => 1 );
my $OK;
# Absender
$OK = $smtp->mail($sender);
$OK ? print "Absender okay\n"
: die "Unbekannter Absender";
# Empfänger
my @Gute_Adressen;
@Gute_Adressen = $smtp->recipient( @Empfaenger, { SkipBad => 1 } );
# Hier wird Adresse geprüft,
for (@Gute_Adressen) { print "$_ ist brauchbar\n"; }
# die Schlechten Adressen die nicht vorhanden sind werden aussortiert...
# ausortieren
my %seen; # lookup table
@seen{@Gute_Adressen} = (); # Hash Slice mit 'undef' Values
my @Schlechte_Adressen;
for (@Empfaenger) { push(@Schlechte_Adressen, $_) unless exists $seen{$_}; }
for (@Schlechte_Adressen) { print "$_ ist unbrauchbar\n"; }
# Nachricht senden
$OK = $smtp->data(\@message);
$OK ? print "Nachricht ausgeliefert\n"
: die "Konnte Nachricht nicht ausliefern";
# Ordungsgemäss beim Server abmelden
$OK = $smtp->quit();
$OK ? print "Connection closed\n"
: die "Konte Abmeldung nicht vornehmen $!";
exit;
![]() |
![]() |
3 Einträge, 1 Seite |