fix(doc): Update Hugo theme

Updated Hugo Learn Theme and regenerated web docs.
This commit is contained in:
Jacob Budin
2017-10-15 18:17:26 -04:00
parent cc324b4705
commit aecbce50e3
189 changed files with 18709 additions and 5973 deletions

View File

@@ -4,19 +4,21 @@
<head>
<meta charset="utf-8"> <meta name="description" content="Documentation for the Lettre mailer in Rust">
<meta name="author" content="Alexis Mousset">
<link rel="shortcut icon" href="https://lettre.github.io/lettre//images/favicon.png" type="image/x-icon" />
<link rel="shortcut icon" href="https://lettre.github.io/lettre/images/favicon.png" type="image/x-icon" />
<title>404 Page not found</title>
<link href="https://lettre.github.io/lettre//css/nucleus.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/font-awesome.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/hybrid.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/featherlight.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/perfect-scrollbar.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/theme.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/hugo-theme.css" rel="stylesheet">
<style type="text/css">
<link href="/lettre/css/nucleus.css?1508105428" rel="stylesheet">
<link href="/lettre/css/font-awesome.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/hybrid.css?1508105428" rel="stylesheet">
<link href="/lettre/css/featherlight.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/perfect-scrollbar.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/horsey.css?1508105428" rel="stylesheet">
<link href="/lettre/css/theme.css?1508105428" rel="stylesheet">
<link href="/lettre/css/hugo-theme.css?1508105428" rel="stylesheet">
<style type="text/css">
:root #header + #content > #left > #rlblock_left {
display: none !important;
}
@@ -30,7 +32,8 @@
ul {
list-style-type: none;
}
</style>
</style>
</head>
<body>
@@ -41,13 +44,13 @@
<div id="overlay"></div>
<div id="chapter">
<div id="body-inner">
<h1>Error </h1>
<h1>Error</h1>
<p>
</p>
<p>Woops. Looks like this page doesn't exist.</p>
<p>Woops. Looks like this page doesn&#39;t exist ¯\_(ツ)_/¯.</p>
<p></p>
<p><a href="https://lettre.github.io/lettre/">Go to homepage</a></p>
<p><img src="https://lettre.github.io/lettre//images/gopher-404.jpg" style="width:50%"></img></p>
<p><a href="https://lettre.github.io/lettre">Go to homepage</a></p>
<p><img src="https://lettre.github.io/lettre/images/gopher-404.jpg" style="width:50%"></img></p>
</div>
</div>

View File

@@ -1,212 +1,278 @@
<!DOCTYPE html>
<html lang="en" class="js csstransforms3d">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta name="generator" content="Hugo 0.20.7" />
<meta name="generator" content="Hugo 0.29" />
<meta name="description" content="Documentation for the Lettre mailer in Rust">
<meta name="author" content="Alexis Mousset">
<link rel="shortcut icon" href="https://lettre.github.io/lettre//images/favicon.png" type="image/x-icon" />
<link rel="shortcut icon" href="https://lettre.github.io/lettre/images/favicon.png" type="image/x-icon" />
<title>Creating messages :: Lettre site</title>
<title>Creating messages</title>
<link href="https://lettre.github.io/lettre//css/nucleus.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/font-awesome.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/hybrid.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/featherlight.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/perfect-scrollbar.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/horsey.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/theme.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/hugo-theme.css" rel="stylesheet">
<script src="https://lettre.github.io/lettre//js/jquery-2.x.min.js"></script>
<style type="text/css">:root #header + #content > #left > #rlblock_left
{display:none !important;}</style>
<link href="/lettre/css/nucleus.css?1508105428" rel="stylesheet">
<link href="/lettre/css/font-awesome.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/hybrid.css?1508105428" rel="stylesheet">
<link href="/lettre/css/featherlight.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/perfect-scrollbar.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/auto-complete.css?1508105428" rel="stylesheet">
<link href="/lettre/css/theme.css?1508105428" rel="stylesheet">
<link href="/lettre/css/hugo-theme.css?1508105428" rel="stylesheet">
<script src="/lettre/js/jquery-2.x.min.js?1508105428"></script>
<style type="text/css">
:root #header + #content > #left > #rlblock_left{
display:none !important;
}
</style>
</head>
<body class="" data-url="/lettre/creating-messages/">
<nav id="sidebar">
<nav id="sidebar" class="">
<div id="header-wrapper">
<div id="header">
<a href="https://lettre.github.io/lettre//getting-started/intro/"><img src="https://lettre.github.io/lettre//images/logo50.png" /></a>
<a href="https://lettre.github.io/lettre/getting-started/intro/"><img src="https://lettre.github.io/lettre/images/logo50.png" /></a>
</div>
<div class="searchbox">
<label for="search-by"><i class="fa fa-search"></i></label>
<input data-search-input id="search-by" type="text" placeholder="Search">
<input data-search-input id="search-by" type="text" placeholder="Search...">
<span data-search-clear=""><i class="fa fa-close"></i></span>
</div>
<script type="text/javascript" src="https://lettre.github.io/lettre//js/lunr.min.js"></script>
<script type="text/javascript" src="https://lettre.github.io/lettre//js/horsey.js"></script>
<script type="text/javascript" src="/lettre/js/lunr.min.js?1508105428"></script>
<script type="text/javascript" src="/lettre/js/auto-complete.js?1508105428"></script>
<script type="text/javascript">
var baseurl = "https:\/\/lettre.github.io\/lettre\/";
var baseurl = "https:\/\/lettre.github.io\/lettre";
</script>
<script type="text/javascript" src="https://lettre.github.io/lettre//js/search.js"></script>
<script type="text/javascript" src="/lettre/js/search.js?1508105428"></script>
</div>
</div>
<div class="highlightable">
<div class="highlightable">
<ul class="topics">
<li class="dd-item " data-nav-id="/lettre/getting-started/">
<a href="/lettre/getting-started/">
<span>
<b>1. </b>
Getting started
</span>
</a>
<li data-nav-id="/lettre/getting-started/" title="Getting started" class="dd-item
">
<a href="/lettre/getting-started/">
Getting started
</a>
<ul>
<li class="dd-item " data-nav-id="/lettre/getting-started/intro/">
<a href="/lettre/getting-started/intro/">
<span>Introduction </i></span>
</a>
</li>
</ul>
</li>
<li class="dd-item active parent" data-nav-id="/lettre/creating-messages/">
<a href="/lettre/creating-messages/">
<span>
<b>2. </b>
Creating messages
</span>
<li data-nav-id="/lettre/getting-started/intro/" title="Introduction" class="dd-item ">
<a href="/lettre/getting-started/intro/">
Introduction
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/">
<a href="/lettre/sending-messages/">
<span>
<b>3. </b>
Sending messages
</span>
</a>
<ul>
<li class="dd-item " data-nav-id="/lettre/sending-messages/intro/">
<a href="/lettre/sending-messages/intro/">
<span>Introduction </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/smtp/">
<a href="/lettre/sending-messages/smtp/">
<span>SMTP transport </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/sendmail/">
<a href="/lettre/sending-messages/sendmail/">
<span>Sendmail transport </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/file/">
<a href="/lettre/sending-messages/file/">
<span>File transport </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/stub/">
<a href="/lettre/sending-messages/stub/">
<span>Stub transport </i></span>
</a>
</li>
</ul>
</li>
</ul>
<hr>
</li>
</ul>
</li>
<li data-nav-id="/lettre/creating-messages/" title="Creating messages" class="dd-item
parent
active
">
<a href="/lettre/creating-messages/">
Creating messages
</a>
</li>
<li data-nav-id="/lettre/sending-messages/" title="Sending messages" class="dd-item
">
<a href="/lettre/sending-messages/">
Sending messages
</a>
<ul>
<li data-nav-id="/lettre/sending-messages/intro/" title="Introduction" class="dd-item ">
<a href="/lettre/sending-messages/intro/">
Introduction
</a>
</li>
<li data-nav-id="/lettre/sending-messages/smtp/" title="SMTP transport" class="dd-item ">
<a href="/lettre/sending-messages/smtp/">
SMTP transport
</a>
</li>
<li data-nav-id="/lettre/sending-messages/sendmail/" title="Sendmail transport" class="dd-item ">
<a href="/lettre/sending-messages/sendmail/">
Sendmail transport
</a>
</li>
<li data-nav-id="/lettre/sending-messages/file/" title="File transport" class="dd-item ">
<a href="/lettre/sending-messages/file/">
File transport
</a>
</li>
<li data-nav-id="/lettre/sending-messages/stub/" title="Stub transport" class="dd-item ">
<a href="/lettre/sending-messages/stub/">
Stub transport
</a>
</li>
</ul>
</li>
</ul>
<section id="footer">
<p>Built with <a href="https://github.com/matcornic/hugo-theme-learn"><i class="fa fa-heart"></i></a> from <a href="http://getgrav.org">Grav</a> and <a href="http://gohugo.io/">Hugo</a></p>
@@ -214,150 +280,305 @@
</div>
</nav>
<section id="body">
<div id="overlay"></div>
<div class="padding highlightable">
<div id="top-bar">
<div class="padding highlightable sticky-parent">
<div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle="">
<i class="fa fa-bars"></i>
</a>
<div class="sticky-spacer">
<div id="top-bar">
<div id="top-github-link">
<a class="github-link" href="https://github.com/lettre/lettre/edit/master/website/content/creating-messages/_index.md" target="blank">
<i class="fa fa-code-fork"></i>
Edit this page
</a>
</div>
<div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle="">
<i class="fa fa-bars"></i>
</a>
</span>
<span id="toc-menu"><i class="fa fa-list-alt"></i></span>
<span class="links">
<a href='/lettre/'>Lettre site</a> > Creating messages
</span>
</div>
<span itemprop="title"> Creating messages</span>
</div>
<div class="progress">
<div class="wrapper">
<nav id="TableOfContents">
<ul>
<li>
<ul>
<li>
<ul>
<li><a href="#creating-messages">Creating messages</a></li>
</ul></li>
</ul></li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<div id="chapter">
<div id="body-inner">
<div id="body-inner">
<h1>Creating messages</h1>
<h3 id="creating-messages">Creating messages</h3>
</div>
</div>
</div>
<footer class=" footline" >
</footer>
</div>
</div>
<div id="navigation">
<a class="nav nav-prev" href="/lettre/getting-started/intro/"> <i class="fa fa-chevron-left"></i></a>
<a class="nav nav-next" href="/lettre/sending-messages/" style="margin-right: 0px;"><i class="fa fa-chevron-right"></i></a>
<a class="nav nav-prev" href="/lettre/getting-started/intro/" title="Introduction"> <i class="fa fa-chevron-left"></i></a>
<a class="nav nav-next" href="/lettre/sending-messages/" title="Sending messages" style="margin-right: 0px;"><i class="fa fa-chevron-right"></i></a>
</div>
</section>
<div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
<div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
</div>
<script src="https://lettre.github.io/lettre//js/clipboard.min.js"></script>
<script src="https://lettre.github.io/lettre//js/perfect-scrollbar.min.js"></script>
<script src="https://lettre.github.io/lettre//js/perfect-scrollbar.jquery.min.js"></script>
<script src="https://lettre.github.io/lettre//js/jquery.sticky-kit.min.js"></script>
<script src="https://lettre.github.io/lettre//js/featherlight.min.js"></script>
<script src="https://lettre.github.io/lettre//js/html5shiv-printshiv.min.js"></script>
<script src="https://lettre.github.io/lettre//js/highlight.pack.js"></script>
<script src="/lettre/js/clipboard.min.js?1508105428"></script>
<script src="/lettre/js/perfect-scrollbar.min.js?1508105428"></script>
<script src="/lettre/js/perfect-scrollbar.jquery.min.js?1508105428"></script>
<script src="/lettre/js/jquery.sticky-kit.min.js?1508105428"></script>
<script src="/lettre/js/featherlight.min.js?1508105428"></script>
<script src="/lettre/js/html5shiv-printshiv.min.js?1508105428"></script>
<script src="/lettre/js/highlight.pack.js?1508105428"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="https://lettre.github.io/lettre//js/modernizr.custom.71422.js"></script>
<script src="https://lettre.github.io/lettre//js/learn.js"></script>
<script src="https://lettre.github.io/lettre//js/hugo-learn.js"></script>
<script src="/lettre/js/modernizr.custom.71422.js?1508105428"></script>
<script src="/lettre/js/learn.js?1508105428"></script>
<script src="/lettre/js/hugo-learn.js?1508105428"></script>
<link href="/lettre/mermaid/mermaid.css?1508105428" type="text/css" rel="stylesheet" />
<script src="/lettre/mermaid/mermaid.js?1508105428"></script>
<script>
mermaid.initialize({ startOnLoad: true });
</script>
</body>
</html>

View File

@@ -0,0 +1,47 @@
.autocomplete-suggestions {
text-align: left;
cursor: default;
border: 1px solid #ccc;
border-top: 0;
background: #fff;
box-shadow: -1px 1px 3px rgba(0,0,0,.1);
/* core styles should not be changed */
position: absolute;
display: none;
z-index: 9999;
max-height: 254px;
overflow: hidden;
overflow-y: auto;
box-sizing: border-box;
}
.autocomplete-suggestion {
position: relative;
cursor: pointer;
padding: 7px;
line-height: 23px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: #333;
}
.autocomplete-suggestion b {
font-weight: normal;
color: #1f8dd6;
}
.autocomplete-suggestion.selected {
background: #333;
color: #fff;
}
.autocomplete-suggestion:hover {
background: #444;
color: #fff;
}
.autocomplete-suggestion > .context {
font-size: 12px;
}

File diff suppressed because one or more lines are too long

View File

@@ -172,7 +172,6 @@ h2 {
font-size: 2.5rem;
line-height: 110% !important;
margin: 2.5rem 0 1.5rem 0;
text-transform: capitalize;
}
h3 {
@@ -209,4 +208,45 @@ figcaption h4 {
font-size: 1em;
text-align: center;
margin-top: -1.5em;
}
.select-style {
border: 0;
width: 150px;
border-radius: 0px;
overflow: hidden;
display: inline-flex;
}
.select-style svg {
fill: #ccc;
width: 14px;
height: 14px;
pointer-events: none;
margin: auto;
}
.select-style svg:hover {
fill: #e6e6e6;
}
.select-style select {
padding: 0;
width: 130%;
border: none;
box-shadow: none;
background: transparent;
background-image: none;
-webkit-appearance: none;
margin: auto;
margin-left: 0px;
margin-right: -20px;
}
.select-style select:focus {
outline: none;
}
.select-style :hover {
cursor: pointer;
}

104
docs/css/theme-blue.css Normal file
View File

@@ -0,0 +1,104 @@
:root{
--MAIN-TEXT-color:#323232; /* Color of text by default */
--MAIN-TITLES-TEXT-color: #5e5e5e; /* Color of titles h2-h3-h4-h5 */
--MAIN-LINK-color:#1C90F3; /* Color of links */
--MAIN-LINK-HOVER-color:#167ad0; /* Color of hovered links */
--MAIN-ANCHOR-color: #1C90F3; /* color of anchors on titles */
--MENU-HEADER-BG-color:#1C90F3; /* Background color of menu header */
--MENU-HEADER-BORDER-color:#33a1ff; /*Color of menu header border */
--MENU-SEARCH-BG-color:#167ad0; /* Search field background color (by default borders + icons) */
--MENU-SEARCH-BOX-color: #33a1ff; /* Override search field border color */
--MENU-SEARCH-BOX-ICONS-color: #a1d2fd; /* Override search field icons color */
--MENU-SECTIONS-ACTIVE-BG-color:#20272b; /* Background color of the active section and its childs */
--MENU-SECTIONS-BG-color:#252c31; /* Background color of other sections */
--MENU-SECTIONS-LINK-color: #ccc; /* Color of links in menu */
--MENU-SECTIONS-LINK-HOVER-color: #e6e6e6; /* Color of links in menu, when hovered */
--MENU-SECTION-ACTIVE-CATEGORY-color: #777; /* Color of active category text */
--MENU-SECTION-ACTIVE-CATEGORY-BG-color: #fff; /* Color of background for the active category (only) */
--MENU-VISITED-color: #33a1ff; /* Color of 'page visited' icons in menu */
--MENU-SECTION-HR-color: #20272b; /* Color of <hr> separator in menu */
}
body {
color: var(--MAIN-TEXT-color) !important;
}
textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus {
border-color: none;
box-shadow: none;
}
h2, h3, h4, h5 {
color: var(--MAIN-TITLES-TEXT-color) !important;
}
a {
color: var(--MAIN-LINK-color);
}
.anchor {
color: var(--MAIN-ANCHOR-color);
}
a:hover {
color: var(--MAIN-LINK-HOVER-color);
}
#sidebar ul li.visited > a .read-icon {
color: var(--MENU-VISITED-color);
}
#body a.highlight:after {
display: block;
content: "";
height: 1px;
width: 0%;
-webkit-transition: width 0.5s ease;
-moz-transition: width 0.5s ease;
-ms-transition: width 0.5s ease;
transition: width 0.5s ease;
background-color: var(--MAIN-HOVER-color);
}
#sidebar {
background-color: var(--MENU-SECTIONS-BG-color);
}
#sidebar #header-wrapper {
background: var(--MENU-HEADER-BG-color);
color: var(--MENU-SEARCH-BOX-color);
border-color: var(--MENU-HEADER-BORDER-color);
}
#sidebar .searchbox {
border-color: var(--MENU-SEARCH-BOX-color);
background: var(--MENU-SEARCH-BG-color);
}
#sidebar ul.topics > li.parent, #sidebar ul.topics > li.active {
background: var(--MENU-SECTIONS-ACTIVE-BG-color);
}
#sidebar .searchbox * {
color: var(--MENU-SEARCH-BOX-ICONS-color);
}
#sidebar a {
color: var(--MENU-SECTIONS-LINK-color);
}
#sidebar a:hover {
color: var(--MENU-SECTIONS-LINK-HOVER-color);
}
#sidebar ul li.active > a {
background: var(--MENU-SECTION-ACTIVE-CATEGORY-BG-color);
color: var(--MENU-SECTION-ACTIVE-CATEGORY-color) !important;
}
#sidebar hr {
border-color: var(--MENU-SECTION-HR-color);
}

104
docs/css/theme-green.css Normal file
View File

