Merge branch 'trixie' of github.com:Signum/workaround-astro-starlight into trixie

This commit is contained in:
Christoph Haas 2025-09-17 10:46:54 +02:00
commit ebd9d3dd1e
6 changed files with 251 additions and 2 deletions

View file

@ -1,4 +1,93 @@
User-agent: *
Allow: /
User-agent: AddSearchBot
User-agent: AI2Bot
User-agent: Ai2Bot-Dolma
User-agent: aiHitBot
User-agent: Amazonbot
User-agent: Andibot
User-agent: anthropic-ai
User-agent: Applebot
User-agent: Applebot-Extended
User-agent: Awario
User-agent: bedrockbot
User-agent: bigsur.ai
User-agent: Brightbot 1.0
User-agent: Bytespider
User-agent: CCBot
User-agent: ChatGPT Agent
User-agent: ChatGPT-User
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: Claude-Web
User-agent: ClaudeBot
User-agent: CloudVertexBot
User-agent: cohere-ai
User-agent: cohere-training-data-crawler
User-agent: Cotoyogi
User-agent: Crawlspace
User-agent: Datenbank Crawler
User-agent: Devin
User-agent: Diffbot
User-agent: DuckAssistBot
User-agent: Echobot Bot
User-agent: EchoboxBot
User-agent: FacebookBot
User-agent: facebookexternalhit
User-agent: Factset_spyderbot
User-agent: FirecrawlAgent
User-agent: FriendlyCrawler
User-agent: Gemini-Deep-Research
User-agent: GPTBot
User-agent: iaskspider/2.0
User-agent: ICC-Crawler
User-agent: ImagesiftBot
User-agent: img2dataset
User-agent: ISSCyberRiskCrawler
User-agent: Kangaroo Bot
User-agent: LinerBot
User-agent: meta-externalagent
User-agent: Meta-ExternalAgent
User-agent: meta-externalfetcher
User-agent: Meta-ExternalFetcher
User-agent: meta-webindexer
User-agent: MistralAI-User
User-agent: MistralAI-User/1.0
User-agent: MyCentralAIScraperBot
User-agent: netEstate Imprint Crawler
User-agent: NovaAct
User-agent: OAI-SearchBot
User-agent: omgili
User-agent: omgilibot
User-agent: OpenAI
User-agent: Operator
User-agent: PanguBot
User-agent: Panscient
User-agent: panscient.com
User-agent: Perplexity-User
User-agent: PerplexityBot
User-agent: PetalBot
User-agent: PhindBot
User-agent: Poseidon Research Crawler
User-agent: QualifiedBot
User-agent: QuillBot
User-agent: quillbot.com
User-agent: SBIntuitionsBot
User-agent: Scrapy
User-agent: SemrushBot-OCOB
User-agent: SemrushBot-SWA
User-agent: ShapBot
User-agent: Sidetrade indexer bot
User-agent: TerraCotta
User-agent: Thinkbot
User-agent: TikTokSpider
User-agent: Timpibot
User-agent: VelenPublicWebCrawler
User-agent: WARDBot
User-agent: Webzio-Extended
User-agent: wpbot
User-agent: YaK
User-agent: YandexAdditional
User-agent: YandexAdditionalBot
User-agent: YouBot
Disallow: /
Sitemap: https://workaround.org/sitemap-index.xml

View file

