pervasive logo

Newsletter

Newsletter - perl module for the newsletter web interface. See [here]
The latest verion you can find at CPAN under [http://search.cpan.org/dist/Newsletter/lib/Newsletter.pm]

Download and Install

The simplest way is to use cpan form the command line. If you have an ordinary linux enter "cpan" in your bash and enter following "install Newsletter".

Or you get the source from here [Newsletter-0.033.tar.gz] (Please visit cpan for the latest version).
  • open the tarball
  • perl Makefile.PL
  • make
  • make test
  • make install (as root)

Demo

A demo without send function. [open]

Documentation


Newsletter - A simple newsletter module!


NAME

Newsletter - A simple newsletter module!


VERSION

Version 0.033


SYNOPSIS

The backend module for the newsletter (newsletter.cgi) web interface. This module is a BETA Version. Copy the newsletter.cgi to your /cgi-bin/ directory and adapt it. Maybe you have to change the paths

Perhaps a little code snippet.

    use Newsletter;
    my $foo = Newsletter->new();
    ...

More docu is coming ...


FUNCTIONS

    template( %params )
    list( %params )
    body( %params )
    sender( %params )
    send( )


EXAMPLE

    #!/usr/bin/perl -w
    use strict;
    use Newsletter;
    my $news = Newsletter->new;
    $news->template( path => '/tmp/newsletter' );
    $news->template( 
        file => {
                # u need
                path => 'test/myHeader.html',
                type => 'html',
                is => 'header',
                # here starts the optional Params
                name => 'My Header Name',
                schema => 'My First Template',
                embedded => '/tmp/opera.jpg'
                # here starts self defined Params
                # ...
        }
    );
    $news->template(
        use => {
                schema => 'My First Template'
        }
    );
    $news->template(
        use => {
                is => 'header',
                name => 'My Header Name'
        }
    );
    $news->template(
        use => {
                is => 'header',
                filename => 'myHeader.txt'
        }
    );
    #print $news->template(
    #        use => {
    #                is => 'header',
    #                filename => 'myHeader.html'
    #        },
    #   remove => 1
    #);
    #print $news->{'senderHeader'}->{'HTML'}, "\n";
    #######################################################
    # TEST List
    #######################################################
    $news->list(
        path => '/tmp/newsletter/list'
    );
    $news->list(
        list => {
                name => 'the-top@foo.bar'
        }
    );
    $news->list(
        member => {
                # u need
                listname => 'the-top@foo.bar',
                mail => 'foo@bar.bla'
        }
    );
    $news->list(
        member => {
                # u need
                listname => 'the-top@foo.bar',
                mail => 'hello@world.bla'
        }
    );
    $news->list(
        remove => {
                # remove one member
                listname => 'the-top@foo.bar',
                mail => 'hello@world.bla'
        }
    );
    $news->list(
        remove => {
                # remove whole list
                listname => 'the-top@foo.bar',
        }
    );
    ############################################
    # Test Send
    ############################################
    $news->list(
        empty => 1,
        path => '/tmp/newsletter/list'
    );
    $news->list(
        list => {
                name => 'news@vienna-marathon.com',
        }
    );
    $news->list(
        member => {
                # u need
                listname => 'news@vienna-marathon.com',
                mail => 'dominik@soft.uni-linz.ac.at'
        }
    );
    $news->body(
        path => '/tmp/newsletter/body'
    );
    $news->body(
        subject => 'A test mail!',
        file => {
                path => 'test/myBody.html',
                type => 'html',
                embedded => '/tmp/opera.jpg'
        }       
    );
    $news->body(
        file => {
                path => 'test/myBody.txt',
                type => 'text',
        }
    );
    $news->sender(
        smtp => 'soft.uni-linz.ac.at'
    );
    my $sender = $news->buildMail();
    #print $sender->as_string;
    #print "\n";
    $news->send();


ONLINE

Visit:

   L<http://www.pervasive.jku.at/About_Us/Staff/Hochreiter/Newsletter>;

Here you can see the example script from the cgi directory working:

   L<http://www.pervasive.jku.at/About_Us/Staff/Hochreiter/Newsletter/cgi/newsletter.cgi>;


AUTHOR

Dominik Hochreiter, <dominik at soft.uni-linz.ac.at>


TESTS

Successfully tested on Linux (Slackware 10.2) and Solaris (SunOS 5.8). This Module got developed for www.vienna-marathon.com


BUGS

Please report any bugs or feature requests to bug-newsletter at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.


SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc Newsletter

You can also look for information at:


ACKNOWLEDGEMENTS


COPYRIGHT & LICENSE

Copyright 2006 Dominik Hochreiter, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.