Haineko
view release on metacpan or search on metacpan
_ _ _ _
| | | | __ _(_)_ __ ___| | _____
| |_| |/ _` | | '_ \ / _ \ |/ / _ \
| _ | (_| | | | | | __/ < (_) |
|_| |_|\__,_|_|_| |_|\___|_|\_\___/
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 )