Editing the SPF record Timeweb already made
Setting up SPF on Timeweb comes down to one TXT record at the root of your domain, holding a line that starts v=spf1 and names the servers allowed to send mail as you.
Timeweb is the company answering DNS for the domain when the nameservers are delegated to it, through either the classic hosting panel at timeweb.com or the Timeweb Cloud panel at timeweb.cloud. It publishes and edits the domain’s DNS records; it does not decide which of the reader’s other mail senders belong in them.
The order below is the record first and the console second, because the pasting takes two minutes and the thinking is all in the line itself.
What the record says, and why it lives in DNS
SPF (Sender Policy Framework) is a published list of the sources that may send mail for your domain. When a mail server receives a message with your domain in the return path, it fetches the TXT record at that domain, checks whether the connecting server’s address is on the list, and writes the result into the message headers for the filters that run afterwards.
That lookup goes to whichever nameservers the registry lists for your domain, and to nowhere else. This is why the record has to be published where your DNS is answered, and why a record saved in the wrong console is invisible to the world, however correct its text.
Timeweb’s DNS editor only affects domains delegated to Timeweb’s nameservers, in either panel. If the nameservers point at another company, such as Cloudflare, a different host or the mail provider itself, the SPF record belongs there instead. The reader confirms this by checking, in the console, which of the two Timeweb panels, classic or Cloud, holds the domain, since the two do not share records.
Read the record before you paste it
An SPF record is a single string with three parts: the version tag, a list of mechanisms, and a closing catch-all. The version tag is always v=spf1, and a TXT record without it isn’t SPF at all.
Mechanisms come next, separated by spaces, and each one names a source of legitimate mail. include: pulls in another domain’s SPF record, which is how you authorise a mail provider or a newsletter tool: you name the hostname they publish and their list becomes part of yours. ip4: and ip6: name an address or a range directly, for a server you run yourself. a and mx authorise the hosts behind your domain’s own A and MX records.
redirect= hands the whole evaluation to another domain’s record; it’s a modifier rather than a mechanism, it can’t sit alongside an all, and it matters here because some hosts publish a record in that form on your behalf.
Each mechanism can carry a qualifier in front of it. + means pass and is the default, so include: and +include: are the same thing. - means fail, ~ means soft fail, and ? means neutral. The one qualifier that decides anything is the one on the last term.
That last term is all, and it says what to do about a source the mechanisms didn’t match. -all asks the receiver to fail unlisted mail. ~all asks it to accept the message and mark it suspect. ?all says nothing useful, and +all authorises the entire internet, which is worse than publishing no record.
Start with ~all while you’re confirming that the list is complete, then move to -all once a few weeks of ordinary sending have passed without a legitimate source turning up as unlisted. The choice between the two endings has its own page. Of the 316,600,902 domains carrying a grade in the September 2026 census, 84,153,064 (26.6%) end their record in ~all.
Two limits shape what you can put in the list. A domain gets one SPF record: a receiver that finds two TXT records starting v=spf1 treats the domain as having a permanent error, which counts the same as having none.
A record may also trigger at most ten DNS lookups during evaluation, counting each include:, a, mx and redirect= plus the lookups inside any record they pull in; an eleventh lookup fails the whole record. So a second sender goes into the existing record as another include:, and if the count is getting high, the mail provider’s help page usually says which of its hostnames costs the fewest lookups.
The record for Timeweb
For a domain delegated to its nameservers, Timeweb publishes an SPF record on its own that reads v=spf1 include:_spf.timeweb.ru ~all, covering mail sent through Timeweb’s own servers. It leaves the reader to add any other sender, such as Google Workspace, Microsoft 365 or a newsletter tool, into that same record by hand.
v=spf1 include:_spf.timeweb.ru ~all
v=spf1 include:_spf.timeweb.ru include:_spf.google.com ~all
Compare that block against what your mail provider’s own setup page tells you to publish. The include: hostname has to match theirs character for character, because it’s a DNS name the receiver will resolve, and a typo resolves to nothing. If you send from more than one service, each gets its own include: in the same line, in any order, before the all.
Enter the record, click by click
- Sign in to the classic hosting panel and go to «Домены и SSL» (Domains and SSL), then «Мои домены» (My domains).
- Click the row that shows your domain to open its settings.
- Open the «Редактор DNS» (DNS editor) tab for that domain.
- Find the existing TXT record starting
v=spf1and edit it, or click «Добавить запись» (Add record) and choose typeTXT. - In the «Хост» (Host) field leave the domain itself selected, and in the «Значение» (Value) field enter the SPF text.
- Leave TTL at the default value and save the record.
- In the Timeweb Cloud panel, go to «Домены и SSL» and click the gear icon beside the domain, or open the domain and its DNS tab.
- Click «Добавить запись» (Add record), choose
TXT, and fill in the value the same way, or edit the existingv=spf1record directly.
In both panels the type field takes TXT and the host or name field is left on the domain itself, since Timeweb does not require a subdomain prefix for this record. The value or content field takes the plain SPF text starting v=spf1, with no added quote marks around it, and TTL is left at the panel’s default rather than set manually.
Before you save, read the value back once. The whole string sits on one line with single spaces between terms, no line break, no trailing space, and nothing after the all. If the form already shows a TXT record beginning v=spf1, you’re editing that one, and the only reason to be adding a new row is that no such record exists.
Some of the mistakes on this form belong to this console rather than to SPF.
- Timeweb usually pre-creates one SPF record for a delegated domain, so the edit is to that record rather than a new one. Two
v=spf1records on the same domain is a broken state. - Dropping
include:_spf.timeweb.rufrom the record while Timeweb mailboxes or the Timeweb-hosted site still send mail stops that mail authenticating. - Pasting the value with hand-added quote marks around it can corrupt the record, since Timeweb expects the plain text starting
v=spf1with no quotes added. - A domain managed in the Cloud panel does not pick up edits made in the classic panel, and the reverse, so the console has to be checked for which panel holds the domain.
~allis softfail, treating anything not listed as suspicious rather than rejecting it, while-allis hardfail and rejects anything not listed; starting on~allwhile confirming the sending list is complete, then tightening to-all, avoids blocking a sender that was missed.
Wait, then check it
The source ties the wait to the record’s own TTL rather than giving a fixed span, so the reader checks the TTL value saved on the record in the DNS editor tab of whichever panel holds the domain.
Once the change has had time to spread, run the free scan against your domain. It fetches the record the way a receiving mail server would, reports whether one is present, whether it parses, how many lookups it costs and which qualifier it ends on, and it checks DKIM and DMARC in the same pass.
If the scan reports no record when you’ve saved one, the order of suspects is the nameserver check at the top of this page, then a second v=spf1 row that has been sitting in the zone for years, then a value the form mangled on the way in. A record that’s present but reports as invalid is nearly always one of the limits above: two records, too many lookups, a redirect= with an all after it, or quote marks that ended up doubled.
What a missing or broken record costs you
Of the 316,600,902 domains carrying a grade in the September 2026 census, 166,497,698 (52.6%) publish no SPF record at all. For any of them, a receiver has no list to check the sending server against, so mail from the real mailboxes and mail from a forger’s server arrive carrying the same amount of evidence. Your genuine messages then depend on the receiver’s other filters, and a share of them land in spam for no reason you can see.
A malformed record ends in the same place. A permanent error reads as no policy, and some receivers treat a domain that publishes a broken policy less kindly than one that publishes nothing.
What SPF does on its own is narrower than people expect. It authorises the server, judged against the envelope sender that the recipient never sees, and the result is a header line rather than an instruction. A forged message that fails SPF can still be delivered, because until a DMARC policy tells receivers what to do with a failure, they’re under no obligation to do anything with it.
SPF is the list, DMARC is what turns the list into an instruction receivers act on, and the SPF guide covers how the two fit together and how to read the result headers on a message you’ve sent yourself.
Figures as of 5 September 2026, from the September 2026 edition of the defaults.exposed census. Census numbers move every month; the current values are on the census data page.