@@ -27,105 +27,114 @@ Before configuring DNS records for Intake Email, secure your email domain with a
2727
28281 . ** Install Certbot**
2929 Update your system and install Certbot.
30- `bash
31- sudo apt update && sudo apt install certbot
32- `
30+
31+ ``` bash
32+ sudo apt update && sudo apt install certbot
33+ ```
34+
3335 For NGINX:
34- `bash
35- sudo apt install python3-certbot-nginx
36- `
36+
37+ ` ` ` bash
38+ sudo apt install python3-certbot-nginx
39+ ` ` `
40+
3741 For Apache:
38- `bash
39- sudo apt install python3-certbot-apache
40- `
4142
42- 2 . ** Generate SSL Certificate**
43+ ` ` ` bash
44+ sudo apt install python3-certbot-apache
45+ ` ` `
46+
47+ 2. ** Generate SSL Certificate**
4348 Choose the method that matches your web server setup:
4449
45- For NGINX:
46- ```bash
47- sudo certbot --nginx -d <mail-domain>
48- ```
50+ For NGINX:
51+
52+ ` ` ` bash
53+ sudo certbot --nginx -d < mail-domain>
54+ ` ` `
55+
56+ For Apache:
57+
58+ ` ` ` bash
59+ sudo certbot --apache -d < mail-domain>
60+ ` ` `
4961
50- For Apache:
51- ```bash
52- sudo certbot --apache -d <mail-domain>
53- ```
62+ For standalone (no web server):
5463
55- For standalone (no web server):
56- ```bash
57- sudo certbot certonly --standalone -d <mail-domain>
58- ```
64+ ` ` ` bash
65+ sudo certbot certonly --standalone -d < mail-domain>
66+ ` ` `
5967
60- 3 . ** Copy Certificate Files**
68+ 3. ** Copy Certificate Files**
6169 Copy the generated certificate files to Plane' s expected directory:
6270
63- ```bash
64- sudo cp /etc/letsencrypt/live/<mail-domain>/fullchain.pem /opt/plane/data/email/tls/cert.pem
65- sudo cp /etc/letsencrypt/live/<mail-domain>/privkey.pem /opt/plane/data/email/tls/key.pem
66- ```
71+ ```bash
72+ sudo cp /etc/letsencrypt/live/<mail-domain>/fullchain.pem /opt/plane/data/email/tls/cert.pem
73+ sudo cp /etc/letsencrypt/live/<mail-domain>/privkey.pem /opt/plane/data/email/tls/key.pem
74+ ```
6775
68- 4 . ** Configure Environment Variables**
76+ 4. **Configure Environment Variables**
6977 Add the following settings to your plane.env file:
7078
71- ```bash
72- # If using SMTP_DOMAIN as FQDN (e.g., intake.example.com),
73- # generate a valid SSL certificate and set these paths accordingly.
74- SMTP_DOMAIN=intake.example.com
75- TLS_CERT_PATH=tls/cert.pem
76- TLS_PRIV_KEY_PATH=tls/key.pem
77- INTAKE_EMAIL_DOMAIN=intake.example.com
78- ```
79+ ```bash
80+ # If using SMTP_DOMAIN as FQDN (e.g., intake.example.com),
81+ # generate a valid SSL certificate and set these paths accordingly.
82+ SMTP_DOMAIN=intake.example.com
83+ TLS_CERT_PATH=tls/cert.pem
84+ TLS_PRIV_KEY_PATH=tls/key.pem
85+ INTAKE_EMAIL_DOMAIN=intake.example.com
86+ ```
7987
80- ::: warning
81- Important: `SMTP_DOMAIN` and `INTAKE_EMAIL_DOMAIN` must be identical.
82- :::
88+ ::: warning
89+ Important: `SMTP_DOMAIN` and `INTAKE_EMAIL_DOMAIN` must be identical.
90+ :::
8391
8492## Configure DNS records
8593
86- 1 . ** Create an A Record**
94+ 1. **Create an A Record**
8795 This record points to the server running your email service.
8896
89- ```bash
90- Type: A
91- Host: <host-domain> # Example: plane.example.com
92- Value: <public-ip-address> # Your server's public IP address
93- TTL: Auto | 3600
94- ```
95-
96- ::: tip
97- You can alternatively use a CNAME record if you're using a cloud load balancer.
98- :::
99-
100- 2 . ** Add an MX Record**
101- This record directs email traffic to your mail server.
102- `bash
103- Type: MX
104- Host: <mail-domain > # Example: intake.example.com
105- Value: <host-domain > # Same as your A record host
106- Priority: 10
107- TTL: Auto | 3600
108- `
109-
110- 3 . ** Configure an SPF Record**
97+ ```bash
98+ Type: A
99+ Host: <host-domain> # Example: plane.example.com
100+ Value: <public-ip-address> # Your server' s public IP address
101+ TTL: Auto | 3600
102+ ```
103+
104+ ::: tip
105+ You can alternatively use a CNAME record if you' re using a cloud load balancer.
106+ :::
107+
108+ 2. **Add an MX Record**
109+ This record directs email traffic to your mail server.
110+
111+ ```bash
112+ Type: MX
113+ Host: <mail-domain> # Example: intake.example.com
114+ Value: <host-domain> # Same as your A record host
115+ Priority: 10
116+ TTL: Auto | 3600
117+ ```
118+
119+ 3. **Configure an SPF Record**
111120 This record helps prevent email spoofing.
112121
113- ```bash
114- Type: TXT
115- Host: <mail-domain> # Example: intake.example.com
116- Value: "v=spf1 ip4:<A-record-ip-host-domain> -all"
117- TTL: Auto | 3600
118- ```
122+ ```bash
123+ Type: TXT
124+ Host: <mail-domain> # Example: intake.example.com
125+ Value: "v=spf1 ip4:<A-record-ip-host-domain> -all"
126+ TTL: Auto | 3600
127+ ```
119128
120- 4 . ** Set Up a DMARC record**
129+ 4. **Set Up a DMARC record**
121130 This record specifies how receiving mail servers should handle authentication failures.
122131
123- ```bash
124- Type: TXT
125- Host: _dmarc.<mail-domain> # Example: _dmarc.intake.example.com
126- Value: "v=DMARC1; p=reject; rua=mailto:<valid-email-addr>"
127- TTL: Auto | 3600
128- ```
132+ ```bash
133+ Type: TXT
134+ Host: _dmarc.<mail-domain> # Example: _dmarc.intake.example.com
135+ Value: "v=DMARC1; p=reject; rua=mailto:<valid-email-addr>"
136+ TTL: Auto | 3600
137+ ```
129138
130139## Verify your configuration
131140
0 commit comments