# My email lands in spam

> Mail you send from your domain arrives in junk folders. Check the four records receivers judge you by.

Source: https://veldhost.eu/docs/email-goes-to-spam

Last verified: 2026-11-13

Mail you send from your own domain reaches people, but lands in their spam or junk folder. Receiving servers decide that mostly from your domain's DNS, and we check that DNS for you.

## Why it happens

Before trusting a message, the receiving server asks your domain's DNS three questions:

- **SPF**: is this server allowed to send mail for the domain?
- **DKIM**: is the message signed with the key the domain publishes?
- **DMARC**: what does the domain want done with mail that fails those checks?

A missing or wrong answer makes your mail look forged, and it is filtered. The usual causes are a DKIM record that was never added, two SPF records instead of one, or an SPF record from your old provider that does not include us.

## Fix it

### 1. Read the Deliverability check

Open [Email](https://manage.veldhost.eu/portal/mail). In the **Delivery** column, the mark after each domain's mail state sums up its email authentication; hover over it for the summary and a mark per record, for example "2 of 4 email authentication records need attention".

For an email-only domain, choose it to open its **Deliverability** section. Each record (**MX**, **SPF**, **DKIM**, **DMARC**) shows what public DNS answered (**Found**), what we expect (**Expected**, with a copy button) and a status:

| Status | What to do |
|---|---|
| **Pass** | Nothing. |
| **Missing** | Nothing is published at that name. Add the **Expected** value. |
| **Wrong value** | Something is published, but not what works. See below for the record. |
| **Not known** | The lookup failed at the last check. Wait for the next one. |
| **Not checked yet** | We have not checked this domain yet. |

The check runs on a schedule, and the section shows when it last ran. After you fix a record, the next check shows it.

### 2. Fix the record that fails, in this order

1. **DKIM.** Add a `TXT` record at `mail._domainkey` with the **Expected** value, copied in full. **Wrong value** means the key published there is not the one our mail server signs with: replace it.
2. **SPF.** Keep **one** record starting `v=spf1`. Two SPF records are an error, and receivers then treat the domain as having no SPF at all. Use the **Expected** value: it is your existing record with ours merged in, so mail you send from elsewhere keeps working. With two records, it is built from the first one: merge anything the other one allowed, then delete it.

   SPF shows **Pass** only when the record really lets our mail server send. A bare `mx` in it allows whatever your domain's **MX** points at, so it counts only while MX points at us; a bare `a` counts only when your domain's own address is our mail server. If your MX still points at your old provider, SPF shows **Wrong value** and **Expected** names our mail server by name instead. Fixing MX (the first record in the list) fixes both. When the MX lookup itself failed, SPF shows **Not known** too.
3. **DMARC.** One `TXT` record at `_dmarc`. With none, the **Expected** column suggests a policy to start with. The policy itself is your choice. More than one DMARC record makes receivers ignore DMARC entirely.

If the domain's DNS is at veldhost, we publish these records ourselves when you create a mailbox, so they normally pass. Records you edit by hand in the DNS editor can still break them.

Step-by-step instructions for each record are in [Verify your domain for email](https://veldhost.eu/docs/email-dns-verification).

### 3. Mail sent by your website

If the mail in spam comes from your website (a contact form or a shop), the records above only help when it is sent through your mailbox. Generic advice, not specific to veldhost: set your site's mail plugin or framework to send over SMTP with a mailbox's address and password, using these settings:

| Setting | Value |
| --- | --- |
| Username | your full address (hello@example.com) |
| Password | the mailbox password |
| Incoming | IMAP · `imap.veldhost.eu` · port 993 · SSL/TLS |
| Outgoing | SMTP · `smtp.veldhost.eu` · port 465 · SSL/TLS (or port 587 · STARTTLS) |

### 4. Everything passes, and it still lands in spam

Content and reputation matter too, and no record fixes those. Generic advice: ask the recipient to mark the message as not spam, avoid sending mainly links or attachments to people who do not know you, and send bulk mailings through a dedicated newsletter service rather than a mailbox.

## Still stuck?

Your AI assistant can read the records a domain still needs with `get_mail_domain`. If every record shows **Pass** and mail to one provider keeps landing in spam, [contact us](https://veldhost.eu/contact) with the recipient's provider and the time you sent a test message.

## Related

- [Verify your domain for email](https://veldhost.eu/docs/email-dns-verification)
- [Email on your phone and computer](https://veldhost.eu/docs/email-on-your-phone)
- [DNS records explained](https://veldhost.eu/docs/dns-records-explained)