@@ -0,0 +1,104 @@
:root{
--MAIN-TEXT-color:#323232; /* Color of text by default */
--MAIN-TITLES-TEXT-color: #5e5e5e; /* Color of titles h2-h3-h4-h5 */
--MAIN-LINK-color:#599a3e; /* Color of links */
--MAIN-LINK-HOVER-color:#3f6d2c; /* Color of hovered links */
--MAIN-ANCHOR-color: #599a3e; /* color of anchors on titles */
--MENU-HEADER-BG-color:#74b559; /* Background color of menu header */
--MENU-HEADER-BORDER-color:#9cd484; /*Color of menu header border */
--MENU-SEARCH-BG-color:#599a3e; /* Search field background color (by default borders + icons) */
--MENU-SEARCH-BOX-color: #84c767; /* Override search field border color */
--MENU-SEARCH-BOX-ICONS-color: #c7f7c4; /* Override search field icons color */
--MENU-SECTIONS-ACTIVE-BG-color:#1b211c; /* Background color of the active section and its childs */
--MENU-SECTIONS-BG-color:#222723; /* Background color of other sections */
--MENU-SECTIONS-LINK-color: #ccc; /* Color of links in menu */
--MENU-SECTIONS-LINK-HOVER-color: #e6e6e6; /* Color of links in menu, when hovered */
--MENU-SECTION-ACTIVE-CATEGORY-color: #777; /* Color of active category text */
--MENU-SECTION-ACTIVE-CATEGORY-BG-color: #fff; /* Color of background for the active category (only) */
--MENU-VISITED-color: #599a3e; /* Color of 'page visited' icons in menu */
--MENU-SECTION-HR-color: #18211c; /* Color of <hr> separator in menu */
}
body {
color: var(--MAIN-TEXT-color) !important;
}
textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus {
border-color: none;
box-shadow: none;
}
h2, h3, h4, h5 {
color: var(--MAIN-TITLES-TEXT-color) !important;
}
a {
color: var(--MAIN-LINK-color);
}
.anchor {
color: var(--MAIN-ANCHOR-color);
}
a:hover {
color: var(--MAIN-LINK-HOVER-color);
}
#sidebar ul li.visited > a .read-icon {
color: var(--MENU-VISITED-color);
}
#body a.highlight:after {
display: block;
content: "";
height: 1px;
width: 0%;
-webkit-transition: width 0.5s ease;
-moz-transition: width 0.5s ease;
-ms-transition: width 0.5s ease;
transition: width 0.5s ease;
background-color: var(--MAIN-HOVER-color);
}
#sidebar {
background-color: var(--MENU-SECTIONS-BG-color);
}
#sidebar #header-wrapper {
background: var(--MENU-HEADER-BG-color);
color: var(--MENU-SEARCH-BOX-color);
border-color: var(--MENU-HEADER-BORDER-color);
}
#sidebar .searchbox {
border-color: var(--MENU-SEARCH-BOX-color);
background: var(--MENU-SEARCH-BG-color);
}
#sidebar ul.topics > li.parent, #sidebar ul.topics > li.active {
background: var(--MENU-SECTIONS-ACTIVE-BG-color);
}
#sidebar .searchbox * {
color: var(--MENU-SEARCH-BOX-ICONS-color);
}
#sidebar a {
color: var(--MENU-SECTIONS-LINK-color);
}
#sidebar a:hover {
color: var(--MENU-SECTIONS-LINK-HOVER-color);
}
#sidebar ul li.active > a {
background: var(--MENU-SECTION-ACTIVE-CATEGORY-BG-color);
color: var(--MENU-SECTION-ACTIVE-CATEGORY-color) !important;
}
#sidebar hr {
border-color: var(--MENU-SECTION-HR-color);
}

104
docs/css/theme-red.css Normal file
View File

@@ -0,0 +1,104 @@
:root{
--MAIN-TEXT-color:#323232; /* Color of text by default */
--MAIN-TITLES-TEXT-color: #5e5e5e; /* Color of titles h2-h3-h4-h5 */
--MAIN-LINK-color:#f31c1c; /* Color of links */
--MAIN-LINK-HOVER-color:#d01616; /* Color of hovered links */
--MAIN-ANCHOR-color: #f31c1c; /* color of anchors on titles */
--MENU-HEADER-BG-color:#dc1010; /* Background color of menu header */
--MENU-HEADER-BORDER-color:#e23131; /*Color of menu header border */
--MENU-SEARCH-BG-color:#b90000; /* Search field background color (by default borders + icons) */
--MENU-SEARCH-BOX-color: #ef2020; /* Override search field border color */
--MENU-SEARCH-BOX-ICONS-color: #fda1a1; /* Override search field icons color */
--MENU-SECTIONS-ACTIVE-BG-color:#2b2020; /* Background color of the active section and its childs */
--MENU-SECTIONS-BG-color:#312525; /* Background color of other sections */
--MENU-SECTIONS-LINK-color: #ccc; /* Color of links in menu */
--MENU-SECTIONS-LINK-HOVER-color: #e6e6e6; /* Color of links in menu, when hovered */
--MENU-SECTION-ACTIVE-CATEGORY-color: #777; /* Color of active category text */
--MENU-SECTION-ACTIVE-CATEGORY-BG-color: #fff; /* Color of background for the active category (only) */
--MENU-VISITED-color: #ff3333; /* Color of 'page visited' icons in menu */
--MENU-SECTION-HR-color: #2b2020; /* Color of <hr> separator in menu */
}
body {
color: var(--MAIN-TEXT-color) !important;
}
textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus {
border-color: none;
box-shadow: none;
}
h2, h3, h4, h5 {
color: var(--MAIN-TITLES-TEXT-color) !important;
}
a {
color: var(--MAIN-LINK-color);
}
.anchor {
color: var(--MAIN-ANCHOR-color);
}
a:hover {
color: var(--MAIN-LINK-HOVER-color);
}
#sidebar ul li.visited > a .read-icon {
color: var(--MENU-VISITED-color);
}
#body a.highlight:after {
display: block;
content: "";
height: 1px;
width: 0%;
-webkit-transition: width 0.5s ease;
-moz-transition: width 0.5s ease;
-ms-transition: width 0.5s ease;
transition: width 0.5s ease;
background-color: var(--MAIN-HOVER-color);
}
#sidebar {
background-color: var(--MENU-SECTIONS-BG-color);
}
#sidebar #header-wrapper {
background: var(--MENU-HEADER-BG-color);
color: var(--MENU-SEARCH-BOX-color);
border-color: var(--MENU-HEADER-BORDER-color);
}
#sidebar .searchbox {
border-color: var(--MENU-SEARCH-BOX-color);
background: var(--MENU-SEARCH-BG-color);
}
#sidebar ul.topics > li.parent, #sidebar ul.topics > li.active {
background: var(--MENU-SECTIONS-ACTIVE-BG-color);
}
#sidebar .searchbox * {
color: var(--MENU-SEARCH-BOX-ICONS-color);
}
#sidebar a {
color: var(--MENU-SECTIONS-LINK-color);
}
#sidebar a:hover {
color: var(--MENU-SECTIONS-LINK-HOVER-color);
}
#sidebar ul li.active > a {
background: var(--MENU-SECTION-ACTIVE-CATEGORY-BG-color);
color: var(--MENU-SECTION-ACTIVE-CATEGORY-color) !important;
}
#sidebar hr {
border-color: var(--MENU-SECTION-HR-color);
}

View File

@@ -59,6 +59,7 @@ a:hover {
}
pre {
position: relative;
color: #ffffff;
}
.bg {
background: #fff;
@@ -529,6 +530,94 @@ div.notices.tip p {
div.notices.tip p:first-child:after {
content: 'Tip';
}
/* attachments shortcode */
section.attachments {
margin: 2rem 0;
position: relative;
}
section.attachments label {
font-weight: 400;
padding-left: 0.5em;
padding-top: 0.2em;
padding-bottom: 0.2em;
margin: 0;
}
section.attachments .attachments-files {
padding: 15px;
display: block;
font-size: 1rem;
margin-top: 0rem;
margin-bottom: 0rem;
color: #666;
}
section.attachments.orange label {
color: #fff;
background: #F0B37E;
}
section.attachments.orange .attachments-files {
background: #FFF2DB;
}
section.attachments.green label {
color: #fff;
background: rgba(92, 184, 92, 0.8);
}
section.attachments.green .attachments-files {
background: #E6F9E6;
}
section.attachments.blue label {
color: #fff;
background: #6AB0DE;
}
section.attachments.blue .attachments-files {
background: #E7F2FA;
}
section.attachments.grey label {
color: #fff;
background: #505d65;
}
section.attachments.grey .attachments-files {
background: #f4f4f4;
}
/* Children shortcode */
/* Children shortcode */
.children p {
font-size: small;
margin-top: 0px;
padding-top: 0px;
margin-bottom: 0px;
padding-bottom: 0px;
}
.children-li p {
font-size: small;
font-style: italic;
}
.children-h2 p, .children-h3 p {
font-size: small;
margin-top: 0px;
padding-top: 0px;
margin-bottom: 0px;
padding-bottom: 0px;
}
.children h3,.children h2 {
margin-bottom: 0px;
margin-top: 5px;
}
code, kbd, pre, samp {
font-family: "Consolas", menlo, monospace;
font-size: 92%;
@@ -812,6 +901,9 @@ td {
overflow: auto;
position: relative;
}
.hljs::selection, .hljs span::selection {
background: #b7b7b7;
}
.lightbox-active #body {
overflow: visible;
}
@@ -999,6 +1091,18 @@ pre .copy-to-clipboard:hover {
#sidebar ul.topics > li > a .read-icon {
margin-top: 9px;
}
#sidebar ul {
list-style: none;
padding: 0;
margin: 0;
}
#sidebar #shortcuts li {
padding: 2px 0;
list-style: none;
}
#sidebar ul li .read-icon {
display: none;
float: right;
@@ -1012,6 +1116,13 @@ pre .copy-to-clipboard:hover {
display: inline;
}
#sidebar #shortcuts h3 {
font-family: "Novacento Sans Wide", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif;
color: white ;
margin-top:1rem;
padding-left: 1rem;
}
#searchResults {
text-align: left;
}

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 357 KiB

After

Width:  |  Height:  |  Size: 434 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,212 +1,278 @@
<!DOCTYPE html>
<html lang="en" class="js csstransforms3d">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta name="generator" content="Hugo 0.20.7" />
<meta name="generator" content="Hugo 0.29" />
<meta name="description" content="Documentation for the Lettre mailer in Rust">
<meta name="author" content="Alexis Mousset">
<link rel="shortcut icon" href="https://lettre.github.io/lettre//images/favicon.png" type="image/x-icon" />
<link rel="shortcut icon" href="https://lettre.github.io/lettre/images/favicon.png" type="image/x-icon" />
<title>Getting started :: Lettre site</title>
<title>Getting started</title>
<link href="https://lettre.github.io/lettre//css/nucleus.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/font-awesome.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/hybrid.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/featherlight.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/perfect-scrollbar.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/horsey.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/theme.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/hugo-theme.css" rel="stylesheet">
<script src="https://lettre.github.io/lettre//js/jquery-2.x.min.js"></script>
<style type="text/css">:root #header + #content > #left > #rlblock_left
{display:none !important;}</style>
<link href="/lettre/css/nucleus.css?1508105428" rel="stylesheet">
<link href="/lettre/css/font-awesome.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/hybrid.css?1508105428" rel="stylesheet">
<link href="/lettre/css/featherlight.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/perfect-scrollbar.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/auto-complete.css?1508105428" rel="stylesheet">
<link href="/lettre/css/theme.css?1508105428" rel="stylesheet">
<link href="/lettre/css/hugo-theme.css?1508105428" rel="stylesheet">
<script src="/lettre/js/jquery-2.x.min.js?1508105428"></script>
<style type="text/css">
:root #header + #content > #left > #rlblock_left{
display:none !important;
}
</style>
</head>
<body class="" data-url="/lettre/getting-started/">
<nav id="sidebar">
<nav id="sidebar" class="">
<div id="header-wrapper">
<div id="header">
<a href="https://lettre.github.io/lettre//getting-started/intro/"><img src="https://lettre.github.io/lettre//images/logo50.png" /></a>
<a href="https://lettre.github.io/lettre/getting-started/intro/"><img src="https://lettre.github.io/lettre/images/logo50.png" /></a>
</div>
<div class="searchbox">
<label for="search-by"><i class="fa fa-search"></i></label>
<input data-search-input id="search-by" type="text" placeholder="Search">
<input data-search-input id="search-by" type="text" placeholder="Search...">
<span data-search-clear=""><i class="fa fa-close"></i></span>
</div>
<script type="text/javascript" src="https://lettre.github.io/lettre//js/lunr.min.js"></script>
<script type="text/javascript" src="https://lettre.github.io/lettre//js/horsey.js"></script>
<script type="text/javascript" src="/lettre/js/lunr.min.js?1508105428"></script>
<script type="text/javascript" src="/lettre/js/auto-complete.js?1508105428"></script>
<script type="text/javascript">
var baseurl = "https:\/\/lettre.github.io\/lettre\/";
var baseurl = "https:\/\/lettre.github.io\/lettre";
</script>
<script type="text/javascript" src="https://lettre.github.io/lettre//js/search.js"></script>
<script type="text/javascript" src="/lettre/js/search.js?1508105428"></script>
</div>
</div>
<div class="highlightable">
<div class="highlightable">
<ul class="topics">
<li class="dd-item active parent" data-nav-id="/lettre/getting-started/">
<a href="/lettre/getting-started/">
<span>
<b>1. </b>
Getting started
</span>
</a>
<li data-nav-id="/lettre/getting-started/" title="Getting started" class="dd-item
parent
active
">
<a href="/lettre/getting-started/">
Getting started
</a>
<ul>
<li class="dd-item " data-nav-id="/lettre/getting-started/intro/">
<a href="/lettre/getting-started/intro/">
<span>Introduction </i></span>
</a>
</li>
</ul>
</li>
<li class="dd-item " data-nav-id="/lettre/creating-messages/">
<a href="/lettre/creating-messages/">
<span>
<b>2. </b>
Creating messages
</span>
<li data-nav-id="/lettre/getting-started/intro/" title="Introduction" class="dd-item ">
<a href="/lettre/getting-started/intro/">
Introduction
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/">
<a href="/lettre/sending-messages/">
<span>
<b>3. </b>
Sending messages
</span>
</a>
<ul>
<li class="dd-item " data-nav-id="/lettre/sending-messages/intro/">
<a href="/lettre/sending-messages/intro/">
<span>Introduction </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/smtp/">
<a href="/lettre/sending-messages/smtp/">
<span>SMTP transport </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/sendmail/">
<a href="/lettre/sending-messages/sendmail/">
<span>Sendmail transport </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/file/">
<a href="/lettre/sending-messages/file/">
<span>File transport </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/stub/">
<a href="/lettre/sending-messages/stub/">
<span>Stub transport </i></span>
</a>
</li>
</ul>
</li>
</ul>
<hr>
</li>
</ul>
</li>
<li data-nav-id="/lettre/creating-messages/" title="Creating messages" class="dd-item
">
<a href="/lettre/creating-messages/">
Creating messages
</a>
</li>
<li data-nav-id="/lettre/sending-messages/" title="Sending messages" class="dd-item
">
<a href="/lettre/sending-messages/">
Sending messages
</a>
<ul>
<li data-nav-id="/lettre/sending-messages/intro/" title="Introduction" class="dd-item ">
<a href="/lettre/sending-messages/intro/">
Introduction
</a>
</li>
<li data-nav-id="/lettre/sending-messages/smtp/" title="SMTP transport" class="dd-item ">
<a href="/lettre/sending-messages/smtp/">
SMTP transport
</a>
</li>
<li data-nav-id="/lettre/sending-messages/sendmail/" title="Sendmail transport" class="dd-item ">
<a href="/lettre/sending-messages/sendmail/">
Sendmail transport
</a>
</li>
<li data-nav-id="/lettre/sending-messages/file/" title="File transport" class="dd-item ">
<a href="/lettre/sending-messages/file/">
File transport
</a>
</li>
<li data-nav-id="/lettre/sending-messages/stub/" title="Stub transport" class="dd-item ">
<a href="/lettre/sending-messages/stub/">
Stub transport
</a>
</li>
</ul>
</li>
</ul>
<section id="footer">
<p>Built with <a href="https://github.com/matcornic/hugo-theme-learn"><i class="fa fa-heart"></i></a> from <a href="http://getgrav.org">Grav</a> and <a href="http://gohugo.io/">Hugo</a></p>
@@ -214,38 +280,83 @@
</div>
</nav>
<section id="body">
<div id="overlay"></div>
<div class="padding highlightable">
<div id="top-bar">
<div class="padding highlightable sticky-parent">
<div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle="">
<i class="fa fa-bars"></i>
</a>
<div class="sticky-spacer">
<div id="top-bar">
<div id="top-github-link">
<a class="github-link" href="https://github.com/lettre/lettre/edit/master/website/content/getting-started/_index.md" target="blank">
<i class="fa fa-code-fork"></i>
Edit this page
</a>
</div>
<div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle="">
<i class="fa fa-bars"></i>
</a>
</span>
<span id="toc-menu"><i class="fa fa-list-alt"></i></span>
<span class="links">
<a href='/lettre/'>Lettre site</a> > Getting started
</span>
</div>
<span itemprop="title"> Getting started</span>
</div>
<div class="progress">
<div class="wrapper">
<nav id="TableOfContents">
<ul>
<li>
<ul>
<li>
<ul>
<li><a href="#getting-started">Getting started</a></li>
</ul></li>
</ul></li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<div id="chapter">
<div id="body-inner">
<div id="body-inner">
<h1>Getting started</h1>
@@ -254,110 +365,219 @@
<p>This section explains how to manipulate emails you have created.</p>
</div>
</div>
</div>
<footer class=" footline" >
</footer>
</div>
</div>
<div id="navigation">
<a class="nav nav-next" href="/lettre/getting-started/intro/" style="margin-right: 0px;"><i class="fa fa-chevron-right"></i></a>
<a class="nav nav-prev" href="/lettre/" title="Lettre site"> <i class="fa fa-chevron-left"></i></a>
<a class="nav nav-next" href="/lettre/getting-started/intro/" title="Introduction" style="margin-right: 0px;"><i class="fa fa-chevron-right"></i></a>
</div>
</section>
<div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
<div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
</div>
<script src="https://lettre.github.io/lettre//js/clipboard.min.js"></script>
<script src="https://lettre.github.io/lettre//js/perfect-scrollbar.min.js"></script>
<script src="https://lettre.github.io/lettre//js/perfect-scrollbar.jquery.min.js"></script>
<script src="https://lettre.github.io/lettre//js/jquery.sticky-kit.min.js"></script>
<script src="https://lettre.github.io/lettre//js/featherlight.min.js"></script>
<script src="https://lettre.github.io/lettre//js/html5shiv-printshiv.min.js"></script>
<script src="https://lettre.github.io/lettre//js/highlight.pack.js"></script>
<script src="/lettre/js/clipboard.min.js?1508105428"></script>
<script src="/lettre/js/perfect-scrollbar.min.js?1508105428"></script>
<script src="/lettre/js/perfect-scrollbar.jquery.min.js?1508105428"></script>
<script src="/lettre/js/jquery.sticky-kit.min.js?1508105428"></script>
<script src="/lettre/js/featherlight.min.js?1508105428"></script>
<script src="/lettre/js/html5shiv-printshiv.min.js?1508105428"></script>
<script src="/lettre/js/highlight.pack.js?1508105428"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="https://lettre.github.io/lettre//js/modernizr.custom.71422.js"></script>
<script src="https://lettre.github.io/lettre//js/learn.js"></script>
<script src="https://lettre.github.io/lettre//js/hugo-learn.js"></script>
<script src="/lettre/js/modernizr.custom.71422.js?1508105428"></script>
<script src="/lettre/js/learn.js?1508105428"></script>
<script src="/lettre/js/hugo-learn.js?1508105428"></script>
<link href="/lettre/mermaid/mermaid.css?1508105428" type="text/css" rel="stylesheet" />
<script src="/lettre/mermaid/mermaid.js?1508105428"></script>
<script>
mermaid.initialize({ startOnLoad: true });
</script>
</body>
</html>

View File

