207 líneas
9.4 KiB
Handlebars
207 líneas
9.4 KiB
Handlebars
<div class="row">
|
|
<div class="col-md-12">
|
|
<h1><span class="glyphicon glyphicon-inbox" aria-hidden="true"></span> {{serviceName}}</h1>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
|
|
<h3>
|
|
What is this?
|
|
</h3>
|
|
|
|
<p>
|
|
<a href="https://github.com/nodemailer/wildduck">WildDuck</a> is an open source email server software and this webpage runs on the default webmail software for WildDuck.
|
|
</p>
|
|
|
|
<p>
|
|
<a class="btn btn-primary btn-md" href="https://github.com/nodemailer/wildduck" role="button"><span class="glyphicon glyphicon-cloud-download" aria-hidden="true"></span> Source for the mail server</a>
|
|
|
|
<a class="btn btn-primary btn-md" href="https://github.com/nodemailer/wildduck-webmail" role="button"><span class="glyphicon glyphicon-cloud-download" aria-hidden="true"></span> Source for the Webmail</a>
|
|
|
|
<a class="btn btn-success btn-md" href="/account/create" role="button"><span class="glyphicon glyphicon-user" aria-hidden="true"></span> Create demo account</a>
|
|
</p>
|
|
|
|
<p>
|
|
To test it out create a new account <strong><a href="/account/create">here</a></strong>. This would give you an actual working email address. Next you could try turning on two factor authentication or logging into IMAP with an application specific password.
|
|
</p>
|
|
|
|
<p>
|
|
This entire webservice is just a front-end to <a href="https://api.wildduck.email/">WildDuck API</a>. The web application does not make any database connections, everything is handled by using REST API calls against the API.
|
|
</p>
|
|
|
|
<h3>
|
|
Screenshots
|
|
</h3>
|
|
|
|
<div class="row">
|
|
<div class="col-md-8">
|
|
|
|
<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
|
|
<!-- Indicators -->
|
|
<ol class="carousel-indicators">
|
|
<li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
|
|
<li data-target="#carousel-example-generic" data-slide-to="1"></li>
|
|
<li data-target="#carousel-example-generic" data-slide-to="2"></li>
|
|
<li data-target="#carousel-example-generic" data-slide-to="3"></li>
|
|
<li data-target="#carousel-example-generic" data-slide-to="4"></li>
|
|
</ol>
|
|
|
|
<!-- Wrapper for slides -->
|
|
<div class="carousel-inner" role="listbox">
|
|
|
|
<div class="item active">
|
|
<img src="/demo/img01.png" alt="...">
|
|
</div>
|
|
|
|
<div class="item">
|
|
<img src="/demo/img02.png" alt="...">
|
|
</div>
|
|
|
|
<div class="item">
|
|
<img src="/demo/img03.png" alt="...">
|
|
</div>
|
|
|
|
<div class="item">
|
|
<img src="/demo/img04.png" alt="...">
|
|
</div>
|
|
|
|
<div class="item">
|
|
<img src="/demo/img05.png" alt="...">
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<!-- Controls -->
|
|
<a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
|
|
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
|
|
<span class="sr-only">Previous</span>
|
|
</a>
|
|
<a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
|
|
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
|
|
<span class="sr-only">Next</span>
|
|
</a>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="col-md-2"></div>
|
|
</div>
|
|
|
|
|
|
<h3 id="mobileconfig">1. OSX Profile demo</h3>
|
|
<p>
|
|
The following video demonstrates:
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
Creating a new account and logging in
|
|
</li>
|
|
<li>
|
|
Generating a new Application Specific Password
|
|
</li>
|
|
<li>
|
|
Exporting the password as OSX Mobileconfig file to set up OSX/iOS mail applications
|
|
</li>
|
|
<li>
|
|
<a href="https://github.com/nodemailer/wildduck/tree/master/emails">Inserting messages</a> to the INBOX of new users
|
|
</li>
|
|
</ul>
|
|
|
|
<p>
|
|
<iframe width="560" height="315" src="https://www.youtube.com/embed/Pld5m9UJ8SE" frameborder="0" allowfullscreen></iframe>
|
|
</p>
|
|
|
|
<h3 id="pgp">2. PGP encryption demo</h3>
|
|
<p>
|
|
The following video demonstrates:
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
Sending and receiving a cleartext message
|
|
</li>
|
|
<li>
|
|
Setting up PGP encryption for cleartext messages
|
|
</li>
|
|
<li>
|
|
Receiving a cleartext message that the server encrypts before storing it to the mail store
|
|
</li>
|
|
</ul>
|
|
|
|
<pd>
|
|
<iframe width="560" height="315" src="https://www.youtube.com/embed/nJ4KdXJRi1w" frameborder="0" allowfullscreen></iframe>
|
|
</p>
|
|
|
|
<h3 id="onion">3. Sending to the onion network</h3>
|
|
<p>
|
|
The following video demonstrates:
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
Composing a normal email message and addressing it to an onion email address
|
|
</li>
|
|
<li>
|
|
Sending the message
|
|
</li>
|
|
<li>
|
|
Receiving the message sent from WildDuck Mail Server to an onion email service
|
|
</li>
|
|
</ul>
|
|
|
|
<p>
|
|
<iframe width="560" height="315" src="https://www.youtube.com/embed/p2eiyHAPwkQ" frameborder="0" allowfullscreen></iframe>
|
|
</p>
|
|
|
|
<h3>Features</h3>
|
|
<ul>
|
|
<li>
|
|
Generated email address is a real address and can be used with any mail client. IMAP is handled by WildDuck, MX messages are received by Haraka and outgoing messages are delivered by ZoneMTA.
|
|
</li>
|
|
<li>
|
|
All data is stored in a sharded MongoDB database. If there is not enough space then adding a new shard should fix that
|
|
</li>
|
|
<li>
|
|
Mail daemon processes avoid touching the filesystem (WildDuck and ZoneMTA do not touch file system after startup, Haraka writes and reads messages from a queue and spool folder) and do not execute any shell commands. Daemon processes run as unprivileged
|
|
users. All compiled node dependencies are optional and can be removed to avoid potential buffer overflows and such.
|
|
</li>
|
|
<li>
|
|
Messages sent through SMTP are automatically copied to the <em>Sent Mail</em> folder. This mostly affects POP3 users as IMAP clients usually upload the message by themselves
|
|
</li>
|
|
<li>
|
|
When sending, non-authorized From: address in the message header is replaced. <em>"From: User Name <otheruser@domain>"</em> becomes <em>"From: User Name <username@example.com>"</em>
|
|
</li>
|
|
<li>
|
|
Dots in usernames and addresses are ignored. <em>user.name@example.com</em> is the same as <em>username@example.com</em>
|
|
</li>
|
|
<li>
|
|
Labels in incoming email addresses are ignored. <em>user+label@example.com</em> is the same as <em>user@example.com</em>
|
|
</li>
|
|
<li>
|
|
Moving messages to and out of the Junk Mail folder raises a junk status change event for that message. This is currently not used though
|
|
</li>
|
|
<li>
|
|
Enabling TOTP based 2FA disables account password for IMAP, POP3 and SMTP
|
|
</li>
|
|
<li>
|
|
Application Specific Password comes with automatically generated mobileconfig file for iOS/OSX mail applications
|
|
</li>
|
|
<li>
|
|
Incoming messages are checked against user defined filters. Matching messages can be marked as seen or flagged. Messages can be moved to specific mailbox folder. Messages tagged as spam are moved to Junk Mail folder.
|
|
</li>
|
|
<li>
|
|
Messages can be forwarded to another email address or uploaded to an URL account wide (all incoming messages are forwarded) or filter based (only messages matching specific filter are forwarded)
|
|
</li>
|
|
<li>
|
|
All authentication related events are logged and shown in the account security page. This behavior will change in the future as mail clients generate a lot of noise (re-authenticating after short period of time). Such logins should be joined somehow into
|
|
single events.
|
|
</li>
|
|
<li>
|
|
This web service also makes use of the built-in GPG encryption feature of WildDuck where all cleartext messages are encrypted with user's public key before stored to disk. The encryption step is applied after filtering step so you could still filter messages by body text.
|
|
</li>
|
|
<li>
|
|
All new users get <a href="https://github.com/nodemailer/wildduck/tree/master/emails">default emails generated</a> and injected to INBOX as flagged messages.
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|