Files
itoomail/README.md

58 lines
3.0 KiB
Markdown
Raw Permalink Normal View History

# itoomail, a direct Eep2Eep mailing server
**itoomail** is a basic mail server that can be used to send and receive mails
directly into an I2P server hosting `itoomail` (or a similar server).
## Setup
`itoomail` is designed to be (somewhat) easy to setup:
- Ensure that your I2P router has it's [SAM](http://i2p-projekt.i2p/en/docs/api/samv3) port open.
This can be done by starting (and ticking Run-at-startup) on [Java I2P settings](http://127.0.0.1:7657/configclients) or setting `enabled` key under `sam` section of your [I2Pd config](https://i2pd.readthedocs.io/en/latest/user-guide/configuration/) to `true` and restarting I2Pd.
- Generate a private key for itoomail to use.
A way to do this is to use the SAM bridge with this command: `echo -e "HELLO VERSION MIN=3.1 MAX=3.3\nDEST GENERATE SIGNATURE_TYPE=7\nQUIT" | nc 127.0.0.1 7656 | sed -e s/' '/'\n '/g` and noting down the `PUB` and `PRIV` responses.
Save the `PUB` field under `/.well-known/i2pmail.key` of your site you want to host your mail server under.
- (Optionally) Make a seperate user/group for itoomail to run under.
- (If not launching as root) Make a directory for itoomail to use as it's datadir.
Save the `PRIV` response from earlier to the `privkey.dat` of this directory.
If needed, chown/chgrp this directory to the user/group of itoomail.
- Make a configuration file as follows:
```ini
datadir=/var/lib/itoomail
logfile=/var/log/itoomail.log
pidfile=/var/run/itoomail.pid
[daemon]
loglevel=INFO
user=itoomail
group=itoomail
[ports]
smtp=2500
pop=7165
sam=7656
[service]
adminuser=root
adminpass=adminnimda
hostname=myownsite.i2p
allowed_users=root,git,myownsite
```
Replace the fields as necessary. If itoomail starts acting weird/crashing then use the `DEBUG` loglevel to file a bug report.
- Run itoomail as either root or the wanted user.
If running as non-root then the log/pid/datadir must've been created as explained above.
Otherwise itoomail will create as necessary before changing to the user configured.
- You should see a line like `itoomail vx.y.z ready to accept invisible mails` (it may be buried under DEBUG logs if enabled).
- Start sending mails to the defined SMTP/POP ports with the address being you site.
Like setting name to `MyOwnSite` and address to `myownsite@myownsite.i2p`.
If the destination eepsite has an email server set up like this then your mail shall go through without any problems.
- Have fun!
## (Known) Limitations
- Can't send/receive from/to [Postman's mail.i2p](http://hq.postman.i2p).
A feature mapping itoomail users to mail.i2p users will be implemented in the near future.
- Can't (**and won't**) send/receive from/to clearnet sites or hosts.
- Inability to control itoomail while it's running.
A console-like thing for mails going to "itoomail-system" from the admin account (as the config above) is planned.
- Unable to recover from a SAM disconnect making the server a half-zombie until restarted.
`itoomail` is an implementation of the Eep2Eep mail server idea of me at [here](http://i2pforum.i2p/viewtopic.php?t=1268).