@@ -3,209 +3,276 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta name="generator" content="Hugo 0.20.7" />
<meta name="generator" content="Hugo 0.29" />
<meta name="description" content="Documentation for the Lettre mailer in Rust">
<meta name="author" content="Alexis Mousset">
<link rel="shortcut icon" href="https://lettre.github.io/lettre//images/favicon.png" type="image/x-icon" />
<link rel="shortcut icon" href="https://lettre.github.io/lettre/images/favicon.png" type="image/x-icon" />
<title>Introduction :: Lettre site</title>
<title>Introduction</title>
<link href="https://lettre.github.io/lettre//css/nucleus.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/font-awesome.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/hybrid.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/featherlight.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/perfect-scrollbar.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/horsey.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/theme.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/hugo-theme.css" rel="stylesheet">
<script src="https://lettre.github.io/lettre//js/jquery-2.x.min.js"></script>
<style type="text/css">:root #header + #content > #left > #rlblock_left
{display:none !important;}</style>
<link href="/lettre/css/nucleus.css?1508105428" rel="stylesheet">
<link href="/lettre/css/font-awesome.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/hybrid.css?1508105428" rel="stylesheet">
<link href="/lettre/css/featherlight.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/perfect-scrollbar.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/auto-complete.css?1508105428" rel="stylesheet">
<link href="/lettre/css/theme.css?1508105428" rel="stylesheet">
<link href="/lettre/css/hugo-theme.css?1508105428" rel="stylesheet">
<script src="/lettre/js/jquery-2.x.min.js?1508105428"></script>
<style type="text/css">
:root #header + #content > #left > #rlblock_left{
display:none !important;
}
</style>
</head>
<body class="" data-url="/lettre/getting-started/intro/">
<nav id="sidebar">
<nav id="sidebar" class="">
<div id="header-wrapper">
<div id="header">
<a href="https://lettre.github.io/lettre//getting-started/intro/"><img src="https://lettre.github.io/lettre//images/logo50.png" /></a>
<a href="https://lettre.github.io/lettre/getting-started/intro/"><img src="https://lettre.github.io/lettre/images/logo50.png" /></a>
</div>
<div class="searchbox">
<label for="search-by"><i class="fa fa-search"></i></label>
<input data-search-input id="search-by" type="text" placeholder="Search">
<input data-search-input id="search-by" type="text" placeholder="Search...">
<span data-search-clear=""><i class="fa fa-close"></i></span>
</div>
<script type="text/javascript" src="https://lettre.github.io/lettre//js/lunr.min.js"></script>
<script type="text/javascript" src="https://lettre.github.io/lettre//js/horsey.js"></script>
<script type="text/javascript" src="/lettre/js/lunr.min.js?1508105428"></script>
<script type="text/javascript" src="/lettre/js/auto-complete.js?1508105428"></script>
<script type="text/javascript">
var baseurl = "https:\/\/lettre.github.io\/lettre\/";
var baseurl = "https:\/\/lettre.github.io\/lettre";
</script>
<script type="text/javascript" src="https://lettre.github.io/lettre//js/search.js"></script>
<script type="text/javascript" src="/lettre/js/search.js?1508105428"></script>
</div>
</div>
<div class="highlightable">
<div class="highlightable">
<ul class="topics">
<li class="dd-item parent" data-nav-id="/lettre/getting-started/">
<a href="/lettre/getting-started/">
<span>
<b>1. </b>
Getting started
</span>
</a>
<li data-nav-id="/lettre/getting-started/" title="Getting started" class="dd-item
parent
">
<a href="/lettre/getting-started/">
Getting started
</a>
<ul>
<li class="dd-item active" data-nav-id="/lettre/getting-started/intro/">
<a href="/lettre/getting-started/intro/">
<span>Introduction </i></span>
</a>
</li>
</ul>
</li>
<li class="dd-item " data-nav-id="/lettre/creating-messages/">
<a href="/lettre/creating-messages/">
<span>
<b>2. </b>
Creating messages
</span>
<li data-nav-id="/lettre/getting-started/intro/" title="Introduction" class="dd-item active">
<a href="/lettre/getting-started/intro/">
Introduction
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/">
<a href="/lettre/sending-messages/">
<span>
<b>3. </b>
Sending messages
</span>
</a>
<ul>
<li class="dd-item " data-nav-id="/lettre/sending-messages/intro/">
<a href="/lettre/sending-messages/intro/">
<span>Introduction </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/smtp/">
<a href="/lettre/sending-messages/smtp/">
<span>SMTP transport </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/sendmail/">
<a href="/lettre/sending-messages/sendmail/">
<span>Sendmail transport </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/file/">
<a href="/lettre/sending-messages/file/">
<span>File transport </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/stub/">
<a href="/lettre/sending-messages/stub/">
<span>Stub transport </i></span>
</a>
</li>
</ul>
</li>
</ul>
<hr>
</li>
</ul>
</li>
<li data-nav-id="/lettre/creating-messages/" title="Creating messages" class="dd-item
">
<a href="/lettre/creating-messages/">
Creating messages
</a>
</li>
<li data-nav-id="/lettre/sending-messages/" title="Sending messages" class="dd-item
">
<a href="/lettre/sending-messages/">
Sending messages
</a>
<ul>
<li data-nav-id="/lettre/sending-messages/intro/" title="Introduction" class="dd-item ">
<a href="/lettre/sending-messages/intro/">
Introduction
</a>
</li>
<li data-nav-id="/lettre/sending-messages/smtp/" title="SMTP transport" class="dd-item ">
<a href="/lettre/sending-messages/smtp/">
SMTP transport
</a>
</li>
<li data-nav-id="/lettre/sending-messages/sendmail/" title="Sendmail transport" class="dd-item ">
<a href="/lettre/sending-messages/sendmail/">
Sendmail transport
</a>
</li>
<li data-nav-id="/lettre/sending-messages/file/" title="File transport" class="dd-item ">
<a href="/lettre/sending-messages/file/">
File transport
</a>
</li>
<li data-nav-id="/lettre/sending-messages/stub/" title="Stub transport" class="dd-item ">
<a href="/lettre/sending-messages/stub/">
Stub transport
</a>
</li>
</ul>
</li>
</ul>
<section id="footer">
<p>Built with <a href="https://github.com/matcornic/hugo-theme-learn"><i class="fa fa-heart"></i></a> from <a href="http://getgrav.org">Grav</a> and <a href="http://gohugo.io/">Hugo</a></p>
@@ -213,60 +280,79 @@
</div>
</nav>
<section id="body">
<div id="overlay"></div>
<div class="padding highlightable">
<div id="top-bar">
<div class="padding highlightable sticky-parent">
<div class="sticky-spacer">
<div id="top-bar">
<div id="top-github-link">
<a class="github-link" href="https://github.com/lettre/lettre/edit/master/website/content/getting-started/intro.md" target="blank">
<i class="fa fa-code-fork"></i>
Edit this page
</a>
</div>
<div id="top-github-link">
<a class="github-link" href="https://github.com/lettre/lettre/edit/master/website/content/getting-started/intro.md" target="blank">
<i class="fa fa-code-fork"></i>
Edit this page
</a>
</div>
<div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle="">
<i class="fa fa-bars"></i>
</a>
<div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle="">
<i class="fa fa-bars"></i>
</a>
</span>
<span id="toc-menu"><i class="fa fa-list-alt"></i></span>
<span class="links">
<a href='/lettre/'>Lettre site</a> > <a href='/lettre/getting-started/'>Getting started</a> > Introduction
</span>
</div>
<span id="toc-menu"><a href=""><i class="fa fa-list-alt"></i></a></span>
<a href="/lettre/getting-started/" itemprop="url"><span itemprop="title">Getting started</span></a> <i class="fa fa-angle-right"></i>
<span itemprop="title"> Introduction</span>
</div>
<div class="progress">
<div class="progress">
<div class="wrapper">
</div>
</div>
</div>
</div>
<div id="body-inner">
<h1>Introduction</h1>
<div id="body-inner">
<h1>Introduction</h1>
<div class="notices note" ><p>This documentation is written for lettre 0.7.
Please use <a href="https://docs.rs/lettre/0.6.2/lettre/">https://docs.rs/lettre/0.6.2/lettre/</a> for lettre 0.6.</p>
@@ -283,107 +369,220 @@ Please use <a href="https://docs.rs/lettre/0.6.2/lettre/">https://docs.rs/lettre
</ul>
</div>
</div>
<footer class=" footline" >
</footer>
</div>
</div>
<div id="navigation">
<a class="nav nav-prev" href="/lettre/getting-started/"> <i class="fa fa-chevron-left"></i></a>
<a class="nav nav-next" href="/lettre/creating-messages/" style="margin-right: 0px;"><i class="fa fa-chevron-right"></i></a>
<a class="nav nav-prev" href="/lettre/getting-started/" title="Getting started"> <i class="fa fa-chevron-left"></i></a>
<a class="nav nav-next" href="/lettre/creating-messages/" title="Creating messages" style="margin-right: 0px;"><i class="fa fa-chevron-right"></i></a>
</div>
</section>
<div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
<div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
</div>
<script src="https://lettre.github.io/lettre//js/clipboard.min.js"></script>
<script src="https://lettre.github.io/lettre//js/perfect-scrollbar.min.js"></script>
<script src="https://lettre.github.io/lettre//js/perfect-scrollbar.jquery.min.js"></script>
<script src="https://lettre.github.io/lettre//js/jquery.sticky-kit.min.js"></script>
<script src="https://lettre.github.io/lettre//js/featherlight.min.js"></script>
<script src="https://lettre.github.io/lettre//js/html5shiv-printshiv.min.js"></script>
<script src="https://lettre.github.io/lettre//js/highlight.pack.js"></script>
<script src="/lettre/js/clipboard.min.js?1508105428"></script>
<script src="/lettre/js/perfect-scrollbar.min.js?1508105428"></script>
<script src="/lettre/js/perfect-scrollbar.jquery.min.js?1508105428"></script>
<script src="/lettre/js/jquery.sticky-kit.min.js?1508105428"></script>
<script src="/lettre/js/featherlight.min.js?1508105428"></script>
<script src="/lettre/js/html5shiv-printshiv.min.js?1508105428"></script>
<script src="/lettre/js/highlight.pack.js?1508105428"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="https://lettre.github.io/lettre//js/modernizr.custom.71422.js"></script>
<script src="https://lettre.github.io/lettre//js/learn.js"></script>
<script src="https://lettre.github.io/lettre//js/hugo-learn.js"></script>
<script src="/lettre/js/modernizr.custom.71422.js?1508105428"></script>
<script src="/lettre/js/learn.js?1508105428"></script>
<script src="/lettre/js/hugo-learn.js?1508105428"></script>
<link href="/lettre/mermaid/mermaid.css?1508105428" type="text/css" rel="stylesheet" />
<script src="/lettre/mermaid/mermaid.js?1508105428"></script>
<script>
mermaid.initialize({ startOnLoad: true });
</script>
</body>

View File

@@ -1 +1 @@
<meta http-equiv="refresh" content="0; url=https://lettre.github.io/lettre//getting-started/intro/"/>
<meta http-equiv="refresh" content="0; url=https://lettre.github.io/lettre/getting-started/intro/"/>

View File

