1 |
dpavlin |
1.1 |
#!/usr/bin/perl -w |
2 |
|
|
# |
3 |
|
|
# 2002-03-19 Dobrica Pavlinusic <dpavlin@pliva.hr> |
4 |
|
|
# |
5 |
|
|
# scans e-mail and update PLIVA d.d. newsletter subscribers database |
6 |
|
|
# accordingly |
7 |
|
|
|
8 |
|
|
use strict; |
9 |
|
|
use DBI; |
10 |
|
|
|
11 |
|
|
|
12 |
|
|
my $admin = 'newsletter-errors@pliva.hr'; |
13 |
|
|
|
14 |
|
|
my $email; |
15 |
|
|
|
16 |
|
|
my $in=""; |
17 |
|
|
|
18 |
|
|
while(<>) { |
19 |
|
|
$in.=$_; |
20 |
|
|
chomp; |
21 |
|
|
chomp; |
22 |
|
|
if (/confirmation\s+(\S+@\S+)/) { |
23 |
|
|
$email = $1; |
24 |
|
|
last; |
25 |
|
|
} |
26 |
|
|
} |
27 |
|
|
|
28 |
|
|
if (! $email) { |
29 |
|
|
open(MAIL,"| /usr/lib/sendmail -t") || die "sendmail: $!"; |
30 |
|
|
print MAIL "To: PLIVA Newsletter admin <$admin> |
31 |
|
|
From: PLIVA Newsletter mail filter <newsletter-request\@pliva.hr> |
32 |
|
|
Subject: newsletter request unknown mail |
33 |
|
|
|
34 |
|
|
We just received following e-mail which should be newsletter request, |
35 |
|
|
but is not recognised by out mail filter: |
36 |
|
|
|
37 |
|
|
$in |
38 |
|
|
"; |
39 |
|
|
close(MAIL); |
40 |
|
|
exit; |
41 |
|
|
} |
42 |
|
|
|
43 |
|
|
|
44 |
|
|
my $dbh = DBI->connect("DBI:Pg:dbname=corp","dpavlin","") || die $DBI::errstr; |
45 |
|
|
|
46 |
|
|
my $sql = "select email,confirmed from news_sub where email = '$email'"; |
47 |
|
|
my $sth = $dbh->prepare($sql) || die $dbh->errstr(); |
48 |
|
|
$sth->execute() || die $sth->errstr(); |
49 |
|
|
|
50 |
|
|
if (my ($email,$confirmed) = $sth->fetchrow_array() ) { |
51 |
|
|
if (! $confirmed) { |
52 |
|
|
$dbh->do("update news_sub set confirmed=true where email='$email'"); |
53 |
|
|
} else { |
54 |
|
|
$dbh->do("delete from news_sub where email='$email'"); |
55 |
|
|
} |
56 |
|
|
} |