[svn-inject] Installing original source of nanobloggermail upstream upstream/0.2
authorgregor herrmann <gregoa@debian.org>
Sat, 25 Feb 2006 18:09:47 +0000 (18:09 -0000)
committergregor herrmann <gregoa@debian.org>
Sat, 25 Feb 2006 18:09:47 +0000 (18:09 -0000)
nb_mail [new file with mode: 0755]
procmailrc.example [new file with mode: 0644]

diff --git a/nb_mail b/nb_mail
new file mode 100755 (executable)
index 0000000..42709d2
--- /dev/null
+++ b/nb_mail
@@ -0,0 +1,44 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+# how are we called?
+if (! $ARGV[0]) { print STDERR "Call as nb_mail \$blog_dir."; exit(1); }
+
+my ($message, $msgstring);
+my ($title, $cat, $body);
+my ($blog_dir, $status);
+
+# blog directory
+$blog_dir = $ARGV[0]; 
+chomp($blog_dir); 
+$blog_dir =~ s/~/$ENV{HOME}/;
+$blog_dir .= '/' if ($blog_dir !~ /.*\/$/);
+
+# read mail from STDIN
+if (!open(IN, '-')) { print STDERR "Could not read from STDIN: $!\n"; exit(1); }
+my @message = <IN>;
+close IN;
+
+# create one string
+foreach my $line (@message) {
+  chomp($line);
+  next if ($line =~/^$/);
+  $msgstring .= $line;
+}
+
+# grep variables
+($title, $cat, $body) = ($msgstring =~ /^.*TITLE:\s*(.+?)\s*CAT:\s*(.+?)\s*BODY:\s*(.+?)\s*$/);
+
+#print "title: $title\n";
+#print "cat: $cat\n";
+#print "body: $body\n";
+
+
+# call nb
+umask 0002;
+$status = system("PATH=\"/usr/local/bin:/usr/bin:/bin\" nb -b $blog_dir -c $cat -t \"$title\" -B \"$body\" -a");
+if ($status != 0) { print STDERR "Error while executing nb: $?\n"; exit(1); }
+print "$status\n";
+exit (0);
diff --git a/procmailrc.example b/procmailrc.example
new file mode 100644 (file)
index 0000000..ea6f50b
--- /dev/null
@@ -0,0 +1,15 @@
+## example procmail recipe for using nanobloggermail
+## be sure to change/delete To From Subject and the path to your blog
+
+:0
+* ^TO.*myblog@example.org
+* ^From.*(validsender@example.net|other.valid.sender@example.org)
+* ^Subject:.*12345secretcode67890
+{
+       :0 bw
+       NB=|/usr/bin/nb_mail $HOME/path/to/my/blog/
+       :0 w
+       * $NB ?? 0
+       /dev/null
+}
+