@@ -52,7 +52,7 @@ The relay server can be the local email server, a specific host or a third-party
<guid>https://lettre.github.io/lettre/sending-messages/sendmail/</guid>
<description>The sendmail transport sends the email using the local sendmail command.
use lettre::sendmail::SendmailTransport; use lettre::{SimpleSendableEmail, EmailTransport, EmailAddress}; let email = SimpleSendableEmail::new( EmailAddress::new(&#34;user@localhost&#34;.to_string()), vec![EmailAddress::new(&#34;root@localhost&#34;.to_string())], &#34;message_id&#34;.to_string(), &#34;Hello world&#34;.to_string(), ); let mut sender = SendmailTransport::new(); let result = sender.send(&amp;email); assert!(result.is_ok()); </description>
uselettre::sendmail::SendmailTransport;uselettre::{SimpleSendableEmail,EmailTransport,EmailAddress};letemail=SimpleSendableEmail::new(EmailAddress::new(&amp;#34;user@localhost&amp;#34;.to_string()),vec![EmailAddress::new(&amp;#34;root@localhost&amp;#34;.to_string())],&amp;#34;message_id&amp;#34;.to_string(),&amp;#34;Hello world&amp;#34;.to_string(),);letmutsender=SendmailTransport::new();letresult=sender.send(&amp;amp;email);assert!(result.is_ok()); </description>
</item>
<item>
@@ -62,7 +62,8 @@ use lettre::sendmail::SendmailTransport; use lettre::{SimpleSendableEmail, Email
<guid>https://lettre.github.io/lettre/sending-messages/file/</guid>
<description>The file transport writes the emails to the given directory. The name of the file will be message_id.txt. It can be useful for testing purposes, or if you want to keep track of sent messages.
use std::env::temp_dir; use lettre::file::FileEmailTransport; use lettre::{SimpleSendableEmail, EmailTransport, EmailAddress}; // Write to the local temp directory let mut sender = FileEmailTransport::new(temp_dir()); let email = SimpleSendableEmail::new( EmailAddress::new(&#34;user@localhost&#34;.to_string()), vec![EmailAddress::new(&#34;root@localhost&#34;.to_string())], &#34;message_id&#34;.to_string(), &#34;Hello world&#34;.to_string(), ); let result = sender.send(&amp;email); assert!(result.is_ok()); Example result in /tmp/b7c211bc-9811-45ce-8cd9-68eab575d695.</description>
usestd::env::temp_dir;uselettre::file::FileEmailTransport;uselettre::{SimpleSendableEmail,EmailTransport,EmailAddress};// Write to the local temp directory letmutsender=FileEmailTransport::new(temp_dir());letemail=SimpleSendableEmail::new(EmailAddress::new(&amp;#34;user@localhost&amp;#34;.to_string()),vec![EmailAddress::new(&amp;#34;root@localhost&amp;#34;.to_string())],&amp;#34;message_id&amp;#34;.to_string(),&amp;#34;Hello world&amp;#34;.to_string(),);letresult=sender.send(&amp;amp;email);assert!(result.is_ok()); Example result in /tmp/b7c211bc-9811-45ce-8cd9-68eab575d695.txt:
b7c211bc-9811-45ce-8cd9-68eab575d695: from=&amp;lt;user@localhost&amp;gt; to=&amp;lt;root@localhost&amp;gt; To: &amp;lt;root@localhost&amp;gt; From: &amp;lt;user@localhost&amp;gt; Subject: Hello Date: Sat, 31 Oct 2015 13:42:19 +0100 Message-ID: &amp;lt;b7c211bc-9811-45ce-8cd9-68eab575d695.lettre@localhost&amp;gt; Hello World! </description>
</item>
<item>
@@ -72,8 +73,8 @@ use std::env::temp_dir; use lettre::file::FileEmailTransport; use lettre::{Simpl
<guid>https://lettre.github.io/lettre/sending-messages/stub/</guid>
<description>The stub transport only logs message envelope and drops the content. It can be useful for testing purposes.
use lettre::stub::StubEmailTransport; use lettre::{SimpleSendableEmail, EmailTransport, EmailAddress}; let email = SimpleSendableEmail::new( EmailAddress::new(&#34;user@localhost&#34;.to_string()), vec![EmailAddress::new(&#34;root@localhost&#34;.to_string())], &#34;message_id&#34;.to_string(), &#34;Hello world&#34;.to_string(), ); let mut sender = StubEmailTransport::new_positive(); let result = sender.send(&amp;email); assert!(result.is_ok()); Will log (when using a logger like env_logger):
b7c211bc-9811-45ce-8cd9-68eab575d695: from= to= </description>
uselettre::stub::StubEmailTransport;uselettre::{SimpleSendableEmail,EmailTransport,EmailAddress};letemail=SimpleSendableEmail::new(EmailAddress::new(&amp;#34;user@localhost&amp;#34;.to_string()),vec![EmailAddress::new(&amp;#34;root@localhost&amp;#34;.to_string())],&amp;#34;message_id&amp;#34;.to_string(),&amp;#34;Hello world&amp;#34;.to_string(),);letmutsender=StubEmailTransport::new_positive();letresult=sender.send(&amp;amp;email);assert!(result.is_ok()); Will log (when using a logger like env_logger):
b7c211bc-9811-45ce-8cd9-68eab575d695: from=&amp;lt;user@localhost&amp;gt; to=&amp;lt;root@localhost&amp;gt; </description>
</item>
</channel>

223
docs/js/auto-complete.js Normal file
View File

@@ -0,0 +1,223 @@
/*
JavaScript autoComplete v1.0.4
Copyright (c) 2014 Simon Steinberger / Pixabay
GitHub: https://github.com/Pixabay/JavaScript-autoComplete
License: http://www.opensource.org/licenses/mit-license.php
*/
var autoComplete = (function(){
// "use strict";
function autoComplete(options){
if (!document.querySelector) return;
// helpers
function hasClass(el, className){ return el.classList ? el.classList.contains(className) : new RegExp('\\b'+ className+'\\b').test(el.className); }
function addEvent(el, type, handler){
if (el.attachEvent) el.attachEvent('on'+type, handler); else el.addEventListener(type, handler);
}
function removeEvent(el, type, handler){
// if (el.removeEventListener) not working in IE11
if (el.detachEvent) el.detachEvent('on'+type, handler); else el.removeEventListener(type, handler);
}
function live(elClass, event, cb, context){
addEvent(context || document, event, function(e){
var found, el = e.target || e.srcElement;
while (el && !(found = hasClass(el, elClass))) el = el.parentElement;
if (found) cb.call(el, e);
});
}
var o = {
selector: 0,
source: 0,
minChars: 3,
delay: 150,
offsetLeft: 0,
offsetTop: 1,
cache: 1,
menuClass: '',
renderItem: function (item, search){
// escape special characters
search = search.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
var re = new RegExp("(" + search.split(' ').join('|') + ")", "gi");
return '<div class="autocomplete-suggestion" data-val="' + item + '">' + item.replace(re, "<b>$1</b>") + '</div>';
},
onSelect: function(e, term, item){}
};
for (var k in options) { if (options.hasOwnProperty(k)) o[k] = options[k]; }
// init
var elems = typeof o.selector == 'object' ? [o.selector] : document.querySelectorAll(o.selector);
for (var i=0; i<elems.length; i++) {
var that = elems[i];
// create suggestions container "sc"
that.sc = document.createElement('div');
that.sc.className = 'autocomplete-suggestions '+o.menuClass;
that.autocompleteAttr = that.getAttribute('autocomplete');
that.setAttribute('autocomplete', 'off');
that.cache = {};
that.last_val = '';
that.updateSC = function(resize, next){
var rect = that.getBoundingClientRect();
that.sc.style.left = Math.round(rect.left + (window.pageXOffset || document.documentElement.scrollLeft) + o.offsetLeft) + 'px';
that.sc.style.top = Math.round(rect.bottom + (window.pageYOffset || document.documentElement.scrollTop) + o.offsetTop) + 'px';
that.sc.style.width = Math.round(rect.right - rect.left) + 'px'; // outerWidth
if (!resize) {
that.sc.style.display = 'block';
if (!that.sc.maxHeight) { that.sc.maxHeight = parseInt((window.getComputedStyle ? getComputedStyle(that.sc, null) : that.sc.currentStyle).maxHeight); }
if (!that.sc.suggestionHeight) that.sc.suggestionHeight = that.sc.querySelector('.autocomplete-suggestion').offsetHeight;
if (that.sc.suggestionHeight)
if (!next) that.sc.scrollTop = 0;
else {
var scrTop = that.sc.scrollTop, selTop = next.getBoundingClientRect().top - that.sc.getBoundingClientRect().top;
if (selTop + that.sc.suggestionHeight - that.sc.maxHeight > 0)
that.sc.scrollTop = selTop + that.sc.suggestionHeight + scrTop - that.sc.maxHeight;
else if (selTop < 0)
that.sc.scrollTop = selTop + scrTop;
}
}
}
addEvent(window, 'resize', that.updateSC);
document.body.appendChild(that.sc);
live('autocomplete-suggestion', 'mouseleave', function(e){
var sel = that.sc.querySelector('.autocomplete-suggestion.selected');
if (sel) setTimeout(function(){ sel.className = sel.className.replace('selected', ''); }, 20);
}, that.sc);
live('autocomplete-suggestion', 'mouseover', function(e){
var sel = that.sc.querySelector('.autocomplete-suggestion.selected');
if (sel) sel.className = sel.className.replace('selected', '');
this.className += ' selected';
}, that.sc);
live('autocomplete-suggestion', 'mousedown', function(e){
if (hasClass(this, 'autocomplete-suggestion')) { // else outside click
var v = this.getAttribute('data-val');
that.value = v;
o.onSelect(e, v, this);
that.sc.style.display = 'none';
}
}, that.sc);
that.blurHandler = function(){
try { var over_sb = document.querySelector('.autocomplete-suggestions:hover'); } catch(e){ var over_sb = 0; }
if (!over_sb) {
that.last_val = that.value;
that.sc.style.display = 'none';
setTimeout(function(){ that.sc.style.display = 'none'; }, 350); // hide suggestions on fast input
} else if (that !== document.activeElement) setTimeout(function(){ that.focus(); }, 20);
};
addEvent(that, 'blur', that.blurHandler);
var suggest = function(data){
var val = that.value;
that.cache[val] = data;
if (data.length && val.length >= o.minChars) {
var s = '';
for (var i=0;i<data.length;i++) s += o.renderItem(data[i], val);
that.sc.innerHTML = s;
that.updateSC(0);
}
else
that.sc.style.display = 'none';
}
that.keydownHandler = function(e){
var key = window.event ? e.keyCode : e.which;
// down (40), up (38)
if ((key == 40 || key == 38) && that.sc.innerHTML) {
var next, sel = that.sc.querySelector('.autocomplete-suggestion.selected');
if (!sel) {
next = (key == 40) ? that.sc.querySelector('.autocomplete-suggestion') : that.sc.childNodes[that.sc.childNodes.length - 1]; // first : last
next.className += ' selected';
console.log(next);
that.value = next.getAttribute('data-val');
} else {
next = (key == 40) ? sel.nextSibling : sel.previousSibling;
if (next) {
sel.className = sel.className.replace('selected', '');
next.className += ' selected';
that.value = next.getAttribute('data-val');
}
else { sel.className = sel.className.replace('selected', ''); that.value = that.last_val; next = 0; }
}
that.updateSC(0, next);
return false;
}
// esc
else if (key == 27) { that.value = that.last_val; that.sc.style.display = 'none'; }
// enter
else if (key == 13 || key == 9) {
var sel = that.sc.querySelector('.autocomplete-suggestion.selected');
if (sel && that.sc.style.display != 'none') { o.onSelect(e, sel.getAttribute('data-val'), sel); setTimeout(function(){ that.sc.style.display = 'none'; }, 20); }
}
};
addEvent(that, 'keydown', that.keydownHandler);
that.keyupHandler = function(e){
var key = window.event ? e.keyCode : e.which;
if (!key || (key < 35 || key > 40) && key != 13 && key != 27) {
var val = that.value;
if (val.length >= o.minChars) {
if (val != that.last_val) {
that.last_val = val;
clearTimeout(that.timer);
if (o.cache) {
if (val in that.cache) { suggest(that.cache[val]); return; }
// no requests if previous suggestions were empty
for (var i=1; i<val.length-o.minChars; i++) {
var part = val.slice(0, val.length-i);
if (part in that.cache && !that.cache[part].length) { suggest([]); return; }
}
}
that.timer = setTimeout(function(){ o.source(val, suggest) }, o.delay);
}
} else {
that.last_val = val;
that.sc.style.display = 'none';
}
}
};
addEvent(that, 'keyup', that.keyupHandler);
that.focusHandler = function(e){
that.last_val = '\n';
that.keyupHandler(e)
};
if (!o.minChars) addEvent(that, 'focus', that.focusHandler);
}
// public destroy method
this.destroy = function(){
for (var i=0; i<elems.length; i++) {
var that = elems[i];
removeEvent(window, 'resize', that.updateSC);
removeEvent(that, 'blur', that.blurHandler);
removeEvent(that, 'focus', that.focusHandler);
removeEvent(that, 'keydown', that.keydownHandler);
removeEvent(that, 'keyup', that.keyupHandler);
if (that.autocompleteAttr)
that.setAttribute('autocomplete', that.autocompleteAttr);
else
that.removeAttribute('autocomplete');
document.body.removeChild(that.sc);
that = null;
}
};
}
return autoComplete;
})();
(function(){
if (typeof define === 'function' && define.amd)
define('autoComplete', function () { return autoComplete; });
else if (typeof module !== 'undefined' && module.exports)
module.exports = autoComplete;
else
window.autoComplete = autoComplete;
})();

View File

@@ -17,7 +17,7 @@ var getUrlParameter = function getUrlParameter(sPageURL) {
};
// Execute actions on images generated from Markdown pages
var images = $("div#body-inner img");
var images = $("div#body-inner img").not(".inline");
// Wrap image inside a featherlight (to get a full size view in a popup)
images.wrap(function(){
var image =$(this);
@@ -56,7 +56,10 @@ images.each(function(index){
});
// Stick the top to the top of the screen when scrolling
$("#top-bar").stick_in_parent({spacer: false});
$("#top-bar").stick_in_parent( {
parent: ".sticky-parent",
spacer: ".sticky-spacer",
});
jQuery(document).ready(function() {

View File

@@ -83,9 +83,14 @@ $(window).resize(function() {
jQuery(document).ready(function() {
jQuery('#sidebar .category-icon').on('click', function() {
$( this ).toggleClass("fa-angle-down fa-angle-right") ;
$( this ).parent().parent().children('ul').toggle() ;
return false;
});
var sidebarStatus = searchStatus = 'open';
$('#sidebar .highlightable').perfectScrollbar();
// set the menu height
setMenuHeight();
jQuery('#overlay').on('click', function() {
@@ -139,7 +144,7 @@ jQuery(document).ready(function() {
$(".highlightable").unhighlight({ element: 'mark' }).highlight(value, { element: 'mark' });
if (ajax && ajax.abort) ajax.abort();
jQuery('[data-search-clear]').on('click', function() {
jQuery('[data-search-input]').val('').trigger('input');
sessionStorage.removeItem('search-input');
@@ -147,10 +152,25 @@ jQuery(document).ready(function() {
});
});
$.expr[":"].contains = $.expr.createPseudo(function(arg) {
return function( elem ) {
return $(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0;
};
});
if (sessionStorage.getItem('search-value')) {
jQuery(document.body).removeClass('searchbox-hidden');
jQuery('[data-search-input]').val(sessionStorage.getItem('search-value'));
jQuery('[data-search-input]').trigger('input');
var searchValue = sessionStorage.getItem('search-value')
$(document.body).removeClass('searchbox-hidden');
$('[data-search-input]').val(searchValue);
$('[data-search-input]').trigger('input');
var searchedElem = $('#body-inner').find(':contains(' + searchValue + ')').get(0);
if (searchedElem) {
searchedElem.scrollIntoView(true);
var scrolledY = window.scrollY;
if(scrolledY){
window.scroll(0, scrolledY - 125);
}
}
}
// clipboard
@@ -218,13 +238,108 @@ jQuery(document).ready(function() {
$('#top-bar a:not(:has(img)):not(.btn)').addClass('highlight');
$('#body-inner a:not(:has(img)):not(.btn)').addClass('highlight');
$('#toc-menu').hover(function() {
$('.progress').stop(true, false, true).fadeToggle(100);
});
var touchsupport = ('ontouchstart' in window) || (navigator.maxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0)
if (!touchsupport){ // browser doesn't support touch
$('#toc-menu').hover(function() {
$('.progress').stop(true, false, true).fadeToggle(100);
});
$('.progress').hover(function() {
$('.progress').stop(true, false, true).fadeToggle(100);
});
$('.progress').hover(function() {
$('.progress').stop(true, false, true).fadeToggle(100);
});
}
if (touchsupport){ // browser does support touch
$('#toc-menu').click(function() {
$('.progress').stop(true, false, true).fadeToggle(100);
});
$('.progress').click(function() {
$('.progress').stop(true, false, true).fadeToggle(100);
});
}
/**
* Fix anchor scrolling that hides behind top nav bar
* Courtesy of https://stackoverflow.com/a/13067009/28106
*
* We could use pure css for this if only heading anchors were
* involved, but this works for any anchor, including footnotes
**/
(function (document, history, location) {
var HISTORY_SUPPORT = !!(history && history.pushState);
var anchorScrolls = {
ANCHOR_REGEX: /^#[^ ]+$/,
OFFSET_HEIGHT_PX: 50,
/**
* Establish events, and fix initial scroll position if a hash is provided.
*/
init: function () {
this.scrollToCurrent();
$(window).on('hashchange', $.proxy(this, 'scrollToCurrent'));
$('body').on('click', 'a', $.proxy(this, 'delegateAnchors'));
},
/**
* Return the offset amount to deduct from the normal scroll position.
* Modify as appropriate to allow for dynamic calculations
*/
getFixedOffset: function () {
return this.OFFSET_HEIGHT_PX;
},
/**
* If the provided href is an anchor which resolves to an element on the
* page, scroll to it.
* @param {String} href
* @return {Boolean} - Was the href an anchor.
*/
scrollIfAnchor: function (href, pushToHistory) {
var match, anchorOffset;
if (!this.ANCHOR_REGEX.test(href)) {
return false;
}
match = document.getElementById(href.slice(1));
if (match) {
anchorOffset = $(match).offset().top - this.getFixedOffset();
$('html, body').animate({ scrollTop: anchorOffset });
// Add the state to history as-per normal anchor links
if (HISTORY_SUPPORT && pushToHistory) {
history.pushState({}, document.title, location.pathname + href);
}
}
return !!match;
},
/**
* Attempt to scroll to the current location's hash.
*/
scrollToCurrent: function (e) {
if (this.scrollIfAnchor(window.location.hash) && e) {
e.preventDefault();
}
},
/**
* If the click event's target was an anchor, fix the scroll position.
*/
delegateAnchors: function (e) {
var elem = e.target;
if (this.scrollIfAnchor(elem.getAttribute('href'), true)) {
e.preventDefault();
}
}
};
$(document).ready($.proxy(anchorScrolls, 'init'));
})(window.document, window.history, window.location);
});
jQuery(window).on('load', function() {

View File

@@ -1,11 +1,19 @@
var lunrIndex, pagesIndex;
function endsWith(str, suffix) {
return str.indexOf(suffix, str.length - suffix.length) !== -1;
}
// Initialize lunrjs using our generated index file
function initLunr() {
if (!endsWith(baseurl,"/")){
baseurl = baseurl+'/'
};
// First retrieve the index file
$.getJSON(baseurl + "/json/search.json")
$.getJSON(baseurl +"index.json")
.done(function(index) {
pagesIndex = index;
pagesIndex = index;
// Set up lunrjs by declaring the fields we use
// Also provide their boost level for the ranking
lunrIndex = new lunr.Index
@@ -50,36 +58,33 @@ function search(query) {
// Let's get started
initLunr();
$( document ).ready(function() {
var horseyList = horsey($("#search-by").get(0), {
suggestions: function (value, done) {
var query = $("#search-by").val();
var results = search(query);
done(results);
var searchList = new autoComplete({
/* selector for the search box element */
selector: $("#search-by").get(0),
/* source is the callback to perform the search */
source: function(term, response) {
response(search(term));
},
filter: function (q, suggestion) {
return true;
/* renderItem displays individual search results */
renderItem: function(item, term) {
var numContextWords = 2;
var text = item.content.match(
"(?:\\s?(?:[\\w]+)\\s?){0,"+numContextWords+"}" +
term+"(?:\\s?(?:[\\w]+)\\s?){0,"+numContextWords+"}");
item.context = text;
return '<div class="autocomplete-suggestion" ' +
'data-term="' + term + '" ' +
'data-title="' + item.title + '" ' +
'data-uri="'+ item.uri + '" ' +
'data-context="' + item.context + '">' +
'» ' + item.title +
'<div class="context">' +
(item.context || '') +'</div>' +
'</div>';
},
set: function (value) {
location.href=value.href;
},
render: function (li, suggestion) {
var uri = suggestion.uri.substring(1,suggestion.uri.length);
var indexOfIndex = uri.lastIndexOf("/index");
if (indexOfIndex == -1) {
indexOfIndex = uri.length;
}
var href = uri.substring(uri.indexOf("/"), indexOfIndex);
suggestion.href = baseurl + href;
var query = $("#search-by").val();
var numWords = 2;
var text = suggestion.content.match("(?:\\s?(?:[\\w]+)\\s?){0,"+numWords+"}"+query+"(?:\\s?(?:[\\w]+)\\s?){0,"+numWords+"}");
suggestion.context = text;
var image = '<div>' + '» ' + suggestion.title + '</div><div style="font-size:12px">' + (suggestion.context || '') +'</div>';
li.innerHTML = image;
},
limit: 10
/* onSelect callback fires when a search suggestion is chosen */
onSelect: function(e, term, item) {
location.href = item.getAttribute('data-uri');
}
});
horseyList.refreshPosition();
});

273
docs/mermaid/mermaid.css Normal file
View File

@@ -0,0 +1,273 @@
/* Flowchart variables */
/* Sequence Diagram variables */
/* Gantt chart variables */
.mermaid .label {
color: #333;
}
.node rect,
.node circle,
.node ellipse,
.node polygon {
fill: #ECECFF;
stroke: #CCCCFF;
stroke-width: 1px;
}
.edgePath .path {
stroke: #333333;
}
.edgeLabel {
background-color: #e8e8e8;
}
.cluster rect {
fill: #ffffde !important;
rx: 4 !important;
stroke: #aaaa33 !important;
stroke-width: 1px !important;
}
.cluster text {
fill: #333;
}
.actor {
stroke: #CCCCFF;
fill: #ECECFF;
}
text.actor {
fill: black;
stroke: none;
}
.actor-line {
stroke: grey;
}
.messageLine0 {
stroke-width: 1.5;
stroke-dasharray: "2 2";
marker-end: "url(#arrowhead)";
stroke: #333;
}
.messageLine1 {
stroke-width: 1.5;
stroke-dasharray: "2 2";
stroke: #333;
}
#arrowhead {
fill: #333;
}
#crosshead path {
fill: #333 !important;
stroke: #333 !important;
}
.messageText {
fill: #333;
stroke: none;
}
.labelBox {
stroke: #CCCCFF;
fill: #ECECFF;
}
.labelText {
fill: black;
stroke: none;
}
.loopText {
fill: black;
stroke: none;
}
.loopLine {
stroke-width: 2;
stroke-dasharray: "2 2";
marker-end: "url(#arrowhead)";
stroke: #CCCCFF;
}
.note {
stroke: #aaaa33;
fill: #fff5ad;
}
.noteText {
fill: black;
stroke: none;
font-family: 'trebuchet ms', verdana, arial;
font-size: 14px;
}
/** Section styling */
.section {
stroke: none;
opacity: 0.2;
}
.section0 {
fill: rgba(102, 102, 255, 0.49);
}
.section2 {
fill: #fff400;
}
.section1,
.section3 {
fill: white;
opacity: 0.2;
}
.sectionTitle0 {
fill: #333;
}
.sectionTitle1 {
fill: #333;
}
.sectionTitle2 {
fill: #333;
}
.sectionTitle3 {
fill: #333;
}
.sectionTitle {
text-anchor: start;
font-size: 11px;
text-height: 14px;
}
/* Grid and axis */
.grid .tick {
stroke: lightgrey;
opacity: 0.3;
shape-rendering: crispEdges;
}
.grid path {
stroke-width: 0;
}
/* Today line */
.today {
fill: none;
stroke: red;
stroke-width: 2px;
}
/* Task styling */
/* Default task */
.task {
stroke-width: 2;
}
.taskText {
text-anchor: middle;
font-size: 11px;
}
.taskTextOutsideRight {
fill: black;
text-anchor: start;
font-size: 11px;
}
.taskTextOutsideLeft {
fill: black;
text-anchor: end;
font-size: 11px;
}
/* Specific task settings for the sections*/
.taskText0,
.taskText1,
.taskText2,
.taskText3 {
fill: white;
}
.task0,
.task1,
.task2,
.task3 {
fill: #8a90dd;
stroke: #534fbc;
}
.taskTextOutside0,
.taskTextOutside2 {
fill: black;
}
.taskTextOutside1,
.taskTextOutside3 {
fill: black;
}
/* Active task */
.active0,
.active1,
.active2,
.active3 {
fill: #bfc7ff;
stroke: #534fbc;
}
.activeText0,
.activeText1,
.activeText2,
.activeText3 {
fill: black !important;
}
/* Completed task */
.done0,
.done1,
.done2,
.done3 {
stroke: grey;
fill: lightgrey;
stroke-width: 2;
}
.doneText0,
.doneText1,
.doneText2,
.doneText3 {
fill: black !important;
}
/* Tasks on the critical line */
.crit0,
.crit1,
.crit2,
.crit3 {
stroke: #ff8888;
fill: red;
stroke-width: 2;
}
.activeCrit0,
.activeCrit1,
.activeCrit2,
.activeCrit3 {
stroke: #ff8888;
fill: #bfc7ff;
stroke-width: 2;
}
.doneCrit0,
.doneCrit1,
.doneCrit2,
.doneCrit3 {
stroke: #ff8888;
fill: lightgrey;
stroke-width: 2;
cursor: pointer;
shape-rendering: crispEdges;
}
.doneCritText0,
.doneCritText1,
.doneCritText2,
.doneCritText3 {
fill: black !important;
}
.activeCritText0,
.activeCritText1,
.activeCritText2,
.activeCritText3 {
fill: black !important;
}
.titleText {
text-anchor: middle;
font-size: 18px;
fill: black;
}
/*
*/
.node text {
font-family: 'trebuchet ms', verdana, arial;
font-size: 14px;
}
div.mermaidTooltip {
position: absolute;
text-align: center;
max-width: 200px;
padding: 2px;
font-family: 'trebuchet ms', verdana, arial;
font-size: 12px;
background: #ffffde;
border: 1px solid #aaaa33;
border-radius: 2px;
pointer-events: none;
z-index: 100;
}

View File

@@ -0,0 +1,275 @@
/* Flowchart variables */
/* Sequence Diagram variables */
/* Gantt chart variables */
.mermaid .label {
color: #323D47;
}
.node rect,
.node circle,
.node ellipse,
.node polygon {
fill: #BDD5EA;
stroke: #81B1DB;
stroke-width: 1px;
}
.edgePath .path {
stroke: lightgrey;
}
.edgeLabel {
background-color: #e8e8e8;
}
.cluster rect {
fill: #6D6D65 !important;
rx: 4 !important;
stroke: rgba(255, 255, 255, 0.25) !important;
stroke-width: 1px !important;
}
.cluster text {
fill: #F9FFFE;
}
.actor {
stroke: #81B1DB;
fill: #BDD5EA;
}
text.actor {
fill: black;
stroke: none;
}
.actor-line {
stroke: lightgrey;
}
.messageLine0 {
stroke-width: 1.5;
stroke-dasharray: "2 2";
marker-end: "url(#arrowhead)";
stroke: lightgrey;
}
.messageLine1 {
stroke-width: 1.5;
stroke-dasharray: "2 2";
stroke: lightgrey;
}
#arrowhead {
fill: lightgrey !important;
}
#crosshead path {
fill: lightgrey !important;
stroke: lightgrey !important;
}
.messageText {
fill: lightgrey;
stroke: none;
}
.labelBox {
stroke: #81B1DB;
fill: #BDD5EA;
}
.labelText {
fill: #323D47;
stroke: none;
}
.loopText {
fill: lightgrey;
stroke: none;
}
.loopLine {
stroke-width: 2;
stroke-dasharray: "2 2";
marker-end: "url(#arrowhead)";
stroke: #81B1DB;
}
.note {
stroke: rgba(255, 255, 255, 0.25);
fill: #fff5ad;
}
.noteText {
fill: black;
stroke: none;
font-family: 'trebuchet ms', verdana, arial;
font-size: 14px;
}
/** Section styling */
.section {
stroke: none;
opacity: 0.2;
}
.section0 {
fill: rgba(255, 255, 255, 0.3);
}
.section2 {
fill: #EAE8B9;
}
.section1,
.section3 {
fill: white;
opacity: 0.2;
}
.sectionTitle0 {
fill: #F9FFFE;
}
.sectionTitle1 {
fill: #F9FFFE;
}
.sectionTitle2 {
fill: #F9FFFE;
}
.sectionTitle3 {
fill: #F9FFFE;
}
.sectionTitle {
text-anchor: start;
font-size: 11px;
text-height: 14px;
}
/* Grid and axis */
.grid .tick {
stroke: rgba(255, 255, 255, 0.3);
opacity: 0.3;
shape-rendering: crispEdges;
}
.grid .tick text {
fill: lightgrey;
opacity: 0.5;
}
.grid path {
stroke-width: 0;
}
/* Today line */
.today {
fill: none;
stroke: #DB5757;
stroke-width: 2px;
}
/* Task styling */
/* Default task */
.task {
stroke-width: 1;
}
.taskText {
text-anchor: middle;
font-size: 11px;
}
.taskTextOutsideRight {
fill: #323D47;
text-anchor: start;
font-size: 11px;
}
.taskTextOutsideLeft {
fill: #323D47;
text-anchor: end;
font-size: 11px;
}
/* Specific task settings for the sections*/
.taskText0,
.taskText1,
.taskText2,
.taskText3 {
fill: #323D47;
}
.task0,
.task1,
.task2,
.task3 {
fill: #BDD5EA;
stroke: rgba(255, 255, 255, 0.5);
}
.taskTextOutside0,
.taskTextOutside2 {
fill: lightgrey;
}
.taskTextOutside1,
.taskTextOutside3 {
fill: lightgrey;
}
/* Active task */
.active0,
.active1,
.active2,
.active3 {
fill: #81B1DB;
stroke: rgba(255, 255, 255, 0.5);
}
.activeText0,
.activeText1,
.activeText2,
.activeText3 {
fill: #323D47 !important;
}
/* Completed task */
.done0,
.done1,
.done2,
.done3 {
fill: lightgrey;
}
.doneText0,
.doneText1,
.doneText2,
.doneText3 {
fill: #323D47 !important;
}
/* Tasks on the critical line */
.crit0,
.crit1,
.crit2,
.crit3 {
stroke: #E83737;
fill: #E83737;
stroke-width: 2;
}
.activeCrit0,
.activeCrit1,
.activeCrit2,
.activeCrit3 {
stroke: #E83737;
fill: #81B1DB;
stroke-width: 2;
}
.doneCrit0,
.doneCrit1,
.doneCrit2,
.doneCrit3 {
stroke: #E83737;
fill: lightgrey;
stroke-width: 1;
cursor: pointer;
shape-rendering: crispEdges;
}
.doneCritText0,
.doneCritText1,
.doneCritText2,
.doneCritText3 {
fill: lightgrey !important;
}
.activeCritText0,
.activeCritText1,
.activeCritText2,
.activeCritText3 {
fill: #323D47 !important;
}
.titleText {
text-anchor: middle;
font-size: 18px;
fill: lightgrey;
}
/*
*/
.node text {
font-family: 'trebuchet ms', verdana, arial;
font-size: 14px;
}
div.mermaidTooltip {
position: absolute;
text-align: center;
max-width: 200px;
padding: 2px;
font-family: 'trebuchet ms', verdana, arial;
font-size: 12px;
background: #6D6D65;
border: 1px solid rgba(255, 255, 255, 0.25);
border-radius: 2px;
pointer-events: none;
z-index: 100;
}

View File

@@ -0,0 +1,353 @@
/* Flowchart variables */
/* Sequence Diagram variables */
/* Gantt chart variables */
.mermaid .label {
font-family: 'trebuchet ms', verdana, arial;
color: #333;
}
.node rect,
.node circle,
.node ellipse,
.node polygon {
fill: #cde498;
stroke: #13540c;
stroke-width: 1px;
}
.edgePath .path {
stroke: green;
stroke-width: 1.5px;
}
.edgeLabel {
background-color: #e8e8e8;
}
.cluster rect {
fill: #cdffb2 !important;
rx: 4 !important;
stroke: #6eaa49 !important;
stroke-width: 1px !important;
}
.cluster text {
fill: #333;
}
.actor {
stroke: #13540c;
fill: #cde498;
}
text.actor {
fill: black;
stroke: none;
}
.actor-line {
stroke: grey;
}
.messageLine0 {
stroke-width: 1.5;
stroke-dasharray: "2 2";
marker-end: "url(#arrowhead)";
stroke: #333;
}
.messageLine1 {
stroke-width: 1.5;
stroke-dasharray: "2 2";
stroke: #333;
}
#arrowhead {
fill: #333;
}
#crosshead path {
fill: #333 !important;
stroke: #333 !important;
}
.messageText {
fill: #333;
stroke: none;
}
.labelBox {
stroke: #326932;
fill: #cde498;
}
.labelText {
fill: black;
stroke: none;
}
.loopText {
fill: black;
stroke: none;
}
.loopLine {
stroke-width: 2;
stroke-dasharray: "2 2";
marker-end: "url(#arrowhead)";
stroke: #326932;
}
.note {
stroke: #6eaa49;
fill: #fff5ad;
}
.noteText {
fill: black;
stroke: none;
font-family: 'trebuchet ms', verdana, arial;
font-size: 14px;
}
/** Section styling */
.section {
stroke: none;
opacity: 0.2;
}
.section0 {
fill: #6eaa49;
}
.section2 {
fill: #6eaa49;
}
.section1,
.section3 {
fill: white;
opacity: 0.2;
}
.sectionTitle0 {
fill: #333;
}
.sectionTitle1 {
fill: #333;
}
.sectionTitle2 {
fill: #333;
}
.sectionTitle3 {
fill: #333;
}
.sectionTitle {
text-anchor: start;
font-size: 11px;
text-height: 14px;
}
/* Grid and axis */
.grid .tick {
stroke: lightgrey;
opacity: 0.3;
shape-rendering: crispEdges;
}
.grid path {
stroke-width: 0;
}
/* Today line */
.today {
fill: none;
stroke: red;
stroke-width: 2px;
}
/* Task styling */
/* Default task */
.task {
stroke-width: 2;
}
.taskText {
text-anchor: middle;
font-size: 11px;
}
.taskTextOutsideRight {
fill: black;
text-anchor: start;
font-size: 11px;
}
.taskTextOutsideLeft {
fill: black;
text-anchor: end;
font-size: 11px;
}
/* Specific task settings for the sections*/
.taskText0,
.taskText1,
.taskText2,
.taskText3 {
fill: white;
}
.task0,
.task1,
.task2,
.task3 {
fill: #487e3a;
stroke: #13540c;
}
.taskTextOutside0,
.taskTextOutside2 {
fill: black;
}
.taskTextOutside1,
.taskTextOutside3 {
fill: black;
}
/* Active task */
.active0,
.active1,
.active2,
.active3 {
fill: #cde498;
stroke: #13540c;
}
.activeText0,
.activeText1,
.activeText2,
.activeText3 {
fill: black !important;
}
/* Completed task */
.done0,
.done1,
.done2,
.done3 {
stroke: grey;
fill: lightgrey;
stroke-width: 2;
}
.doneText0,
.doneText1,
.doneText2,
.doneText3 {
fill: black !important;
}
/* Tasks on the critical line */
.crit0,
.crit1,
.crit2,
.crit3 {
stroke: #ff8888;
fill: red;
stroke-width: 2;
}
.activeCrit0,
.activeCrit1,
.activeCrit2,
.activeCrit3 {
stroke: #ff8888;
fill: #cde498;
stroke-width: 2;
}
.doneCrit0,
.doneCrit1,
.doneCrit2,
.doneCrit3 {
stroke: #ff8888;
fill: lightgrey;
stroke-width: 2;
cursor: pointer;
shape-rendering: crispEdges;
}
.doneCritText0,
.doneCritText1,
.doneCritText2,
.doneCritText3 {
fill: black !important;
}
.activeCritText0,
.activeCritText1,
.activeCritText2,
.activeCritText3 {
fill: black !important;
}
.titleText {
text-anchor: middle;
font-size: 18px;
fill: black;
}
/*
*/
g.classGroup text {
fill: #13540c;
stroke: none;
font-family: 'trebuchet ms', verdana, arial;
font-size: 14px;
}
g.classGroup rect {
fill: #cde498;
stroke: #13540c;
}
g.classGroup line {
stroke: #13540c;
stroke-width: 1;
}
svg .classLabel .box {
stroke: none;
stroke-width: 0;
fill: #cde498;
opacity: 0.5;
}
svg .classLabel .label {
fill: #13540c;
}
.relation {
stroke: #13540c;
stroke-width: 1;
fill: none;
}
.composition {
fill: #13540c;
stroke: #13540c;
stroke-width: 1;
}
#compositionStart {
fill: #13540c;
stroke: #13540c;
stroke-width: 1;
}
#compositionEnd {
fill: #13540c;
stroke: #13540c;
stroke-width: 1;
}
.aggregation {
fill: #cde498;
stroke: #13540c;
stroke-width: 1;
}
#aggregationStart {
fill: #cde498;
stroke: #13540c;
stroke-width: 1;
}
#aggregationEnd {
fill: #cde498;
stroke: #13540c;
stroke-width: 1;
}
#dependencyStart {
fill: #13540c;
stroke: #13540c;
stroke-width: 1;
}
#dependencyEnd {
fill: #13540c;
stroke: #13540c;
stroke-width: 1;
}
#extensionStart {
fill: #13540c;
stroke: #13540c;
stroke-width: 1;
}
#extensionEnd {
fill: #13540c;
stroke: #13540c;
stroke-width: 1;
}
.node text {
font-family: 'trebuchet ms', verdana, arial;
font-size: 14px;
}
div.mermaidTooltip {
position: absolute;
text-align: center;
max-width: 200px;
padding: 2px;
font-family: 'trebuchet ms', verdana, arial;
font-size: 12px;
background: #cdffb2;
border: 1px solid #6eaa49;
border-radius: 2px;
pointer-events: none;
z-index: 100;
}

30
docs/mermaid/mermaid.js Normal file

File diff suppressed because one or more lines are too long

View File

@@ -3,209 +3,276 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta name="generator" content="Hugo 0.20.7" />
<meta name="generator" content="Hugo 0.29" />
<meta name="description" content="Documentation for the Lettre mailer in Rust">
<meta name="author" content="Alexis Mousset">
<link rel="shortcut icon" href="https://lettre.github.io/lettre//images/favicon.png" type="image/x-icon" />
<link rel="shortcut icon" href="https://lettre.github.io/lettre/images/favicon.png" type="image/x-icon" />
<title>File transport :: Lettre site</title>
<title>File transport</title>
<link href="https://lettre.github.io/lettre//css/nucleus.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/font-awesome.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/hybrid.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/featherlight.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/perfect-scrollbar.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/horsey.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/theme.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/hugo-theme.css" rel="stylesheet">
<script src="https://lettre.github.io/lettre//js/jquery-2.x.min.js"></script>
<style type="text/css">:root #header + #content > #left > #rlblock_left
{display:none !important;}</style>
<link href="/lettre/css/nucleus.css?1508105428" rel="stylesheet">
<link href="/lettre/css/font-awesome.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/hybrid.css?1508105428" rel="stylesheet">
<link href="/lettre/css/featherlight.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/perfect-scrollbar.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/auto-complete.css?1508105428" rel="stylesheet">
<link href="/lettre/css/theme.css?1508105428" rel="stylesheet">
<link href="/lettre/css/hugo-theme.css?1508105428" rel="stylesheet">
<script src="/lettre/js/jquery-2.x.min.js?1508105428"></script>
<style type="text/css">
:root #header + #content > #left > #rlblock_left{
display:none !important;
}
</style>
</head>
<body class="" data-url="/lettre/sending-messages/file/">
<nav id="sidebar">
<nav id="sidebar" class="">
<div id="header-wrapper">
<div id="header">
<a href="https://lettre.github.io/lettre//getting-started/intro/"><img src="https://lettre.github.io/lettre//images/logo50.png" /></a>
<a href="https://lettre.github.io/lettre/getting-started/intro/"><img src="https://lettre.github.io/lettre/images/logo50.png" /></a>
</div>
<div class="searchbox">
<label for="search-by"><i class="fa fa-search"></i></label>
<input data-search-input id="search-by" type="text" placeholder="Search">
<input data-search-input id="search-by" type="text" placeholder="Search...">
<span data-search-clear=""><i class="fa fa-close"></i></span>
</div>
<script type="text/javascript" src="https://lettre.github.io/lettre//js/lunr.min.js"></script>
<script type="text/javascript" src="https://lettre.github.io/lettre//js/horsey.js"></script>
<script type="text/javascript" src="/lettre/js/lunr.min.js?1508105428"></script>
<script type="text/javascript" src="/lettre/js/auto-complete.js?1508105428"></script>
<script type="text/javascript">
var baseurl = "https:\/\/lettre.github.io\/lettre\/";
var baseurl = "https:\/\/lettre.github.io\/lettre";
</script>
<script type="text/javascript" src="https://lettre.github.io/lettre//js/search.js"></script>
<script type="text/javascript" src="/lettre/js/search.js?1508105428"></script>
</div>
</div>
<div class="highlightable">
<div class="highlightable">
<ul class="topics">
<li class="dd-item " data-nav-id="/lettre/getting-started/">
<a href="/lettre/getting-started/">
<span>
<b>1. </b>
Getting started
</span>
</a>
<li data-nav-id="/lettre/getting-started/" title="Getting started" class="dd-item
">
<a href="/lettre/getting-started/">
Getting started
</a>
<ul>
<li class="dd-item " data-nav-id="/lettre/getting-started/intro/">
<a href="/lettre/getting-started/intro/">
<span>Introduction </i></span>
</a>
</li>
</ul>
</li>
<li class="dd-item " data-nav-id="/lettre/creating-messages/">
<a href="/lettre/creating-messages/">
<span>
<b>2. </b>
Creating messages
</span>
<li data-nav-id="/lettre/getting-started/intro/" title="Introduction" class="dd-item ">
<a href="/lettre/getting-started/intro/">
Introduction
</a>
</li>
<li class="dd-item parent" data-nav-id="/lettre/sending-messages/">
<a href="/lettre/sending-messages/">
<span>
<b>3. </b>
Sending messages
</span>
</a>
<ul>
<li class="dd-item " data-nav-id="/lettre/sending-messages/intro/">
<a href="/lettre/sending-messages/intro/">
<span>Introduction </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/smtp/">
<a href="/lettre/sending-messages/smtp/">
<span>SMTP transport </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/sendmail/">
<a href="/lettre/sending-messages/sendmail/">
<span>Sendmail transport </i></span>
</a>
</li>
<li class="dd-item active" data-nav-id="/lettre/sending-messages/file/">
<a href="/lettre/sending-messages/file/">
<span>File transport </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/stub/">
<a href="/lettre/sending-messages/stub/">
<span>Stub transport </i></span>
</a>
</li>
</ul>
</li>
</ul>
<hr>
</li>
</ul>
</li>
<li data-nav-id="/lettre/creating-messages/" title="Creating messages" class="dd-item
">
<a href="/lettre/creating-messages/">
Creating messages
</a>
</li>
<li data-nav-id="/lettre/sending-messages/" title="Sending messages" class="dd-item
parent
">
<a href="/lettre/sending-messages/">
Sending messages
</a>
<ul>
<li data-nav-id="/lettre/sending-messages/intro/" title="Introduction" class="dd-item ">
<a href="/lettre/sending-messages/intro/">
Introduction
</a>
</li>
<li data-nav-id="/lettre/sending-messages/smtp/" title="SMTP transport" class="dd-item ">
<a href="/lettre/sending-messages/smtp/">
SMTP transport
</a>
</li>
<li data-nav-id="/lettre/sending-messages/sendmail/" title="Sendmail transport" class="dd-item ">
<a href="/lettre/sending-messages/sendmail/">
Sendmail transport
</a>
</li>
<li data-nav-id="/lettre/sending-messages/file/" title="File transport" class="dd-item active">
<a href="/lettre/sending-messages/file/">
File transport
</a>
</li>
<li data-nav-id="/lettre/sending-messages/stub/" title="Stub transport" class="dd-item ">
<a href="/lettre/sending-messages/stub/">
Stub transport
</a>
</li>
</ul>
</li>
</ul>
<section id="footer">
<p>Built with <a href="https://github.com/matcornic/hugo-theme-learn"><i class="fa fa-heart"></i></a> from <a href="http://getgrav.org">Grav</a> and <a href="http://gohugo.io/">Hugo</a></p>
@@ -213,193 +280,331 @@
</div>
</nav>
<section id="body">
<div id="overlay"></div>
<div class="padding highlightable">
<div id="top-bar">
<div class="padding highlightable sticky-parent">
<div class="sticky-spacer">
<div id="top-bar">
<div id="top-github-link">
<a class="github-link" href="https://github.com/lettre/lettre/edit/master/website/content/sending-messages/file.md" target="blank">
<i class="fa fa-code-fork"></i>
Edit this page
</a>
</div>
<div id="top-github-link">
<a class="github-link" href="https://github.com/lettre/lettre/edit/master/website/content/sending-messages/file.md" target="blank">
<i class="fa fa-code-fork"></i>
Edit this page
</a>
</div>
<div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle="">
<i class="fa fa-bars"></i>
</a>
<div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle="">
<i class="fa fa-bars"></i>
</a>
</span>
<span id="toc-menu"><i class="fa fa-list-alt"></i></span>
<span class="links">
<a href='/lettre/'>Lettre site</a> > <a href='/lettre/sending-messages/'>Sending messages</a> > File transport
</span>
</div>
<span id="toc-menu"><a href=""><i class="fa fa-list-alt"></i></a></span>
<a href="/lettre/sending-messages/" itemprop="url"><span itemprop="title">Sending messages</span></a> <i class="fa fa-angle-right"></i>
<span itemprop="title"> File transport</span>
</div>
<div class="progress">
<div class="progress">
<div class="wrapper">
</div>
</div>
</div>
</div>
<div id="body-inner">
<h1>File transport</h1>
<div id="body-inner">
<h1>File transport</h1>
<p>The file transport writes the emails to the given directory. The name of the file will be
<code>message_id.txt</code>.
It can be useful for testing purposes, or if you want to keep track of sent messages.</p>
use std::env::temp_dir;
use lettre::file::FileEmailTransport;
use lettre::{SimpleSendableEmail, EmailTransport, EmailAddress};
// Write to the local temp directory
let mut sender = FileEmailTransport::new(temp_dir());
let email = SimpleSendableEmail::new(
EmailAddress::new("user@localhost".to_string()),
vec![EmailAddress::new("root@localhost".to_string())],
"message_id".to_string(),
"Hello world".to_string(),
);
let result = sender.send(&email);
assert!(result.is_ok());
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-rust" data-lang="rust"><span style="color:#66d9ef">use</span><span style=""> </span><span style="">std</span><span style="">::</span><span style="">env</span><span style="">::</span><span style="">temp_dir</span><span style="">;</span><span style="">
</span><span style="">
</span><span style=""></span><span style="color:#66d9ef">use</span><span style=""> </span><span style="">lettre</span><span style="">::</span><span style="">file</span><span style="">::</span><span style="">FileEmailTransport</span><span style="">;</span><span style="">
</span><span style=""></span><span style="color:#66d9ef">use</span><span style=""> </span><span style="">lettre</span><span style="">::</span><span style="">{</span><span style="">SimpleSendableEmail</span><span style="">,</span><span style=""> </span><span style="">EmailTransport</span><span style="">,</span><span style=""> </span><span style="">EmailAddress</span><span style="">};</span><span style="">
</span><span style="">
</span><span style=""></span><span style="color:#75715e">// Write to the local temp directory
</span><span style="color:#75715e"></span><span style="color:#66d9ef">let</span><span style=""> </span><span style="color:#66d9ef">mut</span><span style=""> </span><span style="">sender</span><span style=""> </span><span style="color:#f92672">=</span><span style=""> </span><span style="">FileEmailTransport</span><span style="">::</span><span style="">new</span><span style="">(</span><span style="">temp_dir</span><span style="">());</span><span style="">
</span><span style=""></span><span style="color:#66d9ef">let</span><span style=""> </span><span style="">email</span><span style=""> </span><span style="color:#f92672">=</span><span style=""> </span><span style="">SimpleSendableEmail</span><span style="">::</span><span style="">new</span><span style="">(</span><span style="">
</span><span style=""> </span><span style="">EmailAddress</span><span style="">::</span><span style="">new</span><span style="">(</span><span style="color:#e6db74">&#34;user@localhost&#34;</span><span style="">.</span><span style="">to_string</span><span style="">()),</span><span style="">
</span><span style=""> </span><span style="">vec</span><span style="color:#f92672">!</span><span style="">[</span><span style="">EmailAddress</span><span style="">::</span><span style="">new</span><span style="">(</span><span style="color:#e6db74">&#34;root@localhost&#34;</span><span style="">.</span><span style="">to_string</span><span style="">())],</span><span style="">
</span><span style=""> </span><span style="color:#e6db74">&#34;message_id&#34;</span><span style="">.</span><span style="">to_string</span><span style="">(),</span><span style="">
</span><span style=""> </span><span style="color:#e6db74">&#34;Hello world&#34;</span><span style="">.</span><span style="">to_string</span><span style="">(),</span><span style="">
</span><span style=""> </span><span style="">);</span><span style="">
</span><span style="">
</span><span style=""></span><span style="color:#66d9ef">let</span><span style=""> </span><span style="">result</span><span style=""> </span><span style="color:#f92672">=</span><span style=""> </span><span style="">sender</span><span style="">.</span><span style="">send</span><span style="">(</span><span style="color:#f92672">&amp;</span><span style="">email</span><span style="">);</span><span style="">
</span><span style=""></span><span style="">assert</span><span style="color:#f92672">!</span><span style="">(</span><span style="">result</span><span style="">.</span><span style="">is_ok</span><span style="">());</span></code></pre>
</div>
<p>Example result in <code>/tmp/b7c211bc-9811-45ce-8cd9-68eab575d695.txt</code>:</p>
b7c211bc-9811-45ce-8cd9-68eab575d695: from=<user@localhost> to=<root@localhost>
To: <root@localhost>
From: <user@localhost>
Subject: Hello
Date: Sat, 31 Oct 2015 13:42:19 +0100
Message-ID: <b7c211bc-9811-45ce-8cd9-68eab575d695.lettre@localhost>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-text" data-lang="text"><span style="">b7c211bc-9811-45ce-8cd9-68eab575d695: from=&lt;user@localhost&gt; to=&lt;root@localhost&gt;
</span><span style="">To: &lt;root@localhost&gt;
</span><span style="">From: &lt;user@localhost&gt;
</span><span style="">Subject: Hello
</span><span style="">Date: Sat, 31 Oct 2015 13:42:19 +0100
</span><span style="">Message-ID: &lt;b7c211bc-9811-45ce-8cd9-68eab575d695.lettre@localhost&gt;
</span><span style="">
</span><span style="">Hello World!</span></code></pre>
</div>
Hello World!
<footer class=" footline" >
</footer>
</div>
</div>
</div>
<div id="navigation">
<a class="nav nav-prev" href="/lettre/sending-messages/sendmail/"> <i class="fa fa-chevron-left"></i></a>
<a class="nav nav-next" href="/lettre/sending-messages/stub/" style="margin-right: 0px;"><i class="fa fa-chevron-right"></i></a>
<a class="nav nav-prev" href="/lettre/sending-messages/sendmail/" title="Sendmail transport"> <i class="fa fa-chevron-left"></i></a>
<a class="nav nav-next" href="/lettre/sending-messages/stub/" title="Stub transport" style="margin-right: 0px;"><i class="fa fa-chevron-right"></i></a>
</div>
</section>
<div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
<div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
</div>
<script src="https://lettre.github.io/lettre//js/clipboard.min.js"></script>
<script src="https://lettre.github.io/lettre//js/perfect-scrollbar.min.js"></script>
<script src="https://lettre.github.io/lettre//js/perfect-scrollbar.jquery.min.js"></script>
<script src="https://lettre.github.io/lettre//js/jquery.sticky-kit.min.js"></script>
<script src="https://lettre.github.io/lettre//js/featherlight.min.js"></script>
<script src="https://lettre.github.io/lettre//js/html5shiv-printshiv.min.js"></script>
<script src="https://lettre.github.io/lettre//js/highlight.pack.js"></script>
<script src="/lettre/js/clipboard.min.js?1508105428"></script>
<script src="/lettre/js/perfect-scrollbar.min.js?1508105428"></script>
<script src="/lettre/js/perfect-scrollbar.jquery.min.js?1508105428"></script>
<script src="/lettre/js/jquery.sticky-kit.min.js?1508105428"></script>
<script src="/lettre/js/featherlight.min.js?1508105428"></script>
<script src="/lettre/js/html5shiv-printshiv.min.js?1508105428"></script>
<script src="/lettre/js/highlight.pack.js?1508105428"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="https://lettre.github.io/lettre//js/modernizr.custom.71422.js"></script>
<script src="https://lettre.github.io/lettre//js/learn.js"></script>
<script src="https://lettre.github.io/lettre//js/hugo-learn.js"></script>
<script src="/lettre/js/modernizr.custom.71422.js?1508105428"></script>
<script src="/lettre/js/learn.js?1508105428"></script>
<script src="/lettre/js/hugo-learn.js?1508105428"></script>
<link href="/lettre/mermaid/mermaid.css?1508105428" type="text/css" rel="stylesheet" />
<script src="/lettre/mermaid/mermaid.js?1508105428"></script>
<script>
mermaid.initialize({ startOnLoad: true });
</script>
</body>

View File

@@ -1,212 +1,278 @@
<!DOCTYPE html>
<html lang="en" class="js csstransforms3d">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta name="generator" content="Hugo 0.20.7" />
<meta name="generator" content="Hugo 0.29" />
<meta name="description" content="Documentation for the Lettre mailer in Rust">
<meta name="author" content="Alexis Mousset">
<link rel="shortcut icon" href="https://lettre.github.io/lettre//images/favicon.png" type="image/x-icon" />
<link rel="shortcut icon" href="https://lettre.github.io/lettre/images/favicon.png" type="image/x-icon" />
<title>Sending messages :: Lettre site</title>
<title>Sending messages</title>
<link href="https://lettre.github.io/lettre//css/nucleus.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/font-awesome.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/hybrid.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/featherlight.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/perfect-scrollbar.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/horsey.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/theme.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/hugo-theme.css" rel="stylesheet">
<script src="https://lettre.github.io/lettre//js/jquery-2.x.min.js"></script>
<style type="text/css">:root #header + #content > #left > #rlblock_left
{display:none !important;}</style>
<link href="/lettre/css/nucleus.css?1508105428" rel="stylesheet">
<link href="/lettre/css/font-awesome.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/hybrid.css?1508105428" rel="stylesheet">
<link href="/lettre/css/featherlight.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/perfect-scrollbar.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/auto-complete.css?1508105428" rel="stylesheet">
<link href="/lettre/css/theme.css?1508105428" rel="stylesheet">
<link href="/lettre/css/hugo-theme.css?1508105428" rel="stylesheet">
<script src="/lettre/js/jquery-2.x.min.js?1508105428"></script>
<style type="text/css">
:root #header + #content > #left > #rlblock_left{
display:none !important;
}
</style>
</head>
<body class="" data-url="/lettre/sending-messages/">
<nav id="sidebar">
<nav id="sidebar" class="">
<div id="header-wrapper">
<div id="header">
<a href="https://lettre.github.io/lettre//getting-started/intro/"><img src="https://lettre.github.io/lettre//images/logo50.png" /></a>
<a href="https://lettre.github.io/lettre/getting-started/intro/"><img src="https://lettre.github.io/lettre/images/logo50.png" /></a>
</div>
<div class="searchbox">
<label for="search-by"><i class="fa fa-search"></i></label>
<input data-search-input id="search-by" type="text" placeholder="Search">
<input data-search-input id="search-by" type="text" placeholder="Search...">
<span data-search-clear=""><i class="fa fa-close"></i></span>
</div>
<script type="text/javascript" src="https://lettre.github.io/lettre//js/lunr.min.js"></script>
<script type="text/javascript" src="https://lettre.github.io/lettre//js/horsey.js"></script>
<script type="text/javascript" src="/lettre/js/lunr.min.js?1508105428"></script>
<script type="text/javascript" src="/lettre/js/auto-complete.js?1508105428"></script>
<script type="text/javascript">
var baseurl = "https:\/\/lettre.github.io\/lettre\/";
var baseurl = "https:\/\/lettre.github.io\/lettre";
</script>
<script type="text/javascript" src="https://lettre.github.io/lettre//js/search.js"></script>
<script type="text/javascript" src="/lettre/js/search.js?1508105428"></script>
</div>
</div>
<div class="highlightable">
<div class="highlightable">
<ul class="topics">
<li class="dd-item " data-nav-id="/lettre/getting-started/">
<a href="/lettre/getting-started/">
<span>
<b>1. </b>
Getting started
</span>
</a>
<li data-nav-id="/lettre/getting-started/" title="Getting started" class="dd-item
">
<a href="/lettre/getting-started/">
Getting started
</a>
<ul>
<li class="dd-item " data-nav-id="/lettre/getting-started/intro/">
<a href="/lettre/getting-started/intro/">
<span>Introduction </i></span>
</a>
</li>
</ul>
</li>
<li class="dd-item " data-nav-id="/lettre/creating-messages/">
<a href="/lettre/creating-messages/">
<span>
<b>2. </b>
Creating messages
</span>
<li data-nav-id="/lettre/getting-started/intro/" title="Introduction" class="dd-item ">
<a href="/lettre/getting-started/intro/">
Introduction
</a>
</li>
<li class="dd-item active parent" data-nav-id="/lettre/sending-messages/">
<a href="/lettre/sending-messages/">
<span>
<b>3. </b>
Sending messages
</span>
</a>
<ul>
<li class="dd-item " data-nav-id="/lettre/sending-messages/intro/">
<a href="/lettre/sending-messages/intro/">
<span>Introduction </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/smtp/">
<a href="/lettre/sending-messages/smtp/">
<span>SMTP transport </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/sendmail/">
<a href="/lettre/sending-messages/sendmail/">
<span>Sendmail transport </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/file/">
<a href="/lettre/sending-messages/file/">
<span>File transport </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/stub/">
<a href="/lettre/sending-messages/stub/">
<span>Stub transport </i></span>
</a>
</li>
</ul>
</li>
</ul>
<hr>
</li>
</ul>
</li>
<li data-nav-id="/lettre/creating-messages/" title="Creating messages" class="dd-item
">
<a href="/lettre/creating-messages/">
Creating messages
</a>
</li>
<li data-nav-id="/lettre/sending-messages/" title="Sending messages" class="dd-item
parent
active
">
<a href="/lettre/sending-messages/">
Sending messages
</a>
<ul>
<li data-nav-id="/lettre/sending-messages/intro/" title="Introduction" class="dd-item ">
<a href="/lettre/sending-messages/intro/">
Introduction
</a>
</li>
<li data-nav-id="/lettre/sending-messages/smtp/" title="SMTP transport" class="dd-item ">
<a href="/lettre/sending-messages/smtp/">
SMTP transport
</a>
</li>
<li data-nav-id="/lettre/sending-messages/sendmail/" title="Sendmail transport" class="dd-item ">
<a href="/lettre/sending-messages/sendmail/">
Sendmail transport
</a>
</li>
<li data-nav-id="/lettre/sending-messages/file/" title="File transport" class="dd-item ">
<a href="/lettre/sending-messages/file/">
File transport
</a>
</li>
<li data-nav-id="/lettre/sending-messages/stub/" title="Stub transport" class="dd-item ">
<a href="/lettre/sending-messages/stub/">
Stub transport
</a>
</li>
</ul>
</li>
</ul>
<section id="footer">
<p>Built with <a href="https://github.com/matcornic/hugo-theme-learn"><i class="fa fa-heart"></i></a> from <a href="http://getgrav.org">Grav</a> and <a href="http://gohugo.io/">Hugo</a></p>
@@ -214,38 +280,83 @@
</div>
</nav>
<section id="body">
<div id="overlay"></div>
<div class="padding highlightable">
<div id="top-bar">
<div class="padding highlightable sticky-parent">
<div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle="">
<i class="fa fa-bars"></i>
</a>
<div class="sticky-spacer">
<div id="top-bar">
<div id="top-github-link">
<a class="github-link" href="https://github.com/lettre/lettre/edit/master/website/content/sending-messages/_index.md" target="blank">
<i class="fa fa-code-fork"></i>
Edit this page
</a>
</div>
<div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle="">
<i class="fa fa-bars"></i>
</a>
</span>
<span id="toc-menu"><i class="fa fa-list-alt"></i></span>
<span class="links">
<a href='/lettre/'>Lettre site</a> > Sending messages
</span>
</div>
<span itemprop="title"> Sending messages</span>
</div>
<div class="progress">
<div class="wrapper">
<nav id="TableOfContents">
<ul>
<li>
<ul>
<li>
<ul>
<li><a href="#sending-messages">Sending Messages</a></li>
</ul></li>
</ul></li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<div id="chapter">
<div id="body-inner">
<div id="body-inner">
<h1>Sending messages</h1>
@@ -254,112 +365,222 @@
<p>This section explains how to manipulate emails you have created.</p>
</div>
</div>
</div>
<footer class=" footline" >
</footer>
</div>
</div>
<div id="navigation">
<a class="nav nav-prev" href="/lettre/creating-messages/"> <i class="fa fa-chevron-left"></i></a>
<a class="nav nav-next" href="/lettre/sending-messages/intro/" style="margin-right: 0px;"><i class="fa fa-chevron-right"></i></a>
<a class="nav nav-prev" href="/lettre/creating-messages/" title="Creating messages"> <i class="fa fa-chevron-left"></i></a>
<a class="nav nav-next" href="/lettre/sending-messages/intro/" title="Introduction" style="margin-right: 0px;"><i class="fa fa-chevron-right"></i></a>
</div>
</section>
<div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
<div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
</div>
<script src="https://lettre.github.io/lettre//js/clipboard.min.js"></script>
<script src="https://lettre.github.io/lettre//js/perfect-scrollbar.min.js"></script>
<script src="https://lettre.github.io/lettre//js/perfect-scrollbar.jquery.min.js"></script>
<script src="https://lettre.github.io/lettre//js/jquery.sticky-kit.min.js"></script>
<script src="https://lettre.github.io/lettre//js/featherlight.min.js"></script>
<script src="https://lettre.github.io/lettre//js/html5shiv-printshiv.min.js"></script>
<script src="https://lettre.github.io/lettre//js/highlight.pack.js"></script>
<script src="/lettre/js/clipboard.min.js?1508105428"></script>
<script src="/lettre/js/perfect-scrollbar.min.js?1508105428"></script>
<script src="/lettre/js/perfect-scrollbar.jquery.min.js?1508105428"></script>
<script src="/lettre/js/jquery.sticky-kit.min.js?1508105428"></script>
<script src="/lettre/js/featherlight.min.js?1508105428"></script>
<script src="/lettre/js/html5shiv-printshiv.min.js?1508105428"></script>
<script src="/lettre/js/highlight.pack.js?1508105428"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="https://lettre.github.io/lettre//js/modernizr.custom.71422.js"></script>
<script src="https://lettre.github.io/lettre//js/learn.js"></script>
<script src="https://lettre.github.io/lettre//js/hugo-learn.js"></script>
<script src="/lettre/js/modernizr.custom.71422.js?1508105428"></script>
<script src="/lettre/js/learn.js?1508105428"></script>
<script src="/lettre/js/hugo-learn.js?1508105428"></script>
<link href="/lettre/mermaid/mermaid.css?1508105428" type="text/css" rel="stylesheet" />
<script src="/lettre/mermaid/mermaid.js?1508105428"></script>
<script>
mermaid.initialize({ startOnLoad: true });
</script>
</body>
</html>

View File

@@ -41,7 +41,7 @@ The relay server can be the local email server, a specific host or a third-party
<guid>https://lettre.github.io/lettre/sending-messages/sendmail/</guid>
<description>The sendmail transport sends the email using the local sendmail command.
use lettre::sendmail::SendmailTransport; use lettre::{SimpleSendableEmail, EmailTransport, EmailAddress}; let email = SimpleSendableEmail::new( EmailAddress::new(&#34;user@localhost&#34;.to_string()), vec![EmailAddress::new(&#34;root@localhost&#34;.to_string())], &#34;message_id&#34;.to_string(), &#34;Hello world&#34;.to_string(), ); let mut sender = SendmailTransport::new(); let result = sender.send(&amp;email); assert!(result.is_ok()); </description>
uselettre::sendmail::SendmailTransport;uselettre::{SimpleSendableEmail,EmailTransport,EmailAddress};letemail=SimpleSendableEmail::new(EmailAddress::new(&amp;#34;user@localhost&amp;#34;.to_string()),vec![EmailAddress::new(&amp;#34;root@localhost&amp;#34;.to_string())],&amp;#34;message_id&amp;#34;.to_string(),&amp;#34;Hello world&amp;#34;.to_string(),);letmutsender=SendmailTransport::new();letresult=sender.send(&amp;amp;email);assert!(result.is_ok()); </description>
</item>
<item>
@@ -51,7 +51,8 @@ use lettre::sendmail::SendmailTransport; use lettre::{SimpleSendableEmail, Email
<guid>https://lettre.github.io/lettre/sending-messages/file/</guid>
<description>The file transport writes the emails to the given directory. The name of the file will be message_id.txt. It can be useful for testing purposes, or if you want to keep track of sent messages.
use std::env::temp_dir; use lettre::file::FileEmailTransport; use lettre::{SimpleSendableEmail, EmailTransport, EmailAddress}; // Write to the local temp directory let mut sender = FileEmailTransport::new(temp_dir()); let email = SimpleSendableEmail::new( EmailAddress::new(&#34;user@localhost&#34;.to_string()), vec![EmailAddress::new(&#34;root@localhost&#34;.to_string())], &#34;message_id&#34;.to_string(), &#34;Hello world&#34;.to_string(), ); let result = sender.send(&amp;email); assert!(result.is_ok()); Example result in /tmp/b7c211bc-9811-45ce-8cd9-68eab575d695.</description>
usestd::env::temp_dir;uselettre::file::FileEmailTransport;uselettre::{SimpleSendableEmail,EmailTransport,EmailAddress};// Write to the local temp directory letmutsender=FileEmailTransport::new(temp_dir());letemail=SimpleSendableEmail::new(EmailAddress::new(&amp;#34;user@localhost&amp;#34;.to_string()),vec![EmailAddress::new(&amp;#34;root@localhost&amp;#34;.to_string())],&amp;#34;message_id&amp;#34;.to_string(),&amp;#34;Hello world&amp;#34;.to_string(),);letresult=sender.send(&amp;amp;email);assert!(result.is_ok()); Example result in /tmp/b7c211bc-9811-45ce-8cd9-68eab575d695.txt:
b7c211bc-9811-45ce-8cd9-68eab575d695: from=&amp;lt;user@localhost&amp;gt; to=&amp;lt;root@localhost&amp;gt; To: &amp;lt;root@localhost&amp;gt; From: &amp;lt;user@localhost&amp;gt; Subject: Hello Date: Sat, 31 Oct 2015 13:42:19 +0100 Message-ID: &amp;lt;b7c211bc-9811-45ce-8cd9-68eab575d695.lettre@localhost&amp;gt; Hello World! </description>
</item>
<item>
@@ -61,8 +62,8 @@ use std::env::temp_dir; use lettre::file::FileEmailTransport; use lettre::{Simpl
<guid>https://lettre.github.io/lettre/sending-messages/stub/</guid>
<description>The stub transport only logs message envelope and drops the content. It can be useful for testing purposes.
use lettre::stub::StubEmailTransport; use lettre::{SimpleSendableEmail, EmailTransport, EmailAddress}; let email = SimpleSendableEmail::new( EmailAddress::new(&#34;user@localhost&#34;.to_string()), vec![EmailAddress::new(&#34;root@localhost&#34;.to_string())], &#34;message_id&#34;.to_string(), &#34;Hello world&#34;.to_string(), ); let mut sender = StubEmailTransport::new_positive(); let result = sender.send(&amp;email); assert!(result.is_ok()); Will log (when using a logger like env_logger):
b7c211bc-9811-45ce-8cd9-68eab575d695: from= to= </description>
uselettre::stub::StubEmailTransport;uselettre::{SimpleSendableEmail,EmailTransport,EmailAddress};letemail=SimpleSendableEmail::new(EmailAddress::new(&amp;#34;user@localhost&amp;#34;.to_string()),vec![EmailAddress::new(&amp;#34;root@localhost&amp;#34;.to_string())],&amp;#34;message_id&amp;#34;.to_string(),&amp;#34;Hello world&amp;#34;.to_string(),);letmutsender=StubEmailTransport::new_positive();letresult=sender.send(&amp;amp;email);assert!(result.is_ok()); Will log (when using a logger like env_logger):
b7c211bc-9811-45ce-8cd9-68eab575d695: from=&amp;lt;user@localhost&amp;gt; to=&amp;lt;root@localhost&amp;gt; </description>
</item>
</channel>

View File

@@ -3,209 +3,276 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta name="generator" content="Hugo 0.20.7" />
<meta name="generator" content="Hugo 0.29" />
<meta name="description" content="Documentation for the Lettre mailer in Rust">
<meta name="author" content="Alexis Mousset">
<link rel="shortcut icon" href="https://lettre.github.io/lettre//images/favicon.png" type="image/x-icon" />
<link rel="shortcut icon" href="https://lettre.github.io/lettre/images/favicon.png" type="image/x-icon" />
<title>Introduction :: Lettre site</title>
<title>Introduction</title>
<link href="https://lettre.github.io/lettre//css/nucleus.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/font-awesome.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/hybrid.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/featherlight.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/perfect-scrollbar.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/horsey.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/theme.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/hugo-theme.css" rel="stylesheet">
<script src="https://lettre.github.io/lettre//js/jquery-2.x.min.js"></script>
<style type="text/css">:root #header + #content > #left > #rlblock_left
{display:none !important;}</style>
<link href="/lettre/css/nucleus.css?1508105428" rel="stylesheet">
<link href="/lettre/css/font-awesome.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/hybrid.css?1508105428" rel="stylesheet">
<link href="/lettre/css/featherlight.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/perfect-scrollbar.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/auto-complete.css?1508105428" rel="stylesheet">
<link href="/lettre/css/theme.css?1508105428" rel="stylesheet">
<link href="/lettre/css/hugo-theme.css?1508105428" rel="stylesheet">
<script src="/lettre/js/jquery-2.x.min.js?1508105428"></script>
<style type="text/css">
:root #header + #content > #left > #rlblock_left{
display:none !important;
}
</style>
</head>
<body class="" data-url="/lettre/sending-messages/intro/">
<nav id="sidebar">
<nav id="sidebar" class="">
<div id="header-wrapper">
<div id="header">
<a href="https://lettre.github.io/lettre//getting-started/intro/"><img src="https://lettre.github.io/lettre//images/logo50.png" /></a>
<a href="https://lettre.github.io/lettre/getting-started/intro/"><img src="https://lettre.github.io/lettre/images/logo50.png" /></a>
</div>
<div class="searchbox">
<label for="search-by"><i class="fa fa-search"></i></label>
<input data-search-input id="search-by" type="text" placeholder="Search">
<input data-search-input id="search-by" type="text" placeholder="Search...">
<span data-search-clear=""><i class="fa fa-close"></i></span>
</div>
<script type="text/javascript" src="https://lettre.github.io/lettre//js/lunr.min.js"></script>
<script type="text/javascript" src="https://lettre.github.io/lettre//js/horsey.js"></script>
<script type="text/javascript" src="/lettre/js/lunr.min.js?1508105428"></script>
<script type="text/javascript" src="/lettre/js/auto-complete.js?1508105428"></script>
<script type="text/javascript">
var baseurl = "https:\/\/lettre.github.io\/lettre\/";
var baseurl = "https:\/\/lettre.github.io\/lettre";
</script>
<script type="text/javascript" src="https://lettre.github.io/lettre//js/search.js"></script>
<script type="text/javascript" src="/lettre/js/search.js?1508105428"></script>
</div>
</div>
<div class="highlightable">
<div class="highlightable">
<ul class="topics">
<li class="dd-item " data-nav-id="/lettre/getting-started/">
<a href="/lettre/getting-started/">
<span>
<b>1. </b>
Getting started
</span>
</a>
<li data-nav-id="/lettre/getting-started/" title="Getting started" class="dd-item
">
<a href="/lettre/getting-started/">
Getting started
</a>
<ul>
<li class="dd-item " data-nav-id="/lettre/getting-started/intro/">
<a href="/lettre/getting-started/intro/">
<span>Introduction </i></span>
</a>
</li>
</ul>
</li>
<li class="dd-item " data-nav-id="/lettre/creating-messages/">
<a href="/lettre/creating-messages/">
<span>
<b>2. </b>
Creating messages
</span>
<li data-nav-id="/lettre/getting-started/intro/" title="Introduction" class="dd-item ">
<a href="/lettre/getting-started/intro/">
Introduction
</a>
</li>
<li class="dd-item parent" data-nav-id="/lettre/sending-messages/">
<a href="/lettre/sending-messages/">
<span>
<b>3. </b>
Sending messages
</span>
</a>
<ul>
<li class="dd-item active" data-nav-id="/lettre/sending-messages/intro/">
<a href="/lettre/sending-messages/intro/">
<span>Introduction </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/smtp/">
<a href="/lettre/sending-messages/smtp/">
<span>SMTP transport </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/sendmail/">
<a href="/lettre/sending-messages/sendmail/">
<span>Sendmail transport </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/file/">
<a href="/lettre/sending-messages/file/">
<span>File transport </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/stub/">
<a href="/lettre/sending-messages/stub/">
<span>Stub transport </i></span>
</a>
</li>
</ul>
</li>
</ul>
<hr>
</li>
</ul>
</li>
<li data-nav-id="/lettre/creating-messages/" title="Creating messages" class="dd-item
">
<a href="/lettre/creating-messages/">
Creating messages
</a>
</li>
<li data-nav-id="/lettre/sending-messages/" title="Sending messages" class="dd-item
parent
">
<a href="/lettre/sending-messages/">
Sending messages
</a>
<ul>
<li data-nav-id="/lettre/sending-messages/intro/" title="Introduction" class="dd-item active">
<a href="/lettre/sending-messages/intro/">
Introduction
</a>
</li>
<li data-nav-id="/lettre/sending-messages/smtp/" title="SMTP transport" class="dd-item ">
<a href="/lettre/sending-messages/smtp/">
SMTP transport
</a>
</li>
<li data-nav-id="/lettre/sending-messages/sendmail/" title="Sendmail transport" class="dd-item ">
<a href="/lettre/sending-messages/sendmail/">
Sendmail transport
</a>
</li>
<li data-nav-id="/lettre/sending-messages/file/" title="File transport" class="dd-item ">
<a href="/lettre/sending-messages/file/">
File transport
</a>
</li>
<li data-nav-id="/lettre/sending-messages/stub/" title="Stub transport" class="dd-item ">
<a href="/lettre/sending-messages/stub/">
Stub transport
</a>
</li>
</ul>
</li>
</ul>
<section id="footer">
<p>Built with <a href="https://github.com/matcornic/hugo-theme-learn"><i class="fa fa-heart"></i></a> from <a href="http://getgrav.org">Grav</a> and <a href="http://gohugo.io/">Hugo</a></p>
@@ -213,60 +280,79 @@
</div>
</nav>
<section id="body">
<div id="overlay"></div>
<div class="padding highlightable">
<div id="top-bar">
<div class="padding highlightable sticky-parent">
<div class="sticky-spacer">
<div id="top-bar">
<div id="top-github-link">
<a class="github-link" href="https://github.com/lettre/lettre/edit/master/website/content/sending-messages/intro.md" target="blank">
<i class="fa fa-code-fork"></i>
Edit this page
</a>
</div>
<div id="top-github-link">
<a class="github-link" href="https://github.com/lettre/lettre/edit/master/website/content/sending-messages/intro.md" target="blank">
<i class="fa fa-code-fork"></i>
Edit this page
</a>
</div>
<div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle="">
<i class="fa fa-bars"></i>
</a>
<div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle="">
<i class="fa fa-bars"></i>
</a>
</span>
<span id="toc-menu"><i class="fa fa-list-alt"></i></span>
<span class="links">
<a href='/lettre/'>Lettre site</a> > <a href='/lettre/sending-messages/'>Sending messages</a> > Introduction
</span>
</div>
<span id="toc-menu"><a href=""><i class="fa fa-list-alt"></i></a></span>
<a href="/lettre/sending-messages/" itemprop="url"><span itemprop="title">Sending messages</span></a> <i class="fa fa-angle-right"></i>
<span itemprop="title"> Introduction</span>
</div>
<div class="progress">
<div class="progress">
<div class="wrapper">
</div>
</div>
</div>
</div>
<div id="body-inner">
<h1>Introduction</h1>
<div id="body-inner">
<h1>Introduction</h1>
<p>This mailer contains several different transports for your emails. To be sendable, the
emails have to implement <code>SendableEmail</code>, which is the case for emails created with <code>lettre_email</code>.</p>
@@ -285,107 +371,223 @@ logs.</li>
</ul>
</div>
</div>
<footer class=" footline" >
</footer>
</div>
</div>
<div id="navigation">
<a class="nav nav-prev" href="/lettre/sending-messages/"> <i class="fa fa-chevron-left"></i></a>
<a class="nav nav-next" href="/lettre/sending-messages/smtp/" style="margin-right: 0px;"><i class="fa fa-chevron-right"></i></a>
<a class="nav nav-prev" href="/lettre/sending-messages/" title="Sending messages"> <i class="fa fa-chevron-left"></i></a>
<a class="nav nav-next" href="/lettre/sending-messages/smtp/" title="SMTP transport" style="margin-right: 0px;"><i class="fa fa-chevron-right"></i></a>
</div>
</section>
<div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
<div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
</div>
<script src="https://lettre.github.io/lettre//js/clipboard.min.js"></script>
<script src="https://lettre.github.io/lettre//js/perfect-scrollbar.min.js"></script>
<script src="https://lettre.github.io/lettre//js/perfect-scrollbar.jquery.min.js"></script>
<script src="https://lettre.github.io/lettre//js/jquery.sticky-kit.min.js"></script>
<script src="https://lettre.github.io/lettre//js/featherlight.min.js"></script>
<script src="https://lettre.github.io/lettre//js/html5shiv-printshiv.min.js"></script>
<script src="https://lettre.github.io/lettre//js/highlight.pack.js"></script>
<script src="/lettre/js/clipboard.min.js?1508105428"></script>
<script src="/lettre/js/perfect-scrollbar.min.js?1508105428"></script>
<script src="/lettre/js/perfect-scrollbar.jquery.min.js?1508105428"></script>
<script src="/lettre/js/jquery.sticky-kit.min.js?1508105428"></script>
<script src="/lettre/js/featherlight.min.js?1508105428"></script>
<script src="/lettre/js/html5shiv-printshiv.min.js?1508105428"></script>
<script src="/lettre/js/highlight.pack.js?1508105428"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="https://lettre.github.io/lettre//js/modernizr.custom.71422.js"></script>
<script src="https://lettre.github.io/lettre//js/learn.js"></script>
<script src="https://lettre.github.io/lettre//js/hugo-learn.js"></script>
<script src="/lettre/js/modernizr.custom.71422.js?1508105428"></script>
<script src="/lettre/js/learn.js?1508105428"></script>
<script src="/lettre/js/hugo-learn.js?1508105428"></script>
<link href="/lettre/mermaid/mermaid.css?1508105428" type="text/css" rel="stylesheet" />
<script src="/lettre/mermaid/mermaid.js?1508105428"></script>
<script>
mermaid.initialize({ startOnLoad: true });
</script>
</body>

View File

@@ -3,209 +3,276 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta name="generator" content="Hugo 0.20.7" />
<meta name="generator" content="Hugo 0.29" />
<meta name="description" content="Documentation for the Lettre mailer in Rust">
<meta name="author" content="Alexis Mousset">
<link rel="shortcut icon" href="https://lettre.github.io/lettre//images/favicon.png" type="image/x-icon" />
<link rel="shortcut icon" href="https://lettre.github.io/lettre/images/favicon.png" type="image/x-icon" />
<title>Sendmail transport :: Lettre site</title>
<title>Sendmail transport</title>
<link href="https://lettre.github.io/lettre//css/nucleus.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/font-awesome.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/hybrid.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/featherlight.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/perfect-scrollbar.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/horsey.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/theme.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/hugo-theme.css" rel="stylesheet">
<script src="https://lettre.github.io/lettre//js/jquery-2.x.min.js"></script>
<style type="text/css">:root #header + #content > #left > #rlblock_left
{display:none !important;}</style>
<link href="/lettre/css/nucleus.css?1508105428" rel="stylesheet">
<link href="/lettre/css/font-awesome.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/hybrid.css?1508105428" rel="stylesheet">
<link href="/lettre/css/featherlight.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/perfect-scrollbar.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/auto-complete.css?1508105428" rel="stylesheet">
<link href="/lettre/css/theme.css?1508105428" rel="stylesheet">
<link href="/lettre/css/hugo-theme.css?1508105428" rel="stylesheet">
<script src="/lettre/js/jquery-2.x.min.js?1508105428"></script>
<style type="text/css">
:root #header + #content > #left > #rlblock_left{
display:none !important;
}
</style>
</head>
<body class="" data-url="/lettre/sending-messages/sendmail/">
<nav id="sidebar">
<nav id="sidebar" class="">
<div id="header-wrapper">
<div id="header">
<a href="https://lettre.github.io/lettre//getting-started/intro/"><img src="https://lettre.github.io/lettre//images/logo50.png" /></a>
<a href="https://lettre.github.io/lettre/getting-started/intro/"><img src="https://lettre.github.io/lettre/images/logo50.png" /></a>
</div>
<div class="searchbox">
<label for="search-by"><i class="fa fa-search"></i></label>
<input data-search-input id="search-by" type="text" placeholder="Search">
<input data-search-input id="search-by" type="text" placeholder="Search...">
<span data-search-clear=""><i class="fa fa-close"></i></span>
</div>
<script type="text/javascript" src="https://lettre.github.io/lettre//js/lunr.min.js"></script>
<script type="text/javascript" src="https://lettre.github.io/lettre//js/horsey.js"></script>
<script type="text/javascript" src="/lettre/js/lunr.min.js?1508105428"></script>
<script type="text/javascript" src="/lettre/js/auto-complete.js?1508105428"></script>
<script type="text/javascript">
var baseurl = "https:\/\/lettre.github.io\/lettre\/";
var baseurl = "https:\/\/lettre.github.io\/lettre";
</script>
<script type="text/javascript" src="https://lettre.github.io/lettre//js/search.js"></script>
<script type="text/javascript" src="/lettre/js/search.js?1508105428"></script>
</div>
</div>
<div class="highlightable">
<div class="highlightable">
<ul class="topics">
<li class="dd-item " data-nav-id="/lettre/getting-started/">
<a href="/lettre/getting-started/">
<span>
<b>1. </b>
Getting started
</span>
</a>
<li data-nav-id="/lettre/getting-started/" title="Getting started" class="dd-item
">
<a href="/lettre/getting-started/">
Getting started
</a>
<ul>
<li class="dd-item " data-nav-id="/lettre/getting-started/intro/">
<a href="/lettre/getting-started/intro/">
<span>Introduction </i></span>
</a>
</li>
</ul>
</li>
<li class="dd-item " data-nav-id="/lettre/creating-messages/">
<a href="/lettre/creating-messages/">
<span>
<b>2. </b>
Creating messages
</span>
<li data-nav-id="/lettre/getting-started/intro/" title="Introduction" class="dd-item ">
<a href="/lettre/getting-started/intro/">
Introduction
</a>
</li>
<li class="dd-item parent" data-nav-id="/lettre/sending-messages/">
<a href="/lettre/sending-messages/">
<span>
<b>3. </b>
Sending messages
</span>
</a>
<ul>
<li class="dd-item " data-nav-id="/lettre/sending-messages/intro/">
<a href="/lettre/sending-messages/intro/">
<span>Introduction </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/smtp/">
<a href="/lettre/sending-messages/smtp/">
<span>SMTP transport </i></span>
</a>
</li>
<li class="dd-item active" data-nav-id="/lettre/sending-messages/sendmail/">
<a href="/lettre/sending-messages/sendmail/">
<span>Sendmail transport </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/file/">
<a href="/lettre/sending-messages/file/">
<span>File transport </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/stub/">
<a href="/lettre/sending-messages/stub/">
<span>Stub transport </i></span>
</a>
</li>
</ul>
</li>
</ul>
<hr>
</li>
</ul>
</li>
<li data-nav-id="/lettre/creating-messages/" title="Creating messages" class="dd-item
">
<a href="/lettre/creating-messages/">
Creating messages
</a>
</li>
<li data-nav-id="/lettre/sending-messages/" title="Sending messages" class="dd-item
parent
">
<a href="/lettre/sending-messages/">
Sending messages
</a>
<ul>
<li data-nav-id="/lettre/sending-messages/intro/" title="Introduction" class="dd-item ">
<a href="/lettre/sending-messages/intro/">
Introduction
</a>
</li>
<li data-nav-id="/lettre/sending-messages/smtp/" title="SMTP transport" class="dd-item ">
<a href="/lettre/sending-messages/smtp/">
SMTP transport
</a>
</li>
<li data-nav-id="/lettre/sending-messages/sendmail/" title="Sendmail transport" class="dd-item active">
<a href="/lettre/sending-messages/sendmail/">
Sendmail transport
</a>
</li>
<li data-nav-id="/lettre/sending-messages/file/" title="File transport" class="dd-item ">
<a href="/lettre/sending-messages/file/">
File transport
</a>
</li>
<li data-nav-id="/lettre/sending-messages/stub/" title="Stub transport" class="dd-item ">
<a href="/lettre/sending-messages/stub/">
Stub transport
</a>
</li>
</ul>
</li>
</ul>
<section id="footer">
<p>Built with <a href="https://github.com/matcornic/hugo-theme-learn"><i class="fa fa-heart"></i></a> from <a href="http://getgrav.org">Grav</a> and <a href="http://gohugo.io/">Hugo</a></p>
@@ -213,178 +280,316 @@
</div>
</nav>
<section id="body">
<div id="overlay"></div>
<div class="padding highlightable">
<div id="top-bar">
<div class="padding highlightable sticky-parent">
<div class="sticky-spacer">
<div id="top-bar">
<div id="top-github-link">
<a class="github-link" href="https://github.com/lettre/lettre/edit/master/website/content/sending-messages/sendmail.md" target="blank">
<i class="fa fa-code-fork"></i>
Edit this page
</a>
</div>
<div id="top-github-link">
<a class="github-link" href="https://github.com/lettre/lettre/edit/master/website/content/sending-messages/sendmail.md" target="blank">
<i class="fa fa-code-fork"></i>
Edit this page
</a>
</div>
<div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle="">
<i class="fa fa-bars"></i>
</a>
<div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle="">
<i class="fa fa-bars"></i>
</a>
</span>
<span id="toc-menu"><i class="fa fa-list-alt"></i></span>
<span class="links">
<a href='/lettre/'>Lettre site</a> > <a href='/lettre/sending-messages/'>Sending messages</a> > Sendmail transport
</span>
</div>
<span id="toc-menu"><a href=""><i class="fa fa-list-alt"></i></a></span>
<a href="/lettre/sending-messages/" itemprop="url"><span itemprop="title">Sending messages</span></a> <i class="fa fa-angle-right"></i>
<span itemprop="title"> Sendmail transport</span>
</div>
<div class="progress">
<div class="progress">
<div class="wrapper">
</div>
</div>
</div>
</div>
<div id="body-inner">
<h1>Sendmail transport</h1>
<div id="body-inner">
<h1>Sendmail transport</h1>
<p>The sendmail transport sends the email using the local sendmail command.</p>
use lettre::sendmail::SendmailTransport;
use lettre::{SimpleSendableEmail, EmailTransport, EmailAddress};
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-rust" data-lang="rust"><span style="color:#66d9ef">use</span><span style=""> </span><span style="">lettre</span><span style="">::</span><span style="">sendmail</span><span style="">::</span><span style="">SendmailTransport</span><span style="">;</span><span style="">
</span><span style=""></span><span style="color:#66d9ef">use</span><span style=""> </span><span style="">lettre</span><span style="">::</span><span style="">{</span><span style="">SimpleSendableEmail</span><span style="">,</span><span style=""> </span><span style="">EmailTransport</span><span style="">,</span><span style=""> </span><span style="">EmailAddress</span><span style="">};</span><span style="">
</span><span style="">
</span><span style=""></span><span style="color:#66d9ef">let</span><span style=""> </span><span style="">email</span><span style=""> </span><span style="color:#f92672">=</span><span style=""> </span><span style="">SimpleSendableEmail</span><span style="">::</span><span style="">new</span><span style="">(</span><span style="">
</span><span style=""> </span><span style="">EmailAddress</span><span style="">::</span><span style="">new</span><span style="">(</span><span style="color:#e6db74">&#34;user@localhost&#34;</span><span style="">.</span><span style="">to_string</span><span style="">()),</span><span style="">
</span><span style=""> </span><span style="">vec</span><span style="color:#f92672">!</span><span style="">[</span><span style="">EmailAddress</span><span style="">::</span><span style="">new</span><span style="">(</span><span style="color:#e6db74">&#34;root@localhost&#34;</span><span style="">.</span><span style="">to_string</span><span style="">())],</span><span style="">
</span><span style=""> </span><span style="color:#e6db74">&#34;message_id&#34;</span><span style="">.</span><span style="">to_string</span><span style="">(),</span><span style="">
</span><span style=""> </span><span style="color:#e6db74">&#34;Hello world&#34;</span><span style="">.</span><span style="">to_string</span><span style="">(),</span><span style="">
</span><span style=""> </span><span style="">);</span><span style="">
</span><span style="">
</span><span style=""></span><span style="color:#66d9ef">let</span><span style=""> </span><span style="color:#66d9ef">mut</span><span style=""> </span><span style="">sender</span><span style=""> </span><span style="color:#f92672">=</span><span style=""> </span><span style="">SendmailTransport</span><span style="">::</span><span style="">new</span><span style="">();</span><span style="">
</span><span style=""></span><span style="color:#66d9ef">let</span><span style=""> </span><span style="">result</span><span style=""> </span><span style="color:#f92672">=</span><span style=""> </span><span style="">sender</span><span style="">.</span><span style="">send</span><span style="">(</span><span style="color:#f92672">&amp;</span><span style="">email</span><span style="">);</span><span style="">
</span><span style=""></span><span style="">assert</span><span style="color:#f92672">!</span><span style="">(</span><span style="">result</span><span style="">.</span><span style="">is_ok</span><span style="">());</span></code></pre>
</div>
let email = SimpleSendableEmail::new(
EmailAddress::new("user@localhost".to_string()),
vec![EmailAddress::new("root@localhost".to_string())],
"message_id".to_string(),
"Hello world".to_string(),
);
let mut sender = SendmailTransport::new();
let result = sender.send(&email);
assert!(result.is_ok());
<footer class=" footline" >
</footer>
</div>
</div>
</div>
<div id="navigation">
<a class="nav nav-prev" href="/lettre/sending-messages/smtp/"> <i class="fa fa-chevron-left"></i></a>
<a class="nav nav-next" href="/lettre/sending-messages/file/" style="margin-right: 0px;"><i class="fa fa-chevron-right"></i></a>
<a class="nav nav-prev" href="/lettre/sending-messages/smtp/" title="SMTP transport"> <i class="fa fa-chevron-left"></i></a>
<a class="nav nav-next" href="/lettre/sending-messages/file/" title="File transport" style="margin-right: 0px;"><i class="fa fa-chevron-right"></i></a>
</div>
</section>
<div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
<div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
</div>
<script src="https://lettre.github.io/lettre//js/clipboard.min.js"></script>
<script src="https://lettre.github.io/lettre//js/perfect-scrollbar.min.js"></script>
<script src="https://lettre.github.io/lettre//js/perfect-scrollbar.jquery.min.js"></script>
<script src="https://lettre.github.io/lettre//js/jquery.sticky-kit.min.js"></script>
<script src="https://lettre.github.io/lettre//js/featherlight.min.js"></script>
<script src="https://lettre.github.io/lettre//js/html5shiv-printshiv.min.js"></script>
<script src="https://lettre.github.io/lettre//js/highlight.pack.js"></script>
<script src="/lettre/js/clipboard.min.js?1508105428"></script>
<script src="/lettre/js/perfect-scrollbar.min.js?1508105428"></script>
<script src="/lettre/js/perfect-scrollbar.jquery.min.js?1508105428"></script>
<script src="/lettre/js/jquery.sticky-kit.min.js?1508105428"></script>
<script src="/lettre/js/featherlight.min.js?1508105428"></script>
<script src="/lettre/js/html5shiv-printshiv.min.js?1508105428"></script>
<script src="/lettre/js/highlight.pack.js?1508105428"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="https://lettre.github.io/lettre//js/modernizr.custom.71422.js"></script>
<script src="https://lettre.github.io/lettre//js/learn.js"></script>
<script src="https://lettre.github.io/lettre//js/hugo-learn.js"></script>
<script src="/lettre/js/modernizr.custom.71422.js?1508105428"></script>
<script src="/lettre/js/learn.js?1508105428"></script>
<script src="/lettre/js/hugo-learn.js?1508105428"></script>
<link href="/lettre/mermaid/mermaid.css?1508105428" type="text/css" rel="stylesheet" />
<script src="/lettre/mermaid/mermaid.js?1508105428"></script>
<script>
mermaid.initialize({ startOnLoad: true });
</script>
</body>

File diff suppressed because it is too large Load Diff

View File

@@ -3,209 +3,276 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta name="generator" content="Hugo 0.20.7" />
<meta name="generator" content="Hugo 0.29" />
<meta name="description" content="Documentation for the Lettre mailer in Rust">
<meta name="author" content="Alexis Mousset">
<link rel="shortcut icon" href="https://lettre.github.io/lettre//images/favicon.png" type="image/x-icon" />
<link rel="shortcut icon" href="https://lettre.github.io/lettre/images/favicon.png" type="image/x-icon" />
<title>Stub transport :: Lettre site</title>
<title>Stub transport</title>
<link href="https://lettre.github.io/lettre//css/nucleus.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/font-awesome.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/hybrid.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/featherlight.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/perfect-scrollbar.min.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/horsey.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/theme.css" rel="stylesheet">
<link href="https://lettre.github.io/lettre//css/hugo-theme.css" rel="stylesheet">
<script src="https://lettre.github.io/lettre//js/jquery-2.x.min.js"></script>
<style type="text/css">:root #header + #content > #left > #rlblock_left
{display:none !important;}</style>
<link href="/lettre/css/nucleus.css?1508105428" rel="stylesheet">
<link href="/lettre/css/font-awesome.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/hybrid.css?1508105428" rel="stylesheet">
<link href="/lettre/css/featherlight.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/perfect-scrollbar.min.css?1508105428" rel="stylesheet">
<link href="/lettre/css/auto-complete.css?1508105428" rel="stylesheet">
<link href="/lettre/css/theme.css?1508105428" rel="stylesheet">
<link href="/lettre/css/hugo-theme.css?1508105428" rel="stylesheet">
<script src="/lettre/js/jquery-2.x.min.js?1508105428"></script>
<style type="text/css">
:root #header + #content > #left > #rlblock_left{
display:none !important;
}
</style>
</head>
<body class="" data-url="/lettre/sending-messages/stub/">
<nav id="sidebar">
<nav id="sidebar" class="">
<div id="header-wrapper">
<div id="header">
<a href="https://lettre.github.io/lettre//getting-started/intro/"><img src="https://lettre.github.io/lettre//images/logo50.png" /></a>
<a href="https://lettre.github.io/lettre/getting-started/intro/"><img src="https://lettre.github.io/lettre/images/logo50.png" /></a>
</div>
<div class="searchbox">
<label for="search-by"><i class="fa fa-search"></i></label>
<input data-search-input id="search-by" type="text" placeholder="Search">
<input data-search-input id="search-by" type="text" placeholder="Search...">
<span data-search-clear=""><i class="fa fa-close"></i></span>
</div>
<script type="text/javascript" src="https://lettre.github.io/lettre//js/lunr.min.js"></script>
<script type="text/javascript" src="https://lettre.github.io/lettre//js/horsey.js"></script>
<script type="text/javascript" src="/lettre/js/lunr.min.js?1508105428"></script>
<script type="text/javascript" src="/lettre/js/auto-complete.js?1508105428"></script>
<script type="text/javascript">
var baseurl = "https:\/\/lettre.github.io\/lettre\/";
var baseurl = "https:\/\/lettre.github.io\/lettre";
</script>
<script type="text/javascript" src="https://lettre.github.io/lettre//js/search.js"></script>
<script type="text/javascript" src="/lettre/js/search.js?1508105428"></script>
</div>
</div>
<div class="highlightable">
<div class="highlightable">
<ul class="topics">
<li class="dd-item " data-nav-id="/lettre/getting-started/">
<a href="/lettre/getting-started/">
<span>
<b>1. </b>
Getting started
</span>
</a>
<li data-nav-id="/lettre/getting-started/" title="Getting started" class="dd-item
">
<a href="/lettre/getting-started/">
Getting started
</a>
<ul>
<li class="dd-item " data-nav-id="/lettre/getting-started/intro/">
<a href="/lettre/getting-started/intro/">
<span>Introduction </i></span>
</a>
</li>
</ul>
</li>
<li class="dd-item " data-nav-id="/lettre/creating-messages/">
<a href="/lettre/creating-messages/">
<span>
<b>2. </b>
Creating messages
</span>
<li data-nav-id="/lettre/getting-started/intro/" title="Introduction" class="dd-item ">
<a href="/lettre/getting-started/intro/">
Introduction
</a>
</li>
<li class="dd-item parent" data-nav-id="/lettre/sending-messages/">
<a href="/lettre/sending-messages/">
<span>
<b>3. </b>
Sending messages
</span>
</a>
<ul>
<li class="dd-item " data-nav-id="/lettre/sending-messages/intro/">
<a href="/lettre/sending-messages/intro/">
<span>Introduction </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/smtp/">
<a href="/lettre/sending-messages/smtp/">
<span>SMTP transport </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/sendmail/">
<a href="/lettre/sending-messages/sendmail/">
<span>Sendmail transport </i></span>
</a>
</li>
<li class="dd-item " data-nav-id="/lettre/sending-messages/file/">
<a href="/lettre/sending-messages/file/">
<span>File transport </i></span>
</a>
</li>
<li class="dd-item active" data-nav-id="/lettre/sending-messages/stub/">
<a href="/lettre/sending-messages/stub/">
<span>Stub transport </i></span>
</a>
</li>
</ul>
</li>
</ul>
<hr>
</li>
</ul>
</li>
<li data-nav-id="/lettre/creating-messages/" title="Creating messages" class="dd-item
">
<a href="/lettre/creating-messages/">
Creating messages
</a>
</li>
<li data-nav-id="/lettre/sending-messages/" title="Sending messages" class="dd-item
parent
">
<a href="/lettre/sending-messages/">
Sending messages
</a>
<ul>
<li data-nav-id="/lettre/sending-messages/intro/" title="Introduction" class="dd-item ">
<a href="/lettre/sending-messages/intro/">
Introduction
</a>
</li>
<li data-nav-id="/lettre/sending-messages/smtp/" title="SMTP transport" class="dd-item ">
<a href="/lettre/sending-messages/smtp/">
SMTP transport
</a>
</li>
<li data-nav-id="/lettre/sending-messages/sendmail/" title="Sendmail transport" class="dd-item ">
<a href="/lettre/sending-messages/sendmail/">
Sendmail transport
</a>
</li>
<li data-nav-id="/lettre/sending-messages/file/" title="File transport" class="dd-item ">
<a href="/lettre/sending-messages/file/">
File transport
</a>
</li>
<li data-nav-id="/lettre/sending-messages/stub/" title="Stub transport" class="dd-item active">
<a href="/lettre/sending-messages/stub/">
Stub transport
</a>
</li>
</ul>
</li>
</ul>
<section id="footer">
<p>Built with <a href="https://github.com/matcornic/hugo-theme-learn"><i class="fa fa-heart"></i></a> from <a href="http://getgrav.org">Grav</a> and <a href="http://gohugo.io/">Hugo</a></p>
@@ -213,180 +280,317 @@
</div>
</nav>
<section id="body">
<div id="overlay"></div>
<div class="padding highlightable">
<div id="top-bar">
<div class="padding highlightable sticky-parent">
<div class="sticky-spacer">
<div id="top-bar">
<div id="top-github-link">
<a class="github-link" href="https://github.com/lettre/lettre/edit/master/website/content/sending-messages/stub.md" target="blank">
<i class="fa fa-code-fork"></i>
Edit this page
</a>
</div>
<div id="top-github-link">
<a class="github-link" href="https://github.com/lettre/lettre/edit/master/website/content/sending-messages/stub.md" target="blank">
<i class="fa fa-code-fork"></i>
Edit this page
</a>
</div>
<div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle="">
<i class="fa fa-bars"></i>
</a>
<div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle="">
<i class="fa fa-bars"></i>
</a>
</span>
<span id="toc-menu"><i class="fa fa-list-alt"></i></span>
<span class="links">
<a href='/lettre/'>Lettre site</a> > <a href='/lettre/sending-messages/'>Sending messages</a> > Stub transport
</span>
</div>
<span id="toc-menu"><a href=""><i class="fa fa-list-alt"></i></a></span>
<a href="/lettre/sending-messages/" itemprop="url"><span itemprop="title">Sending messages</span></a> <i class="fa fa-angle-right"></i>
<span itemprop="title"> Stub transport</span>
</div>
<div class="progress">
<div class="progress">
<div class="wrapper">
</div>
</div>
</div>
</div>
<div id="body-inner">
<h1>Stub transport</h1>
<div id="body-inner">
<h1>Stub transport</h1>
<p>The stub transport only logs message envelope and drops the content. It can be useful for
testing purposes.</p>
use lettre::stub::StubEmailTransport;
use lettre::{SimpleSendableEmail, EmailTransport, EmailAddress};
let email = SimpleSendableEmail::new(
EmailAddress::new("user@localhost".to_string()),
vec![EmailAddress::new("root@localhost".to_string())],
"message_id".to_string(),
"Hello world".to_string(),
);
let mut sender = StubEmailTransport::new_positive();
let result = sender.send(&email);
assert!(result.is_ok());
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-rust" data-lang="rust"><span style="color:#66d9ef">use</span><span style=""> </span><span style="">lettre</span><span style="">::</span><span style="">stub</span><span style="">::</span><span style="">StubEmailTransport</span><span style="">;</span><span style="">
</span><span style=""></span><span style="color:#66d9ef">use</span><span style=""> </span><span style="">lettre</span><span style="">::</span><span style="">{</span><span style="">SimpleSendableEmail</span><span style="">,</span><span style=""> </span><span style="">EmailTransport</span><span style="">,</span><span style=""> </span><span style="">EmailAddress</span><span style="">};</span><span style="">
</span><span style="">
</span><span style=""></span><span style="color:#66d9ef">let</span><span style=""> </span><span style="">email</span><span style=""> </span><span style="color:#f92672">=</span><span style=""> </span><span style="">SimpleSendableEmail</span><span style="">::</span><span style="">new</span><span style="">(</span><span style="">
</span><span style=""> </span><span style="">EmailAddress</span><span style="">::</span><span style="">new</span><span style="">(</span><span style="color:#e6db74">&#34;user@localhost&#34;</span><span style="">.</span><span style="">to_string</span><span style="">()),</span><span style="">
</span><span style=""> </span><span style="">vec</span><span style="color:#f92672">!</span><span style="">[</span><span style="">EmailAddress</span><span style="">::</span><span style="">new</span><span style="">(</span><span style="color:#e6db74">&#34;root@localhost&#34;</span><span style="">.</span><span style="">to_string</span><span style="">())],</span><span style="">
</span><span style=""> </span><span style="color:#e6db74">&#34;message_id&#34;</span><span style="">.</span><span style="">to_string</span><span style="">(),</span><span style="">
</span><span style=""> </span><span style="color:#e6db74">&#34;Hello world&#34;</span><span style="">.</span><span style="">to_string</span><span style="">(),</span><span style="">
</span><span style=""> </span><span style="">);</span><span style="">
</span><span style="">
</span><span style=""></span><span style="color:#66d9ef">let</span><span style=""> </span><span style="color:#66d9ef">mut</span><span style=""> </span><span style="">sender</span><span style=""> </span><span style="color:#f92672">=</span><span style=""> </span><span style="">StubEmailTransport</span><span style="">::</span><span style="">new_positive</span><span style="">();</span><span style="">
</span><span style=""></span><span style="color:#66d9ef">let</span><span style=""> </span><span style="">result</span><span style=""> </span><span style="color:#f92672">=</span><span style=""> </span><span style="">sender</span><span style="">.</span><span style="">send</span><span style="">(</span><span style="color:#f92672">&amp;</span><span style="">email</span><span style="">);</span><span style="">
</span><span style=""></span><span style="">assert</span><span style="color:#f92672">!</span><span style="">(</span><span style="">result</span><span style="">.</span><span style="">is_ok</span><span style="">());</span></code></pre>
</div>
<p>Will log (when using a logger like <code>env_logger</code>):</p>
b7c211bc-9811-45ce-8cd9-68eab575d695: from=<user@localhost> to=<root@localhost>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-text" data-lang="text"><span style="">b7c211bc-9811-45ce-8cd9-68eab575d695: from=&lt;user@localhost&gt; to=&lt;root@localhost&gt;</span></code></pre>
</div>
<footer class=" footline" >
</footer>
</div>
</div>
</div>
<div id="navigation">
<a class="nav nav-prev" href="/lettre/sending-messages/file/"> <i class="fa fa-chevron-left"></i></a>
<a class="nav nav-prev" href="/lettre/sending-messages/file/" title="File transport"> <i class="fa fa-chevron-left"></i></a>
<a class="nav nav-next" href="/lettre/sending-messages/intro/" title="Introduction" style="margin-right: 0px;"><i class="fa fa-chevron-right"></i></a>
</div>
</section>
<div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
<div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
</div>
<script src="https://lettre.github.io/lettre//js/clipboard.min.js"></script>
<script src="https://lettre.github.io/lettre//js/perfect-scrollbar.min.js"></script>
<script src="https://lettre.github.io/lettre//js/perfect-scrollbar.jquery.min.js"></script>
<script src="https://lettre.github.io/lettre//js/jquery.sticky-kit.min.js"></script>
<script src="https://lettre.github.io/lettre//js/featherlight.min.js"></script>
<script src="https://lettre.github.io/lettre//js/html5shiv-printshiv.min.js"></script>
<script src="https://lettre.github.io/lettre//js/highlight.pack.js"></script>
<script src="/lettre/js/clipboard.min.js?1508105428"></script>
<script src="/lettre/js/perfect-scrollbar.min.js?1508105428"></script>
<script src="/lettre/js/perfect-scrollbar.jquery.min.js?1508105428"></script>
<script src="/lettre/js/jquery.sticky-kit.min.js?1508105428"></script>
<script src="/lettre/js/featherlight.min.js?1508105428"></script>
<script src="/lettre/js/html5shiv-printshiv.min.js?1508105428"></script>
<script src="/lettre/js/highlight.pack.js?1508105428"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="https://lettre.github.io/lettre//js/modernizr.custom.71422.js"></script>
<script src="https://lettre.github.io/lettre//js/learn.js"></script>
<script src="https://lettre.github.io/lettre//js/hugo-learn.js"></script>
<script src="/lettre/js/modernizr.custom.71422.js?1508105428"></script>
<script src="/lettre/js/learn.js?1508105428"></script>
<script src="/lettre/js/hugo-learn.js?1508105428"></script>
<link href="/lettre/mermaid/mermaid.css?1508105428" type="text/css" rel="stylesheet" />
<script src="/lettre/mermaid/mermaid.js?1508105428"></script>
<script>
mermaid.initialize({ startOnLoad: true });
</script>
</body>

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://lettre.github.io/lettre/getting-started/intro/</loc>