58 lines
3.0 KiB
Markdown
58 lines
3.0 KiB
Markdown
# 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).
|