Haineko

 view release on metacpan or  search on metacpan

README.md  view on Meta::CPAN

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

    $ export PERL5LIB=/usr/local/haineko/lib/perl5

Run by the one of the followings:

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

D. Build and install into /usr/local
------------------------------------

    $ cd ./Haineko
    $ sudo cpanm .
    $ sudo cpanm -L/usr/local --installdeps .

    $ /usr/local/bin/hainekoctl setup --dest /usr/local/etc
    $ cd /usr/local
    $ 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
    $ ./bin/hainekoctl start --devel

Starting Haineko server
-----------------------

### Use plackup command

    $ plackup -o 127.0.0.1 -p 2794 -a libexec/haineko.psgi

### Use wrapper script

    $ bin/hainekoctl start --devel -a libexec/haineko.psgi

The following command shows other options of bin/hainekoctl:

    $ bin/hainekoctl help

Configuration files in /usr/local/haineko/etc
---------------------------------------------
Please have a look at the complete format description in each file listed at the
followings. These files are read from Haineko as a YAML-formatted file.

### etc/haineko.cf
Main configuration file for Haineko. If you want to use other configuration file,
set $HAINEKO\_CONF environment variable like 'export HAINEKO\_CONF=/etc/neko.cf'.

### etc/mailertable
Defines "mailer table": Recipient's domain part based routing table like the 
same named file in Sendmail. This file is taken precedence over the routing 
table defined in etc/sendermt for deciding the mailer.

### etc/sendermt
Defines "mailer table" which decide the mailer by sender's domain part.

### etc/authinfo
Provide credentials for client side authentication information. 
Credentials defined in this file are used at relaying an email to external
SMTP server.

__This file should be set secure permission: The only user who runs haineko server
can read this file.__

### etc/relayhosts
Permitted hosts or network table for relaying via /submit.

### etc/recipients
Permitted envelope recipients and domains for relaying via /submit.

### etc/password
Username and password pairs for basic authentication. Haineko require an username
and a password at receiving an email if HAINEKO_AUTH environment variable was set.
The value of HAINEKO_AUTH environment variable is the path to password file.

__This file should be set secure permission: The only user who runs haineko server
can read this file.__

### Configuration data on the web

/conf display Haineko configuration data but it can be accessed from 127.0.0.1

Environment Variables
---------------------

### HAINEKO_ROOT

Haineko decides the root directory by HAINEKO_ROOT or the result of `pwd` command,
and read haineko.cf from HAINEKO_ROOT/etc/haineko.cf if HAINEKO_CONF environment
variable is not defined.

### HAINEKO_CONF

The value of HAINEKO_CONF is the path to __haineko.cf__ file. If this variable is
not defined, Haineko finds the file from HAINEKO_ROOT/etc directory. This variable
can be set with -C /path/to/haineko.cf at bin/hainekoctl script.

### HAINEKO_AUTH

Haineko requires Basic-Authentication at connecting Haineko server when HAINEK_AUTH
environment variable is set. The value of HAINEKO_AUTH should be the path to the
password file such as 'export HAINEKO_AUTH=/path/to/password'. This variable can be
set with -A option of bin/hainekoctl script.

### HAINEKO_DEBUG

Haineko runs on debug(development) mode when this variable is set. -d, --devel,and
--debug option of bin/hainekoctl turns on debug mode. When Haineko is running on
developement mode, you can send email data using GET method.

SAMPLE CODE IN EACH LANGUAGE
----------------------------

Sample codes in each language are available in eg/ directory: Perl, Python Ruby,
PHP, Java script(jQuery) and shell script.

SPECIAL NOTES FOR OpenBSD
-------------------------



( run in 0.733 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )