Update dist for prod
This commit is contained in:
parent
4cd001bdf3
commit
3759974880
39 changed files with 29 additions and 20 deletions
|
|
@ -221,13 +221,22 @@ specified otherwise in a map. Always use a specific selector so that you can lat
|
|||
into trouble.</p>
|
||||
<p>Using maps is simple. First we need to change the <em>selector_map</em> setting of the dkim_signing module. Create a new rspamd
|
||||
configuration file:</p>
|
||||
<div class="expressive-code"><figure class="frame is-terminal has-title not-content"><figcaption class="header"><span class="title">Run this on your server</span></figcaption><pre data-language="sh"><code><div class="ec-line"><div class="code"><span style="--0:#919F9F;--1:#5F636F"># Tell rspamd to look up selectors in our mapping file</span></div></div><div class="ec-line"><div class="code"><span style="--0:#82AAFF;--1:#3B61B0">cat</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#7FDBCA;--1:#096E72">></span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">/etc/rspamd/local.d/dkim_signing.conf</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#7FDBCA;--1:#096E72"><<</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#D9F5DD;--1:#111111">'EOF'</span></div></div><div class="ec-line"><div class="code"><span style="--0:#ECC48D;--1:#984E4D">path = "/var/lib/rspamd/dkim/$domain.$selector.key";</span></div></div><div class="ec-line"><div class="code"><span style="--0:#ECC48D;--1:#984E4D">selector_map = "/etc/rspamd/dkim_selectors.map";</span></div></div><div class="ec-line"><div class="code"><span style="--0:#D9F5DD;--1:#111111">EOF</span></div></div><div class="ec-line"><div class="code">
|
||||
</div></div><div class="ec-line"><div class="code"><span style="--0:#919F9F;--1:#5F636F"># Restart rspamd</span></div></div><div class="ec-line"><div class="code"><span style="--0:#82AAFF;--1:#3B61B0">systemctl</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">restart</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">rspamd</span></div></div></code></pre><div class="copy"><div aria-live="polite"></div><button title="Copy to clipboard" data-copied="Copied!" data-code="# Tell rspamd to look up selectors in our mapping filecat > /etc/rspamd/local.d/dkim_signing.conf << 'EOF'path = "/var/lib/rspamd/dkim/$domain.$selector.key";selector_map = "/etc/rspamd/dkim_selectors.map";EOF# Restart rspamdsystemctl restart rspamd"><div></div></button></div></figure></div>
|
||||
<div class="expressive-code"><figure class="frame is-terminal has-title not-content"><figcaption class="header"><span class="title">Run this on your server</span></figcaption><pre data-language="sh"><code><div class="ec-line"><div class="code"><span style="--0:#919F9F;--1:#5F636F"># Tell rspamd to look up selectors in our mapping file</span></div></div><div class="ec-line"><div class="code"><span style="--0:#82AAFF;--1:#3B61B0">cat</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#7FDBCA;--1:#096E72">></span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">/etc/rspamd/local.d/dkim_signing.conf</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#7FDBCA;--1:#096E72"><<</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#D9F5DD;--1:#111111">'EOF'</span></div></div><div class="ec-line"><div class="code"><span style="--0:#ECC48D;--1:#984E4D">path = "/var/lib/rspamd/dkim/$domain.$selector.key";</span></div></div><div class="ec-line"><div class="code"><span style="--0:#ECC48D;--1:#984E4D">selector_map = "/etc/rspamd/dkim_selectors.map";</span></div></div><div class="ec-line"><div class="code"><span style="--0:#ECC48D;--1:#984E4D">allow_username_mismatch = true;</span></div></div><div class="ec-line"><div class="code"><span style="--0:#D9F5DD;--1:#111111">EOF</span></div></div><div class="ec-line"><div class="code">
|
||||
</div></div><div class="ec-line"><div class="code"><span style="--0:#919F9F;--1:#5F636F"># Restart rspamd</span></div></div><div class="ec-line"><div class="code"><span style="--0:#82AAFF;--1:#3B61B0">systemctl</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">restart</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">rspamd</span></div></div></code></pre><div class="copy"><div aria-live="polite"></div><button title="Copy to clipboard" data-copied="Copied!" data-code="# Tell rspamd to look up selectors in our mapping filecat > /etc/rspamd/local.d/dkim_signing.conf << 'EOF'path = "/var/lib/rspamd/dkim/$domain.$selector.key";selector_map = "/etc/rspamd/dkim_selectors.map";allow_username_mismatch = true;EOF# Restart rspamdsystemctl restart rspamd"><div></div></button></div></figure></div>
|
||||
<p>The configuration is simple. rspamd will look for the domain-to-key mapping in the <code dir="auto">dkim_selectors.map</code> file. Create
|
||||
that file for your own domain and selector:</p>
|
||||
<div class="expressive-code"><figure class="frame is-terminal has-title not-content"><figcaption class="header"><span class="title">Run this on your server</span></figcaption><pre data-language="sh"><code><div class="ec-line"><div class="code"><span style="--0:#919F9F;--1:#5F636F"># Add the mapping of domain/selector (use your own domain here)</span></div></div><div class="ec-line"><div class="code"><span style="--0:#C5E478;--1:#3B61B0">echo</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">example.org</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#F78C6C;--1:#AA0982">2025100901</span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#7FDBCA;--1:#096E72">></span><span style="--0:#D6DEEB;--1:#403F53"> </span><span style="--0:#ECC48D;--1:#3B61B0">/etc/rspamd/dkim_selectors.map</span></div></div></code></pre><div class="copy"><div aria-live="polite"></div><button title="Copy to clipboard" data-copied="Copied!" data-code="# Add the mapping of domain/selector (use your own domain here)echo example.org 2025100901 > /etc/rspamd/dkim_selectors.map"><div></div></button></div></figure></div>
|
||||
<p>That’s all. rspamd now knows that whenever it sees an outgoing email from <code dir="auto">anyone@example.org</code> it will get the DKIM
|
||||
private key from /var/lib/rspamd/dkim/<strong>example.org</strong>.<strong>2025100901</strong>.key and use it to sign the email.</p>
|
||||
<p>The <code dir="auto">allow_username_mismatch</code> setting makes rspamd sign an email even if the
|
||||
authenticated user (during relaying) does not match the actual sender address.
|
||||
Sounds complicated? Well, the use case is <em>aliases</em>. Imagine that
|
||||
<code dir="auto">john@example.com</code> has an alias address of <code dir="auto">pizza@example.org</code>. If John logs in
|
||||
as <code dir="auto">john@example.org</code> but chooses to set his sender address to
|
||||
<code dir="auto">pizza@example.org</code> then rspamd will (by default) not add a DKIM signature due
|
||||
to a mismatch. Setting <code dir="auto">allow_username_mismatch</code> overrides this behavior and
|
||||
John’s email will be signed even if he sends on behalf of <code dir="auto">pizza@example.org</code>.
|
||||
(Thanks, DBL, for the hint.)</p>
|
||||
<div class="sl-heading-wrapper level-h3"><h3 id="send-a-test-email">Send a test email</h3><a class="sl-anchor-link" href="#send-a-test-email"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 1 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 0 0-1.42-1.42m8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 1 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l3.88-3.89a4.49 4.49 0 0 0 0-6.33M8.83 15.17a1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.92-4.92a1 1 0 1 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42"></path></svg></span><span class="sr-only" data-pagefind-ignore>Section titled “Send a test email”</span></a></div>
|
||||
<p>You could either just send an email from your mail client (or Roundcube) through your mail server to another email
|
||||
address. Or you could use swaks. Use your own addresses and password of course:</p>
|
||||
|
|
|
|||
|
|
@ -78,4 +78,4 @@
|
|||
it helps to get a better understanding of the steps involved in receiving email. We will prepare the necessary
|
||||
configuration in the next chapters.</p>
|
||||
<p>Use the arrows to navigate between slides:</p>
|
||||
<astro-splide data-splideid="astro-splide-7nn4o61mx" data-options="{}"><div id="astro-splide-7nn4o61mx" class="splide"><div class="splide__track"><ul class="splide__list"> <li class="splide__slide" key="1"><img src="/big-picture-receive/01.svg" alt="Slide 1"/></li><li class="splide__slide" key="2"><img src="/big-picture-receive/02.svg" alt="Slide 2"/></li><li class="splide__slide" key="3"><img src="/big-picture-receive/03.svg" alt="Slide 3"/></li><li class="splide__slide" key="4"><img src="/big-picture-receive/04.svg" alt="Slide 4"/></li><li class="splide__slide" key="5"><img src="/big-picture-receive/05.svg" alt="Slide 5"/></li><li class="splide__slide" key="6"><img src="/big-picture-receive/06.svg" alt="Slide 6"/></li><li class="splide__slide" key="7"><img src="/big-picture-receive/07.svg" alt="Slide 7"/></li><li class="splide__slide" key="8"><img src="/big-picture-receive/08.svg" alt="Slide 8"/></li><li class="splide__slide" key="9"><img src="/big-picture-receive/09.svg" alt="Slide 9"/></li><li class="splide__slide" key="10"><img src="/big-picture-receive/10.svg" alt="Slide 10"/></li><li class="splide__slide" key="11"><img src="/big-picture-receive/11.svg" alt="Slide 11"/></li><li class="splide__slide" key="12"><img src="/big-picture-receive/12.svg" alt="Slide 12"/></li><li class="splide__slide" key="13"><img src="/big-picture-receive/13.svg" alt="Slide 13"/></li><li class="splide__slide" key="14"><img src="/big-picture-receive/14.svg" alt="Slide 14"/></li><li class="splide__slide" key="15"><img src="/big-picture-receive/15.svg" alt="Slide 15"/></li><li class="splide__slide" key="16"><img src="/big-picture-receive/16.svg" alt="Slide 16"/></li><li class="splide__slide" key="17"><img src="/big-picture-receive/17.svg" alt="Slide 17"/></li><li class="splide__slide" key="18"><img src="/big-picture-receive/18.svg" alt="Slide 18"/></li><li class="splide__slide" key="19"><img src="/big-picture-receive/19.svg" alt="Slide 19"/></li><li class="splide__slide" key="20"><img src="/big-picture-receive/20.svg" alt="Slide 20"/></li><li class="splide__slide" key="21"><img src="/big-picture-receive/21.svg" alt="Slide 21"/></li><li class="splide__slide" key="22"><img src="/big-picture-receive/22.svg" alt="Slide 22"/></li><li class="splide__slide" key="23"><img src="/big-picture-receive/23.svg" alt="Slide 23"/></li><li class="splide__slide" key="24"><img src="/big-picture-receive/24.svg" alt="Slide 24"/></li> </ul></div></div></astro-splide><script type="module" src="/_astro/Splide.astro_astro_type_script_index_0_lang.DkIk0FXZ.js"></script></div><footer><footer class="sl-flex astro-xhxjzfa7"><div class="meta sl-flex astro-xhxjzfa7"><p>Last updated: <time datetime="2025-11-01T00:00:00.000Z">Nov 1, 2025</time></p></div><div class="pagination-links print:hidden astro-jgq3vlii" dir="ltr"><a href="/ispmail-trixie/database/" rel="prev" class="astro-jgq3vlii"><svg aria-hidden="true" class="astro-jgq3vlii astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17 11H9.41l3.3-3.29a1.004 1.004 0 1 0-1.42-1.42l-5 5a1 1 0 0 0-.21.33 1 1 0 0 0 0 .76 1 1 0 0 0 .21.33l5 5a1.002 1.002 0 0 0 1.639-.325 1 1 0 0 0-.219-1.095L9.41 13H17a1 1 0 0 0 0-2Z"/></svg><span class="astro-jgq3vlii">Previous<br class="astro-jgq3vlii"><span class="link-title astro-jgq3vlii">Database setup</span></span></a><a href="/ispmail-trixie/dns-records/" rel="next" class="astro-jgq3vlii"><svg aria-hidden="true" class="astro-jgq3vlii astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17.92 11.62a1.001 1.001 0 0 0-.21-.33l-5-5a1.003 1.003 0 1 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1.002 1.002 0 0 0 .325 1.639 1 1 0 0 0 1.095-.219l5-5a1 1 0 0 0 .21-.33 1 1 0 0 0 0-.76Z"/></svg><span class="astro-jgq3vlii">Next<br class="astro-jgq3vlii"><span class="link-title astro-jgq3vlii">DNS records</span></span></a></div></footer><script defer src="https://comentario.workaround.org/comentario.js"></script><comentario-comments no-fonts="true" id="comments"></comentario-comments><div class="myfooter">This guide is maintained by <a href="mailto:ispmail@christoph-haas.de">Christoph Haas</a> since 2003. All content on workaround.org can be used under the terms of the<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" target="_blank">Creative Commons BY-NC-SA license</a>. Penguin image based on AI art because I suck at drawing.</div></footer></div></div></main></div></div></div></div></body></html>
|
||||
<astro-splide data-splideid="astro-splide-8cgqrnqln" data-options="{}"><div id="astro-splide-8cgqrnqln" class="splide"><div class="splide__track"><ul class="splide__list"> <li class="splide__slide" key="1"><img src="/big-picture-receive/01.svg" alt="Slide 1"/></li><li class="splide__slide" key="2"><img src="/big-picture-receive/02.svg" alt="Slide 2"/></li><li class="splide__slide" key="3"><img src="/big-picture-receive/03.svg" alt="Slide 3"/></li><li class="splide__slide" key="4"><img src="/big-picture-receive/04.svg" alt="Slide 4"/></li><li class="splide__slide" key="5"><img src="/big-picture-receive/05.svg" alt="Slide 5"/></li><li class="splide__slide" key="6"><img src="/big-picture-receive/06.svg" alt="Slide 6"/></li><li class="splide__slide" key="7"><img src="/big-picture-receive/07.svg" alt="Slide 7"/></li><li class="splide__slide" key="8"><img src="/big-picture-receive/08.svg" alt="Slide 8"/></li><li class="splide__slide" key="9"><img src="/big-picture-receive/09.svg" alt="Slide 9"/></li><li class="splide__slide" key="10"><img src="/big-picture-receive/10.svg" alt="Slide 10"/></li><li class="splide__slide" key="11"><img src="/big-picture-receive/11.svg" alt="Slide 11"/></li><li class="splide__slide" key="12"><img src="/big-picture-receive/12.svg" alt="Slide 12"/></li><li class="splide__slide" key="13"><img src="/big-picture-receive/13.svg" alt="Slide 13"/></li><li class="splide__slide" key="14"><img src="/big-picture-receive/14.svg" alt="Slide 14"/></li><li class="splide__slide" key="15"><img src="/big-picture-receive/15.svg" alt="Slide 15"/></li><li class="splide__slide" key="16"><img src="/big-picture-receive/16.svg" alt="Slide 16"/></li><li class="splide__slide" key="17"><img src="/big-picture-receive/17.svg" alt="Slide 17"/></li><li class="splide__slide" key="18"><img src="/big-picture-receive/18.svg" alt="Slide 18"/></li><li class="splide__slide" key="19"><img src="/big-picture-receive/19.svg" alt="Slide 19"/></li><li class="splide__slide" key="20"><img src="/big-picture-receive/20.svg" alt="Slide 20"/></li><li class="splide__slide" key="21"><img src="/big-picture-receive/21.svg" alt="Slide 21"/></li><li class="splide__slide" key="22"><img src="/big-picture-receive/22.svg" alt="Slide 22"/></li><li class="splide__slide" key="23"><img src="/big-picture-receive/23.svg" alt="Slide 23"/></li><li class="splide__slide" key="24"><img src="/big-picture-receive/24.svg" alt="Slide 24"/></li> </ul></div></div></astro-splide><script type="module" src="/_astro/Splide.astro_astro_type_script_index_0_lang.DkIk0FXZ.js"></script></div><footer><footer class="sl-flex astro-xhxjzfa7"><div class="meta sl-flex astro-xhxjzfa7"><p>Last updated: <time datetime="2025-11-01T00:00:00.000Z">Nov 1, 2025</time></p></div><div class="pagination-links print:hidden astro-jgq3vlii" dir="ltr"><a href="/ispmail-trixie/database/" rel="prev" class="astro-jgq3vlii"><svg aria-hidden="true" class="astro-jgq3vlii astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17 11H9.41l3.3-3.29a1.004 1.004 0 1 0-1.42-1.42l-5 5a1 1 0 0 0-.21.33 1 1 0 0 0 0 .76 1 1 0 0 0 .21.33l5 5a1.002 1.002 0 0 0 1.639-.325 1 1 0 0 0-.219-1.095L9.41 13H17a1 1 0 0 0 0-2Z"/></svg><span class="astro-jgq3vlii">Previous<br class="astro-jgq3vlii"><span class="link-title astro-jgq3vlii">Database setup</span></span></a><a href="/ispmail-trixie/dns-records/" rel="next" class="astro-jgq3vlii"><svg aria-hidden="true" class="astro-jgq3vlii astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17.92 11.62a1.001 1.001 0 0 0-.21-.33l-5-5a1.003 1.003 0 1 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1.002 1.002 0 0 0 .325 1.639 1 1 0 0 0 1.095-.219l5-5a1 1 0 0 0 .21-.33 1 1 0 0 0 0-.76Z"/></svg><span class="astro-jgq3vlii">Next<br class="astro-jgq3vlii"><span class="link-title astro-jgq3vlii">DNS records</span></span></a></div></footer><script defer src="https://comentario.workaround.org/comentario.js"></script><comentario-comments no-fonts="true" id="comments"></comentario-comments><div class="myfooter">This guide is maintained by <a href="mailto:ispmail@christoph-haas.de">Christoph Haas</a> since 2003. All content on workaround.org can be used under the terms of the<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" target="_blank">Creative Commons BY-NC-SA license</a>. Penguin image based on AI art because I suck at drawing.</div></footer></div></div></main></div></div></div></div></body></html>
|
||||
Loading…
Add table
Add a link
Reference in a new issue