@ -0,0 +1,54 @@
---
title: IMAP
lastUpdated: 2025-09-14
slug: ispmail-trxie/imap
sidebar:
order: 190
---
Your mail server relies on two primary protocols. Weve already covered **SMTP** in detail, which handles the transfer
of emails between servers. The other important protocol is
[**IMAP**](https://en.wikipedia.org/wiki/Internet_Message_Access_Protocol) the _Internet Message Access Protocol_.
Email clients such as Thunderbird, Roundcube, mutt or the mail apps on your smartphone use IMAP to retrieve and manage
messages. The good news is that you dont need to configure anything new on the server — its already set up. In fact,
even Roundcube (your webmail application) communicates with the server via IMAP to access emails.
## mutt using IMAP
You may not have heard of _mutt_ before. It's like the VIM editor but for mails. Very powerful but it only has a
text-based user interface. For testing IMAP on mail servers it's still a good way because you do not have to set up a
complete account as in Thunderbird.
Give it a try and as usual replace `webmail.example.org` by your mail server's host name:
```sh title="Run this on your server"
mutt -f imaps://john@example.org@webmail.example.org
```
The connection URL may look a little confusing because of the two “@” characters. Usually _mutt_ expects the format
`imaps://user@server`. The _user_ is `john@example.org` on your server so you get this syntax.
You should get prompted for the password which we set to `summersun`. If you get any certificate warnings then check if
you used the correct server name. If the authentication has succeeded, you will see John's inbox:
![Mutt showing an email in the inbox](images/mutt-inbox.png)
These are test emails that you sent earlier using `swaks`. You open an email by pressing `Enter` and get back using `q`.
Mainly we wanted to check that IMAP access works.
## mutt using the file system
Mutt can not only speak IMAP it can access an inbox (or maildir) on your disk directly as well:
```sh title="Run this on your server"
mutt -f /var/vmail/example.org/john/Maildir/
```
That way you will not be forced to authenticate as you are working with the file system.
## Thunderbird
A typical account setup in Thunderbird looks like:
![Thunderbird account setup](images/imap-thunderbird-account-setup.png)

View file

@ -0,0 +1,106 @@
---
title: Managing users, aliases and domains
lastUpdated: 2025-09-17
slug: ispmail-trixie/managing-users-aliases-and-domains
sidebar:
order: 200
---
import { Tabs, TabItem } from "@astrojs/starlight/components";
Maybe you already know what you have to do to create mail domains and mail users. After all I tried to explain the
database schema in the section that dealt with preparing the database. But if that wasnt clear enough let me explain
what you need to do to manage your mail accounts.
## Using SQL queries
The following sections explain the changes and SQL queries you can use for common management tasks:
### Create a new mail domain
Insert a new row into the virtual_domains table and set the “name” to the name of the new domain. (Do not forget to set
up SPF and DKIM.)
```sql
INSERT INTO virtual_domains (name) VALUES ("example.org");
```
### Delete a mail domain
Delete the row from the virtual_domains table that has the right “name”. All aliases and users will automatically be
deleted, too. However the mailboxes will stay on disk at /var/vmail/… and you need to delete them manually.
```sql
DELETE FROM virtual_domains where name='example.org';
```
### Create a mail user
Find out the “id” of the right domain from the virtual_domains table. The insert a new row into the virtual_users table.
Set the domain_id to the value you just looked up in the virtual_domains table. Set the “email” field to the complete
email address of the new user. Create a new password in a shell using the “dovecot pw -s BLF-CRYPT” command and insert
the result into the “password” field.
```sql
INSERT INTO virtual_users (domain_id, email, password) VALUES (SELECT id FROM virtual_domains WHERE name='example.org'), 'john@example.org','{BLF-CRYPT}$2y$05$.We…';
```
### Change the password of a user
Find the row in the virtual_users table by looking for the right “email” field. Create a new password in a shell using
the “dovecot pw -s BLF-CRYPT” command and insert the result into the “password” field.
```sql
UPDATE virtual_users SET password='{BLF-CRYPT}$2y$05$.We…' WHERE email='email@address';
```
### Delete a mail user
Find the row in the virtual_users table by looking for the right “email” field and delete it. The mailbox will stay on
disk at /var/vmail/… and you need to delete it manually
```sql
DELETE FROM virtual_users WHERE email='john@example.org';
```
### Create a mail forwarding
You can forward emails from one (source) email to other addresses (destinations) even outside of your mail
server. Find out the “id” of the right domain (the part after the “@” of the source email address) from the
virtual_domains table. Create a new row in the virtual_aliases table for each destination (if you have multiple
destination addresses). Set the “source” field to the complete source email address. And set the “destination” field to
the respective complete destination email address.
```sql
INSERT INTO virtual_aliases (domain_id, source, destination) VALUES ( (SELECT id FROM virtual_domains WHERE name='example.org'), 'melissa@example.org', 'juila@example.net');
```
### Delete a mail forwarding
Find all rows in the virtual_aliases table by looking for the right “source” email address. Remove all rows that you
lead to “destination” addresses you dont want to forward email to.
```sql
DELETE FROM virtual_aliases WHERE source='melissa@example.org';
```
## Web interfaces
If you dont like using SQL queries to manage your mail server you may like to install a web-based management software.
Several developers contributed web interfaces for earlier versions of this guide and they will probably still work
because the database schema has not changed. Your experience with these projects, or links to further projects, is very
welcome in the comments.
### ISPmail Admin
Homepage: [http://ima.jungclaussen.com/](http://ima.jungclaussen.com/)
Demo: [http://ima.jungclaussen.com/demo/](http://ima.jungclaussen.com/demo/)
![ISPmail Admin screenshot](images/managing-ima.jpg)
### ispmail-userctl
Christian G. has created a text-based program to help you manage your mail accounts. You may like it if you just want a
little help adding accounts and setting passwords but not provide a full blown web interface.
You can find his [Python script at Github](https://github.com/cgzones/ispmail-userctl).

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB