When to use this
- You use Google Workspace and the messages you send from Cloud Chat to Microsoft recipients (Outlook, Hotmail, Live, Microsoft 365) are being rejected with error
550 5.7.515 - Sending directly from Gmail works, but sending from Cloud Chat (or any other third-party platform) fails
- You need to configure SPF, DKIM, and DMARC aligned to your domain in order to meet Microsoft's requirements
Prerequisites
- Super Admin access to Google Workspace (
admin.google.com) - Access to your domain's DNS provider (Registro.br, Cloudflare, GoDaddy, AWS Route 53, etc.)
- Gmail enabled on the domain for at least 24 to 72 hours before generating the DKIM key
- Email inbox connected β see How to connect a Google email inbox to Cloud Chat
Replace SEUDOMINIO.COM.BR with your actual domain throughout this document. The examples use this placeholder for illustration only.
About this article
This error is not a Cloud Chat weakness β the same thing would happen with any customer service platform that sends emails on behalf of your domain.
When you send directly from Gmail, the message leaves Google's servers β which are already authorized in SPF and automatically sign DKIM with your domain. Everything passes.
When the email leaves through Cloud Chat (or any third-party platform), it comes from different servers, which are not in your domain's SPF and do not have access to its DKIM key. The result: SPF fails, DKIM does not align, DMARC does not pass, and Microsoft rejects the message with 550 5.7.515:
550 5.7.515 Access denied, sending domain SEUDOMINIO.COM.BR doesn't meet
the required authentication level. The sender's domain in the 5322.From
address doesn't meet the authentication requirements defined for the
sender. Spf=Fail , Dkim=Pass , DMARC=None
The root cause: the domain does not have SPF, DKIM, and DMARC properly configured. Sending directly from Gmail "hides" the problem because Google handles it automatically for its own servers. Any sending from outside exposes the gap.
This guide fixes that configuration in Google Workspace and at your DNS provider. Once applied, authentication passes both through Gmail and through Cloud Chat.
Diagnosis
Microsoft rejects your messages because there is no authentication aligned with the domain in the From: header. The bounce header usually shows:
-
SPF = Fail β the SPF record does not include
_spf.google.com, or does not exist -
DKIM = Pass, but without alignment β Google signs with
d=gmail.cominstead ofd=<your-domain>. It technically passes, but it does not count toward DMARC -
DMARC = None β no DMARC record is published
Since late 2024, Microsoft requires at least one authentication mechanism aligned with the From: header for high-volume senders (β₯ 5,000 messages to outlook.com, hotmail.com, live.com, msn.com). If you are already getting this error, your domain has crossed that threshold.
About alignment: for DMARC to pass, only SPF or DKIM needs to be aligned. This guide configures both for greater reliability, but aligned DKIM (Step 2) is the main component.
Inspect the header of a bounced message
Before touching DNS, confirm the current state. Find a bounced message with code 550 5.7.515, open it in Gmail, and click Show original. Look for the Authentication-Results line:
Authentication-Results: ...
spf=fail (sender IP is ...) smtp.mailfrom=<seu-dominio>;
dkim=pass header.d=gmail.com; β d=gmail.com = NO alignment
dmarc=none action=none header.from=<seu-dominio>;
If this is the pattern you see, follow this guide. If it is different (for example, SPF pass, DMARC quarantine), the investigation needs to go another way β open a support ticket.
Step by step
Step 1 β Publish the SPF record
At your DNS provider, publish (or update) a TXT record at the domain apex:
| Field | Value |
|---|---|
| Type | TXT |
| Host / Name | @ (or the domain itself) |
| Value | v=spf1 include:_spf.google.com ~all |
| TTL | 3600 |
There can only be one single SPF record per domain. If one already exists, edit it and merge the includes:
v=spf1 include:_spf.google.com include:outro-servico.com ~all
Verification:
dig TXT <seu-dominio> +short
# Should return a line containing v=spf1 include:_spf.google.com ~all
Step 2 β Configure DKIM in Google Workspace (main step)
This is the most important step. It makes Google sign your messages with d=<your-domain> instead of d=gmail.com, solving the alignment problem.
2.1 β Generate the DKIM key
-
Go to
admin.google.comas a Super Admin -
Go to Menu β Apps β Google Workspace β Gmail β Authenticate email
-
Select your domain and click Generate new record
-
Configure: 2048 bits, selector prefix: google
-
Copy the two values shown:
-
DNS host name:
google._domainkey -
TXT value: a long text starting with
v=DKIM1; k=rsa; p=MIIBIjAN...
-
Button disabled? Wait 24β72h after Gmail was enabled on the domain.
2.2 β Publish the DKIM record in DNS
| Field | Value |
|---|---|
| Type | TXT |
| Host / Name | google._domainkey |
| Value | Text copied from the Admin console |
| TTL | 3600 |
2.2.1 β CharacterStringTooLong error when publishing DKIM
Symptom
When publishing the google._domainkey TXT record, the provider shows an error similar to:
β οΈ An error occurred. Please try again later.
CharacterStringTooLong (Value is too long) encountered with '"v=DKIM1; k=rsa; p=XXXXXXXX..."'
The record is not saved and DKIM authentication cannot be turned on.
Cause
RFC 1035 (section 3.3) limits each character-string in a TXT record to 255 characters. The 2048-bit RSA public key generated by Google Workspace exceeds that limit (β400 characters), so the provider rejects it when the value is sent as a single string. It is not a problem with the key or with Google Workspace β it is a DNS protocol limitation.
Solution
Break the value into multiple strings of up to 255 characters, each one in double quotes and separated by a space. The DNS server automatically concatenates them on delivery, and the resolver sees a single continuous DKIM key.
Expected format:
"v=DKIM1; k=rsa; p=XXXXXXXXXXXXXXXXXXXXXXXXXXXX...ate_255_chars" "continuacao_ate_255_chars..." "parte_final_da_chave"
How to break up the key
-
Paste the value copied from the Admin console (
v=DKIM1; k=rsa; p=...) into a text editor -
Every 255 characters of content, insert
" "(quote β space β quote) -
Wrap the entire value in double quotes at the beginning and at the end
-
Paste the result into the Value / Content field of the TXT record
Tip: Do not count the outer quotes toward the 255 limit β only the string content.
Behavior by DNS provider:
| Provider | How to paste |
|---|---|
| Cloudflare | Paste the already-split value with quotes and spaces into the Content field. The UI accepts it directly. |
| AWS Route 53 | Paste the split strings with quotes into the Value field. Each string on a separate line also works. |
| Registro.br | Multiple quoted strings on a single line. |
| GoDaddy / HostGator / others | They accept the same format. If the UI refuses quotes, look for the raw or advanced option. |
Verification
After saving and waiting for propagation (up to 30 minutes), validate:
dig TXT google._domainkey.<seu-dominio> +short
The output should show the concatenated key. If the response shows several separate strings, it is still valid β what matters is that the reconstructed RSA key is identical to the value in the Admin console. To confirm, compare the key returned by dig with the one from the generation step in Google Workspace.
2.3 β Turn on authentication
-
Go back to Gmail β Authenticate email in the Admin console
-
Click Start authentication
-
Wait for the status to change to Authenticating email with DKIM
It can take up to 48 hours to start working.
Verification:
dig TXT google._domainkey.<seu-dominio> +short
# Should return the complete v=DKIM1; k=rsa; p=...
Step 3 β Publish the DMARC record
Only publish DMARC after SPF and DKIM have been authenticating correctly for at least 48 hours.
| Field | Value |
|---|---|
| Type | TXT |
| Host / Name | _dmarc |
| Value | v=DMARC1; p=none; rua=mailto:dmarc-reports@<seu-dominio>; pct=100; adkim=s; aspf=s |
| TTL | 3600 |
Create a mailbox or alias dmarc-reports@<seu-dominio> to receive the aggregate reports (XML) that providers send daily.
Hardening roadmap
Only move to the next phase after at least one week with no false positives in the reports.
| Phase | Week | Policy | Effect |
|---|---|---|---|
| 1 β Monitoring | 0 | p=none |
Only generates reports |
| 2 β Partial quarantine | β₯ 1 | p=quarantine; pct=10 |
10% of unauthenticated messages go to spam |
| 3 β Full quarantine | β₯ 2β3 | p=quarantine; pct=100 |
All of them go to spam |
| 4 β Rejection | β₯ 4 | p=reject; pct=100 |
The server rejects unauthenticated messages |
Quick unblock (if it is urgent)
If you need to unblock sending to Microsoft recipients right away, publish only:
-
Step 1 β the SPF record
-
Step 3 β the DMARC record with
p=none(without waiting the 48h for DKIM)
In most cases this alone ends the 550 5.7.515 error, because Microsoft specifically targets domains with no DMARC at all. Having a published DMARC (even a permissive one) already changes how you are treated.
Step 2 (aligned DKIM) is still the definitive fix and must be carried out afterwards β without it, SPF and DMARC rest on a fragile foundation.
Final verification
After propagation (30 min for SPF/DMARC, up to 48h for DKIM):
dig TXT <seu-dominio> +short # SPF
dig TXT google._domainkey.<seu-dominio> +short # DKIM
dig TXT _dmarc.<seu-dominio> +short # DMARC
Functional test
Send a test email to any @outlook.com or @hotmail.com address or Microsoft 365 account. In the header of the received email, check:
Authentication-Results: ...
spf=pass smtp.mailfrom=<seu-dominio>;
dkim=pass header.d=<seu-dominio>; β proof of alignment
dmarc=pass header.from=<seu-dominio>;
If all three lines show pass with header.d=<seu-dominio> and header.from=<seu-dominio>, the configuration is correct β the 550 5.7.515 error will not happen again.
If dkim=pass still shows header.d=gmail.com, Step 2.3 has not been completed yet or DNS is still propagating. Wait a few more hours and test again.
Official sources
-
Set up DKIM β Google Workspace Admin Help
-
Turn on DKIM for your domain β Google Workspace Admin Help
-
Set up SPF β Google Workspace Admin Help
-
Define your SPF record β Google Workspace Admin Help
-
Add your DMARC record β Google Workspace Admin Help
-
Recommended DMARC rollout β Google Workspace Admin Help
-
Email sender guidelines β Google Workspace Admin Help
-
Microsoft: Fix NDR error 550 5.7.515 β Outlook.com
Notes
-
To connect a Gmail inbox to Cloud Chat: How to connect a Google email inbox to Cloud Chat
-
To connect an Outlook inbox to Cloud Chat: How to connect an Outlook/Microsoft email inbox to Cloud Chat
-
To understand how email attachments work: How email attachments work in Cloud Chat