2019-02-19 18:09:55 +00:00
|
|
|
MailServer
|
|
|
|
==========
|
|
|
|
|
|
|
|
This document is meant to collect various information about our MailServer implementation.
|
|
|
|
|
|
|
|
## Syncing between mail servers
|
|
|
|
|
|
|
|
It might happen that one mail server is behind other due to various reasons like a machine being down for a few minutes etc.
|
|
|
|
|
|
|
|
There is an option to fix such a mail server:
|
|
|
|
1. SSH to a machine where this broken mail server runs,
|
|
|
|
2. Add a mail server from which you want to sync:
|
|
|
|
```
|
|
|
|
# sudo might be not needed in your setup
|
|
|
|
$ echo '{"jsonrpc":"2.0","method":"admin_addPeer", "params": ["enode://c42f368a23fa98ee546fd247220759062323249ef657d26d357a777443aec04db1b29a3a22ef3e7c548e18493ddaf51a31b0aed6079bd6ebe5ae838fcfaf3a49@206.189.243.162:30504"], "id":1}' | \
|
|
|
|
sudo socat -d -d - UNIX-CONNECT:/docker/statusd-mail/data/geth.ipc
|
|
|
|
```
|
|
|
|
3. Mark it as a trusted peer:
|
|
|
|
```
|
|
|
|
# sudo might be not needed in your setup
|
|
|
|
$ echo '{"jsonrpc":"2.0","method":"shh_markTrustedPeer", "params": ["enode://c42f368a23fa98ee546fd247220759062323249ef657d26d357a777443aec04db1b29a3a22ef3e7c548e18493ddaf51a31b0aed6079bd6ebe5ae838fcfaf3a49@206.189.243.162:30504"], "id":1}' | \
|
|
|
|
sudo socat -d -d - UNIX-CONNECT:/docker/statusd-mail/data/geth.ipc
|
|
|
|
```
|
|
|
|
4. Finally, trigger the sync command:
|
|
|
|
```
|
|
|
|
# sudo might be not needed in your setup
|
2019-06-26 16:17:41 +00:00
|
|
|
$ echo '{"jsonrpc":"2.0","method":"shhext_syncMessages","params":[{"mailServerPeer":"enode://c42f368a23fa98ee546fd247220759062323249ef657d26d357a777443aec04db1b29a3a22ef3e7c548e18493ddaf51a31b0aed6079bd6ebe5ae838fcfaf3a49@206.189.243.162:30504", "to": 1550479953, "from": 1550393583, "limit": 1000}],"id":1}' | \
|
2019-02-19 18:09:55 +00:00
|
|
|
sudo socat -d -d - UNIX-CONNECT:/docker/statusd-mail/data/geth.ipc
|
|
|
|
```
|
|
|
|
|
2019-06-26 16:17:41 +00:00
|
|
|
You can add `"followCursor": true` if you want it to automatically download messages until the cursor is empty meaning all data was synced.
|
|
|
|
|
2019-02-19 18:09:55 +00:00
|
|
|
### Debugging
|
|
|
|
|
|
|
|
To verify that your mail server received any responses, watch logs and seek for logs like this:
|
|
|
|
```
|
|
|
|
INFO [02-18|09:08:54.257] received sync response count=217 final=false err= cursor=[]
|
|
|
|
```
|
|
|
|
|
|
|
|
And it should finish with:
|
|
|
|
```
|
|
|
|
INFO [02-18|09:08:54.431] received sync response count=0 final=true err= cursor=[]
|
|
|
|
```
|