Error map
PHP mail PHP mail() returns false / emails not delivered
PHP · layer 4, Application & API
Centre: this error. First ring: errors it is linked with (12). Outer ring: what those are linked with. Colours show the layer of a request each error belongs to. Click any dot to re-centre the map on it; hover to follow its connections. The centre dot opens the error page.
Directly related (12)
550 5.7.1 Relaying denied / Message rejected as spam / Unauthenticated email not accepted
The receiving (or your outgoing) mail server refused the message — relaying isn’t allowed, the sender isn’t authenticated, or it…
error: gpg failed to sign the data — fatal: failed to write commit object
Commit signing is enabled but GPG couldn’t sign — no TTY for the passphrase, wrong key, or agent not running.
Contact Form 7: There was an error trying to send your message. Please try again later.
The form submitted, but wp_mail() failed to send — the server can’t send mail or the mail settings are wrong.
Error: secretOrPrivateKey must have a value (jsonwebtoken sign)
jwt.sign() got an empty secret — the environment variable holding the JWT secret isn’t loaded.
OAuth Error: redirect_uri_mismatch
The redirect URI in your OAuth request doesn’t exactly match one registered for the client in the provider’s console.
SES MessageRejected: Email address is not verified. The following identities failed the check in region
SES refused to send because the From address/domain isn’t verified — or the account is still in the SES sandbox, where recipients…
WordPress / PHPMailer: SMTP Error: Could not authenticate / SMTP connect() failed
The SMTP server rejected the login or couldn’t be reached — wrong credentials, app passwords required, wrong port/encryption, or…
Cloudflare Error 1000: DNS points to prohibited IP
A proxied DNS record points at a Cloudflare IP address, creating a loop.
hint: You have divergent branches and need to specify how to reconcile them.
Git 2.27+ asks you to choose merge, rebase or fast-forward-only when local and remote both have new commits.
Laravel: No application encryption key has been specified.
Laravel’s APP_KEY is missing, so it can’t encrypt sessions and cookies.
API Error: Feature not enabled for this account (feature_not_enabled / not available on your plan)
The endpoint or option exists, but your account, plan, region or project hasn’t been granted access to it.
You must specify a region. You can also configure your region by running "aws configure" (NoRegionError)
No region is configured for the CLI/SDK call.
Two steps away (34)
550 5.1.1 The email account that you tried to reach does not exist (User unknown)
The recipient mailbox doesn’t exist on the receiving server — a typo in the address, a deleted account, or a wrong domain.
550 5.7.26 This mail has been blocked because the sender is unauthenticated (SPF/DKIM/DMARC)
Gmail/Outlook rejected the message because SPF and DKIM didn’t pass for the sender’s domain (DMARC failure).
Android: INSTALL_FAILED_UPDATE_INCOMPATIBLE
An app with the same package name but a different signing key is already installed on the device.
HTTP 413 Content Too Large (Request Entity Too Large)
The request body is bigger than the server is willing to accept — usually a file upload over the configured limit.
Kubernetes: CreateContainerConfigError — secret / configmap not found
Kubernetes can’t build the container’s configuration — usually a referenced Secret, ConfigMap or key doesn’t exist in that namesp…
Warning: A component is changing an uncontrolled input to be controlled
An input’s `value` started as `undefined` (uncontrolled) and later became a defined value (controlled), or vice versa.
WordPress: 404 Not Found on every page except the homepage (permalinks / .htaccess / Nginx rules)
Pretty permalinks aren’t being routed to index.php — .htaccess is missing/ignored (Apache) or Nginx lacks try_files.
WordPress: 403 Forbidden on wp-admin, wp-login.php or admin-ajax.php
The server or a security layer refused access to WordPress admin URLs — file permissions, a security plugin/WAF rule, ModSecurity…
JWT Expired / Invalid Token
The JSON Web Token sent with the request is expired, malformed or signed with a different key, so the API rejects it (usually wit…
warning: in the working copy of 'x', LF will be replaced by CRLF the next time Git touches it
Git’s line-ending conversion (core.autocrlf) will change line endings in your working copy.
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Spring Boot found JDBC/JPA on the classpath but no database URL.
Azure AD (Entra ID): AADSTS700016 Application not found in the directory
The client ID in your sign-in request doesn’t exist in the tenant you’re authenticating against.
HTTP 400 Bad Request
The server could not understand the request because its syntax, headers or body are malformed or invalid.
OAuth 2.0 Error: invalid_grant
The authorization code, refresh token or credentials sent to the token endpoint are invalid, expired, already used or were issued…
AccessDeniedException: User: arn:aws:iam::... is not authorized to perform: service:Action on resource: ...
The IAM user or role making the call has no permission for that action on that resource — the message names both.
API Gateway {"message": "Internal server error"} 502 — Malformed Lambda proxy response
The Lambda behind an API Gateway proxy integration returned something that isn’t the required {statusCode, headers, body} shape,…
API Gateway: {"message": "Endpoint request timed out"} (504 after 29 seconds)
The backend (usually Lambda) didn’t respond within API Gateway’s integration timeout (29 seconds by default for REST APIs).
WordPress: Are you sure you want to do this? Please try again. (nonce check failed)
A WordPress security nonce didn’t validate — the page was open too long, cached, or a plugin/theme form is broken.
WordPress: Another update is currently in progress.
WordPress thinks an update is running because the core_updater.lock option exists — usually left behind by a failed/interrupted u…
WordPress: Error Establishing a Database Connection
WordPress can’t connect to its MySQL/MariaDB database with the credentials in wp-config.php, or the database server is down.
Error: getaddrinfo ENOTFOUND host / Name or service not known
DNS lookup for the hostname failed — the name is wrong, doesn’t exist, or this machine can’t resolve it.
fatal: unable to access 'https://github.com/…': Could not resolve host: github.com
DNS lookup for the Git host failed from this machine.
fatal: Not possible to fast-forward, aborting.
pull is configured to fast-forward only, but your branch and the remote have diverged.
Author identity unknown *** Please tell me who you are.
Git doesn’t know your name and email for commits.
MySQL ERROR 1046 (3D000): No database selected
A query referenced tables without a database selected (no USE and no db in the connection).
Warning: file_exists(): open_basedir restriction in effect. File(/x) is not within the allowed path(s)
PHP is configured to access only certain directories, and the script tried to touch a file outside them.
Laravel: 419 Page Expired (CSRF token mismatch)
Laravel rejected a POST because the CSRF token was missing, expired or didn’t match the session.
Laravel: Target class [App\Http\Controllers\X] does not exist.
Laravel’s container couldn’t find the controller or class named in a route or binding.
HTTP 403 Forbidden
The server understood the request but refuses to authorize it — you (or the server process) are not allowed to access this resour…
MySQL ERROR 1049 (42000): Unknown database 'x'
The database named in the connection doesn’t exist on that server.
MySQL ERROR 1153 (08S01): Got a packet bigger than 'max_allowed_packet' bytes
A single statement or row exceeded max_allowed_packet — big BLOBs, huge INSERTs or large dump lines.
AWS: Unable to locate credentials / Could not load credentials from any providers
The AWS CLI/SDK found no credentials in any place it looks — env vars, profile files, SSO cache or an instance/task role.
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined
A Node API got an argument of the wrong type — usually undefined because an env var or config value is missing.
npm update check failed — Try running with sudo or get access to the local update config store
npm’s update notifier couldn’t write its config — usually root-owned files in ~/.config from a past sudo npm.
Map another error
Popular: 4035004000xC000007BTypeErrorCritical error404NullPointerException