Haineko

 view release on metacpan or  search on metacpan

README.md  view on Meta::CPAN

     _   _       _            _         
    | | | | __ _(_)_ __   ___| | _____  
    | |_| |/ _` | | '_ \ / _ \ |/ / _ \ 
    |  _  | (_| | | | | |  __/   < (_) |
    |_| |_|\__,_|_|_| |_|\___|_|\_\___/ 
    HTTP   API  into     ESMTP

Japanese version of README is [README-JA.md](https://github.com/azumakuniyuki/Haineko/blob/master/README-JA.md)

What is Haineko ?
=================

Haineko is an HTTP API server for sending email from a browser or any HTTP client.
It is implemented as a web server based on Plack and relays an email posted by 
HTTP client as JSON to other SMTP server or external email cloud service.

Haineko runs on the server like following systems which can execute Perl 5.10.1
or later and Plack.

* OpenBSD
* FreeBSD
* NetBSD
* Mac OS X
* Linux

Supported email clouds to relay using Web API
---------------------------------------------

* [SendGrid](http://sendgrid.com) - lib/Haineko/SMTPD/Relay/SendGrid.pm
* [Amazon SES](http://aws.amazon.com/ses/) - lib/Haineko/SMTPD/Relay/AmazonSES.pm
* [Mandrill](http://mandrill.com) - lib/Haineko/SMTPD/Relay/Mandrill.pm


How to build, configure and run
===============================

System requirements
-------------------

* Perl 5.10.1 or later

Dependencies
------------

Haineko relies on:

* Archive::Tar (core module from v5.9.3)
* __Authen::SASL__
* __Class::Accessor::Lite__
* __Email::MIME__
* Encode (core module from v5.7.3)
* File::Basename (core module from v5)
* File::Copy (core module from v5.2)
* File::Temp (core module from v5.6.1)
* __Furl__
* Getopt::Long (core module from v5)
* IO::File (core module from v5.3.7)
* IO::Pipe (core module from v5.3.7)
* __IO::Socket::SSL__
* IO::Zlib (core module from v5.9.3)
* __JSON::Syck__
* MIME::Base64 (core module from v5.7.3)
* Module::Load (core module from v5.9.4)
* __Net::DNS__
* Net::SMTP (core module from v5.7.3)
* __Net::SMTPS__
* __Net::CIDR::Lite__
* __Parallel::Prefork__
* __Path::Class__
* __Plack__
* __Router::Simple__
* Scalar::Util (core module from v5.7.3)
* __Server::Starter__
* Sys::Syslog (core module from v5)
* Time::Piece (core module from v5.9.5)
* __Try::Tiny__

Dependencies with Basic Authentication
--------------------------------------

Haineko with Basic Authentication at sending an email relies on the following modules:

* __Crypt::SaltedHash__
* __Plack::MiddleWare::Auth::Basic__

Dependencies with Haineko::SMTPD::Relay::AmazonSES
--------------------------------------------------

If you will use Haineko::SMTPD::Relay::AmazonSES, please install the following
modules.

* __XML::Simple__ 2.20 or later

Get the source
--------------

    $ cd /usr/local/src
    $ git clone https://github.com/azumakuniyuki/Haineko.git

A. Build and install from CPAN using cpanm
------------------------------------------

    $ sudo cpanm Haineko
    $ export HAINEKO_ROOT=/path/to/some/dir/for/haineko
    $ hainekoctl setup --dest $HAINEKO_ROOT
    $ cd $HAINEKO_ROOT
    $ vi ./etc/haineko.cf

    And edit other files in etc/ directory if you needed.

Run by the one of the followings:

    $ plackup -o '127.0.0.1' -p 2794 -a libexec/haineko.psgi
    $ hainekoctl start --devel

B. Run at the source directory
------------------------------

    $ cd ./Haineko



( run in 2.420 seconds using v1.01-cache-2.11-cpan-f56aa216473 )