From dd74dc2fa475ec65e10c8866b64069178923352f Mon Sep 17 00:00:00 2001 From: Daniel Sousa Date: Tue, 14 Jul 2026 13:13:46 -0300 Subject: [PATCH 1/2] docs: convert in-site absolute links to root-relative Convert internal doc links from https://docs.sparkpost.com/docs/... to /docs/... (root-relative) across 65 files. This enables client-side routing via next/link, keeps links correct on preview/staging deploys, and matches the relative-link convention already used elsewhere in the content. External sparkpost.com links (developers/app/www) are left absolute. --- .../deliverability/ded-ip-full-circle-dns.md | 4 +- .../docs/deliverability/dedicated-ip-pools.md | 4 +- .../deliverability-analytics.md | 4 +- ...zing-deliverability-and-inbox-placement.md | 4 +- .../docs/faq/can-i-send-from-any-domain.md | 2 +- content/docs/faq/cc-bcc-archive-recipients.md | 2 +- content/docs/faq/cc-bcc-with-rest-api.md | 2 +- .../faq/daily-and-monthly-quota-limits.md | 2 +- content/docs/faq/dkim-wont-verify.md | 2 +- content/docs/faq/error-messages-smtp.md | 2 +- content/docs/faq/gmail-shows-mailing-list.md | 2 +- content/docs/faq/inactive-account.md | 4 +- .../docs/faq/post-to-webhook-target-failed.md | 2 +- ...s-was-suppressed-due-to-customer-policy.md | 2 +- content/docs/faq/retrieve-bounce-info.md | 6 +-- content/docs/faq/suppression-timing.md | 2 +- content/docs/faq/update-on-pricing.md | 6 +-- content/docs/faq/why-domain-blocked.md | 2 +- .../docs/getting-started/create-api-keys.md | 4 +- .../docs/getting-started/creating-template.md | 16 ++++---- .../getting-started/engagement-tracking.md | 8 ++-- .../getting-started-sparkpost.md | 8 ++-- .../docs/getting-started/how-to-get-help.md | 40 +++++++++---------- .../previewing-and-sending-test-emails.md | 4 +- .../requirements-for-sending-domains.md | 8 ++-- content/docs/integrations/discourse.md | 2 +- content/docs/integrations/django.md | 2 +- content/docs/integrations/elixir.md | 2 +- content/docs/integrations/joomla.md | 4 +- content/docs/integrations/magento.md | 4 +- .../integrations/ms-windows-powershell.md | 4 +- content/docs/integrations/ongage.md | 6 +-- .../patch-interspire-email-marketer.md | 8 ++-- content/docs/integrations/php-list.md | 4 +- content/docs/integrations/phpbb.md | 4 +- content/docs/integrations/power-mta.md | 2 +- content/docs/integrations/send-with-us.md | 4 +- .../account-suspension.md | 2 +- content/docs/my-account-and-profile/scim.md | 2 +- content/docs/reporting/analytics-report.md | 2 +- content/docs/reporting/engagement-recency.md | 2 +- .../enterprise-metrics-definitions.md | 2 +- .../docs/reporting/sp-metrics-definitions.md | 2 +- .../docs/reporting/spam-trap-monitoring.md | 2 +- .../docs/signals/reputation-improvement.md | 2 +- .../api-error-response-changes.md | 2 +- ...ost-enrichment-period-open-click-events.md | 2 +- .../tech-resources/dkim-signing-by-ip-pool.md | 2 +- .../inbound-email-relay-webhook.md | 2 +- .../list-unsubscribe-functionality.md | 2 +- .../smtp-engagement-tracking.md | 2 +- .../sparkpost-event-definitions.md | 2 +- .../transmissions-breaking-changes.md | 4 +- .../using-proxy-https-tracking-domain.md | 6 +-- .../tech-resources/webhook-data-streams.md | 4 +- .../tech-resources/webhook-event-reference.md | 2 +- .../docs/user-guide/automated-ip-warmup.md | 4 +- .../docs/user-guide/consolidating-accounts.md | 2 +- content/docs/user-guide/data-privacy.md | 4 +- .../user-guide/mailgun-migration-guide.md | 32 +++++++-------- content/docs/user-guide/managing-users.md | 2 +- .../user-guide/mandrill-migration-guide.md | 6 +-- content/docs/user-guide/subaccounts.md | 4 +- .../user-guide/unconfigured-sending-domain.md | 2 +- .../user-guide/using-suppression-lists.md | 2 +- 65 files changed, 146 insertions(+), 146 deletions(-) diff --git a/content/docs/deliverability/ded-ip-full-circle-dns.md b/content/docs/deliverability/ded-ip-full-circle-dns.md index b7a1a05c..d9bebb4e 100644 --- a/content/docs/deliverability/ded-ip-full-circle-dns.md +++ b/content/docs/deliverability/ded-ip-full-circle-dns.md @@ -3,9 +3,9 @@ lastUpdated: "02/08/2020" title: "Dedicated IPs - full-circle reverse DNS and EHLO hostnames on SparkPost" description: "Dedicated IP addresses issued from SparkPost address ranges automatically have Full Circle Reverse DNS" --- -You may have noticed that recently allocated [dedicated IP addresses](https://docs.sparkpost.com/docs/deliverability/managing-dedicated-ip-pools/) in your SparkPost account come from specific address ranges. +You may have noticed that recently allocated [dedicated IP addresses](/docs/deliverability/managing-dedicated-ip-pools/) in your SparkPost account come from specific address ranges. -Unless you are using our [Bring your Own IP](https://docs.sparkpost.com/docs/tech-resources/bring-your-own-ip/) feature, your dedicated IPs come from a range registered to SparkPost. +Unless you are using our [Bring your Own IP](/docs/tech-resources/bring-your-own-ip/) feature, your dedicated IPs come from a range registered to SparkPost. ``` whois 147.253.215.24 diff --git a/content/docs/deliverability/dedicated-ip-pools.md b/content/docs/deliverability/dedicated-ip-pools.md index c4f47b55..ec4acf87 100644 --- a/content/docs/deliverability/dedicated-ip-pools.md +++ b/content/docs/deliverability/dedicated-ip-pools.md @@ -4,7 +4,7 @@ title: "Dedicated IP Pools" description: "Dedicated IP addresses are available for any account with the exception of the FREE plan with no credit card details on file Any new dedicated IP address added to your account will have a neutral initial reputation which means that you will be responsible for properly warming up your new..." --- -Dedicated IP addresses are available for any account with the exception of Starter and Test plans. Any new dedicated IP address added to your account will have a neutral initial reputation, which means that you will be responsible for properly warming up your new IP. You can refer to our [IP Warmup Overview](https://docs.sparkpost.com/docs/deliverability/ip-warm-up-overview/) for a comprehensive guide to warming up your new IP. +Dedicated IP addresses are available for any account with the exception of Starter and Test plans. Any new dedicated IP address added to your account will have a neutral initial reputation, which means that you will be responsible for properly warming up your new IP. You can refer to our [IP Warmup Overview](/docs/deliverability/ip-warm-up-overview/) for a comprehensive guide to warming up your new IP. ## Plans with an Included IP @@ -28,7 +28,7 @@ You can provision additional dedicated IPs directly to your Account via the UI. You can view and manage your dedicated IPs and their associated IP Pools in the UI by selecting **Configuration** > **IP Pools** -From here, you can create, delete, or edit IP Pools. You can also move dedicated IPs between pools. Read this article to understand more about __[managing your existing dedicated IP pools](https://docs.sparkpost.com/docs/deliverability/managing-dedicated-ip-pools/)__. +From here, you can create, delete, or edit IP Pools. You can also move dedicated IPs between pools. Read this article to understand more about __[managing your existing dedicated IP pools](/docs/deliverability/managing-dedicated-ip-pools/)__. ## Using Your Dedicated IPs diff --git a/content/docs/deliverability/deliverability-analytics.md b/content/docs/deliverability/deliverability-analytics.md index 162b80fe..8ee4b600 100644 --- a/content/docs/deliverability/deliverability-analytics.md +++ b/content/docs/deliverability/deliverability-analytics.md @@ -79,7 +79,7 @@ The seed list is updated periodically, as we regularly expand our panel coverage ### Getting Started with Panel Data -Panel data associated with a sending domain in your SparkPost account will start flowing into your account immediately. If you already have a sending domain added and verified, no further action is needed! If you do not yet have a sending domain in your SparkPost account, please follow these [Getting Started steps](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/) to set one up and verify it. +Panel data associated with a sending domain in your SparkPost account will start flowing into your account immediately. If you already have a sending domain added and verified, no further action is needed! If you do not yet have a sending domain in your SparkPost account, please follow these [Getting Started steps](/docs/getting-started/getting-started-sparkpost/) to set one up and verify it. Note: You do *not* need to send emails to the consumer panel *through SparkPost* in order to see the data - we will show you panel data sent through any method. We do require a verified domain in order to display the results to the correct account. @@ -111,7 +111,7 @@ SparkPost also provides the following deliverability metrics in the [SparkPost a | Moved to Spam Count | Number of panel messages delivered to the inbox but then moved to the spam folder. | `count_moved_to_spam` | Moved to Spam Rate | Percentage of panel messages delivered to the inbox folder but then moved to the spam folder. | `count_moved_to_spam` / (`count_inbox_panel` + `count_inbox_seed`) | -To view the deliverability metrics in the UI, first click “Signals Analytics” in the top menu to be taken to the “Analytics Report”. Click “Add Metrics” and scroll to the “Deliverability Metrics” section to add your desired metrics. All [user roles](https://docs.sparkpost.com/docs/user-guide/managing-users/) can view deliverability metrics in the UI. +To view the deliverability metrics in the UI, first click “Signals Analytics” in the top menu to be taken to the “Analytics Report”. Click “Add Metrics” and scroll to the “Deliverability Metrics” section to add your desired metrics. All [user roles](/docs/user-guide/managing-users/) can view deliverability metrics in the UI. ![](media/deliverability-analytics/02-deliverability-metrics.png) diff --git a/content/docs/deliverability/optimizing-deliverability-and-inbox-placement.md b/content/docs/deliverability/optimizing-deliverability-and-inbox-placement.md index 792b5a9f..8ea93b02 100644 --- a/content/docs/deliverability/optimizing-deliverability-and-inbox-placement.md +++ b/content/docs/deliverability/optimizing-deliverability-and-inbox-placement.md @@ -22,8 +22,8 @@ In order to get the best deliverability and inbox placement rates, you need to e * Hide the unsubscribe link or ignore unsubscribe requests * Buy email lists - especially those from untrustworthy sources * Sell your list to a third party without permission -8. Set up [custom bounce domain(s)](https://docs.sparkpost.com/docs/tech-resources/custom-bounce-domain/) -9. Set up [custom tracking domain(s)](https://docs.sparkpost.com/docs/tech-resources/enabling-multiple-custom-tracking-domains/) +8. Set up [custom bounce domain(s)](/docs/tech-resources/custom-bounce-domain/) +9. Set up [custom tracking domain(s)](/docs/tech-resources/enabling-multiple-custom-tracking-domains/) For more detailed information on this topic, please review [MAAWG Sender Best Common Practices](https://www.m3aawg.org/documents/en/m3aawg-sender-best-common-practices-version-30). diff --git a/content/docs/faq/can-i-send-from-any-domain.md b/content/docs/faq/can-i-send-from-any-domain.md index e8f66308..126c7c78 100644 --- a/content/docs/faq/can-i-send-from-any-domain.md +++ b/content/docs/faq/can-i-send-from-any-domain.md @@ -6,7 +6,7 @@ description: "Domain Ownership And Control You can send mail through Spark Post ## Domain Ownership And Control -You can send mail through SparkPost from any domain *that you or your customers control*. By verifying your sending domains with SparkPost, you're letting us know that you control them and that you authorize delivery from those domains. The DKIM domain verification procedure is the best option here since it also brings deliverability best practice with it. [There are instructions here how to verify your sending domains](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/#step-2-verify-domain). +You can send mail through SparkPost from any domain *that you or your customers control*. By verifying your sending domains with SparkPost, you're letting us know that you control them and that you authorize delivery from those domains. The DKIM domain verification procedure is the best option here since it also brings deliverability best practice with it. [There are instructions here how to verify your sending domains](/docs/getting-started/getting-started-sparkpost/#step-2-verify-domain). ## Why Can't I Just Send From Any Domain? diff --git a/content/docs/faq/cc-bcc-archive-recipients.md b/content/docs/faq/cc-bcc-archive-recipients.md index 17e68cdd..bd62e46a 100644 --- a/content/docs/faq/cc-bcc-archive-recipients.md +++ b/content/docs/faq/cc-bcc-archive-recipients.md @@ -22,7 +22,7 @@ It is possible to specify a list of one or more recipients who will receive a co ### Notes * The “rcpt_type” field present in webhook/Message Events API data is used to specify whether the recipient is a CC, BCC or Archive recipient. - * If the [REST API is used to send cc or bcc messages](https://docs.sparkpost.com/docs/faq/cc-bcc-with-rest-api/) (please note that archive is **not** supported via the REST API), the "rcpt_type" field **does not appear** in the webhook or Message Events API data. We recommend that you include recipient-level metadata for tracking which type each recipient address belongs to. + * If the [REST API is used to send cc or bcc messages](/docs/faq/cc-bcc-with-rest-api/) (please note that archive is **not** supported via the REST API), the "rcpt_type" field **does not appear** in the webhook or Message Events API data. We recommend that you include recipient-level metadata for tracking which type each recipient address belongs to. * Each Archive, CC, and BCC recipient is counted in the standard targeted and accepted metrics. * Archive messages do not include a BCC header. * The total number of CC, BCC and archive recipients cannot exceed 1000. diff --git a/content/docs/faq/cc-bcc-with-rest-api.md b/content/docs/faq/cc-bcc-with-rest-api.md index df0bf564..9590ad8e 100644 --- a/content/docs/faq/cc-bcc-with-rest-api.md +++ b/content/docs/faq/cc-bcc-with-rest-api.md @@ -4,7 +4,7 @@ title: "Using CC and BCC with the REST API" description: "Before getting started please read What are the differences between CC BCC and archive recipients Note to use CC BCC and Archiving with SMTP check out our SMTP API reference documentation Note Please be advised that CC and BCC messages count towards your usage What is CC CC is a..." --- -Before getting started please read [What are the differences between CC, BCC, and archive recipients?](https://docs.sparkpost.com/docs/faq/cc-bcc-archive-recipients/) +Before getting started please read [What are the differences between CC, BCC, and archive recipients?](/docs/faq/cc-bcc-archive-recipients/) Note: to use CC, BCC, and Archiving with SMTP, check out our [SMTP API reference documentation](https://developers.sparkpost.com/api/#/reference/smtp-api). Note: Please be advised that CC and BCC  messages count towards your usage. diff --git a/content/docs/faq/daily-and-monthly-quota-limits.md b/content/docs/faq/daily-and-monthly-quota-limits.md index 49fe1fcc..cdd654db 100644 --- a/content/docs/faq/daily-and-monthly-quota-limits.md +++ b/content/docs/faq/daily-and-monthly-quota-limits.md @@ -34,4 +34,4 @@ Daily limits can take up to a week to fully update after you upgrade your plan. If you need to send more than 50,000 email a day on average throughout a calendar month, SparkPost requires that you have one or more dedicated IPs and custom bounce and tracking domains set up. Please set these up before requesting a limit rise. -**Note:** Please follow our [IP Warm up Guide](https://docs.sparkpost.com/docs/deliverability/ip-warm-up-overview/) to warm up any new IP and correctly establish your sending reputation. +**Note:** Please follow our [IP Warm up Guide](/docs/deliverability/ip-warm-up-overview/) to warm up any new IP and correctly establish your sending reputation. diff --git a/content/docs/faq/dkim-wont-verify.md b/content/docs/faq/dkim-wont-verify.md index fa5f4bec..7c1c0fad 100644 --- a/content/docs/faq/dkim-wont-verify.md +++ b/content/docs/faq/dkim-wont-verify.md @@ -6,7 +6,7 @@ description: "Q Why won't my DKIM record verify A While configuring your Sending Q: Why won't my DKIM record verify? -A: [While configuring your Sending Domains](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/#prerequisites), you need to "verify" that the DNS entries you have made are available to SparkPost and ESPs for use. The DNS TXT records you create have a TTL (Time To Live) value associated with them. This value is important (in cases where you have been unable to verify your Sending Domain's DNS DKIM record). The TTL is typically measured in seconds. For example a TTL value of 60 = 1 minute. +A: [While configuring your Sending Domains](/docs/getting-started/getting-started-sparkpost/#prerequisites), you need to "verify" that the DNS entries you have made are available to SparkPost and ESPs for use. The DNS TXT records you create have a TTL (Time To Live) value associated with them. This value is important (in cases where you have been unable to verify your Sending Domain's DNS DKIM record). The TTL is typically measured in seconds. For example a TTL value of 60 = 1 minute. When you click the "verify" link on the Sending Domains configuration page, SparkPost makes a request to DNS to see if that record is available. Sometimes, the TTL may cause changes you've just made to not be "visible" to SparkPost yet. So if you don't see a message saying your DKIM is verified, just wait a bit and refresh the page. diff --git a/content/docs/faq/error-messages-smtp.md b/content/docs/faq/error-messages-smtp.md index ee9f09c4..4ed8ec69 100644 --- a/content/docs/faq/error-messages-smtp.md +++ b/content/docs/faq/error-messages-smtp.md @@ -12,4 +12,4 @@ For error messages that are not listed below, see one of the popular SMTP reply |:---------------------------------------------------------|:-------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 535 5.7.8 Sorry. *** No authentication type succeeded | There is some problem with the authentication credentials. API key, user name, etc. | Confirm that the API key has the Send via SMTP permission and the user name SMTP_Injection. | | 550 5.6.0 JSON parsing error in X-MSYS-API | The X-MSYS-API header is malformed in some way | Fix the header's json. The error message usually supplies additional details about the problem. See [the API Docs](https://developers.sparkpost.com/api/smtp-api.html) for more information about the format. | -| 550 5.7.1 Unconfigured Sending Domain | The domain part of the "From" address isn't a configured sending domain | Use a "From" address that uses a configured sending domain. See [Creating Sending Domains](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/#preparing-your-from-address) if you need to create a sending domain. | +| 550 5.7.1 Unconfigured Sending Domain | The domain part of the "From" address isn't a configured sending domain | Use a "From" address that uses a configured sending domain. See [Creating Sending Domains](/docs/getting-started/getting-started-sparkpost/#preparing-your-from-address) if you need to create a sending domain. | diff --git a/content/docs/faq/gmail-shows-mailing-list.md b/content/docs/faq/gmail-shows-mailing-list.md index 0176cb00..2dd87542 100644 --- a/content/docs/faq/gmail-shows-mailing-list.md +++ b/content/docs/faq/gmail-shows-mailing-list.md @@ -10,4 +10,4 @@ Gmail pulls the 'mailing list' information from the list_unsubscribe header that ## How do I remove this?  -Unfortunately since the header is auto-generated it cannot be changed or removed. For more information about the list_unsubscribe header please see [this article](https://docs.sparkpost.com/docs/user-guide/remove-list-unsubscribe-header/). +Unfortunately since the header is auto-generated it cannot be changed or removed. For more information about the list_unsubscribe header please see [this article](/docs/user-guide/remove-list-unsubscribe-header/). diff --git a/content/docs/faq/inactive-account.md b/content/docs/faq/inactive-account.md index 6a5c09be..b8375631 100644 --- a/content/docs/faq/inactive-account.md +++ b/content/docs/faq/inactive-account.md @@ -4,13 +4,13 @@ title: “What happens if I don’t use my Free SparkPost account?” description: “If you never send from your Free account, after 3 months we will close your account, or if you don’t send from your Free SparkPost account for 6 months we will close your account” --- -We love it when customers use SparkPost, but we recognize that things can change, and you might no longer need your account for sending. We strongly recommend that you contact support through the in app support tool to request your account is closed. Details can be found [here](https://docs.sparkpost.com/docs/faq/submit-a-ticket/), but if you don’t, to protect your account’s security and any data we will close your account... +We love it when customers use SparkPost, but we recognize that things can change, and you might no longer need your account for sending. We strongly recommend that you contact support through the in app support tool to request your account is closed. Details can be found [here](/docs/faq/submit-a-ticket/), but if you don’t, to protect your account’s security and any data we will close your account...
  • If you have never sent with your own verified domain your account will be closed after 3 months.
  • If you have stopped sending we will close your account after 6 months of inactivity.
-If you would like to start using SparkPost again, you will be asked to set up a new account with one of our current plans. You can find more information on account set up [here](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/). +If you would like to start using SparkPost again, you will be asked to set up a new account with one of our current plans. You can find more information on account set up [here](/docs/getting-started/getting-started-sparkpost/). **NOTE** For Paid plan customers we recommend you downgrade to the free plan to stop ongoing charges but also contact support as mentioned above if you no longer require your SparkPost account. diff --git a/content/docs/faq/post-to-webhook-target-failed.md b/content/docs/faq/post-to-webhook-target-failed.md index 16fb7b22..4d1c6b30 100644 --- a/content/docs/faq/post-to-webhook-target-failed.md +++ b/content/docs/faq/post-to-webhook-target-failed.md @@ -14,4 +14,4 @@ This error occurs when SparkPost sends a test batch to your webhook endpoint and * Your receiving HTTP service must return a 200 status code when it successfully receives an event batch.  Any non 200 response is treated as an error. * For security reasons, SparkPost only supports standard ports 80 (for HTTP traffic) and 443 (for HTTPS traffic). Make sure your webhook endpoint is listening for traffic on at least one of these ports. -For more details on managing your webhooks and handling webhook event data, check out [this support article](https://docs.sparkpost.com/docs/tech-resources/managing-webhook-data/) and [this blog post](https://www.sparkpost.com/blog/webhooks-beyond-the-basics/) on the topic. +For more details on managing your webhooks and handling webhook event data, check out [this support article](/docs/tech-resources/managing-webhook-data/) and [this blog post](https://www.sparkpost.com/blog/webhooks-beyond-the-basics/) on the topic. diff --git a/content/docs/faq/recipient-address-was-suppressed-due-to-customer-policy.md b/content/docs/faq/recipient-address-was-suppressed-due-to-customer-policy.md index 224d6796..45aee15f 100644 --- a/content/docs/faq/recipient-address-was-suppressed-due-to-customer-policy.md +++ b/content/docs/faq/recipient-address-was-suppressed-due-to-customer-policy.md @@ -25,7 +25,7 @@ You can use the API key to view who was on your account's Suppression List, but You can edit that by visiting this URL and clicking the Edit button for that particular API key and adding the Suppression Lists Read/Write permission: [https://app.sparkpost.com/#/account/credentials](https://app.sparkpost.com/#/account/credentials) -More information regarding the suppression list can be found here: https://docs.sparkpost.com/docs/user-guide/using-suppression-lists/ +More information regarding the suppression list can be found [here](/docs/user-guide/using-suppression-lists/). Some workarounds for this situation are: diff --git a/content/docs/faq/retrieve-bounce-info.md b/content/docs/faq/retrieve-bounce-info.md index 5a286c04..591b2597 100644 --- a/content/docs/faq/retrieve-bounce-info.md +++ b/content/docs/faq/retrieve-bounce-info.md @@ -14,11 +14,11 @@ The push mechanism that SparkPost has for providing message event data is called * Target URL * Type of Authentication (None, Basic Auth and OAuth2 are available options  -Your webhook will need to specify which types of events should be pushed to your endpoint. [This article](https://docs.sparkpost.com/docs/tech-resources/webhook-event-reference/) illustrates the available event types, their JSON keys for use with the Webhooks API, and also provides all *key:value* pairs that will appear for each event type in the posted payload. In the app, the question marks next to all of the options will detail the definitions of the events for you. There will likely be some events that are not applicable to you, so add and remove event types to best suit your needs. +Your webhook will need to specify which types of events should be pushed to your endpoint. [This article](/docs/tech-resources/webhook-event-reference/) illustrates the available event types, their JSON keys for use with the Webhooks API, and also provides all *key:value* pairs that will appear for each event type in the posted payload. In the app, the question marks next to all of the options will detail the definitions of the events for you. There will likely be some events that are not applicable to you, so add and remove event types to best suit your needs. Once you set up a webhook, you should click the "test" button in the app (or the "validate" call in the Webhooks API) and then use the option to post an example batch to your endpoint. After a successful test, the webhook will then start to stream production event data to your endpoint from that point forward. If a given connection is not successful in delivering a payload to the endpoint, an error message will be displayed in the app, detailing the time the last successful batch was posted. Please note that the error message will remain in the app if any previous posted batch ever experiences a problem, even though the webhook may be accepting posted payloads of data. The time of last batch successful will likely be very recent if this is the case. -Additional information about webhook best practices and retry logic should be read prior to setting up a webhook endpoint. That article can be found [here](https://docs.sparkpost.com/docs/tech-resources/managing-webhook-data/). +Additional information about webhook best practices and retry logic should be read prior to setting up a webhook endpoint. That article can be found [here](/docs/tech-resources/managing-webhook-data/). ### Pull Mechanism - Events API @@ -36,7 +36,7 @@ It is important to also know which bounce and event types you should suppress fr * “Bounce” events that are hard bounces - “bounce_class” = 10, 30, 90 - **Note**: The three bounce classes above are **permanent** failures and should **not** be retried. [Link](https://docs.sparkpost.com/docs/deliverability/bounce-classification-codes/) to all bounce classifications + **Note**: The three bounce classes above are **permanent** failures and should **not** be retried. [Link](/docs/deliverability/bounce-classification-codes/) to all bounce classifications * “Out of Band” events that are hard bounces - “bounce_class” = 10, 30, 90​ ​**Note**: The three bounce classes above are **permanent** failures and should **not** be retried. diff --git a/content/docs/faq/suppression-timing.md b/content/docs/faq/suppression-timing.md index 9510b138..cf94307d 100644 --- a/content/docs/faq/suppression-timing.md +++ b/content/docs/faq/suppression-timing.md @@ -14,4 +14,4 @@ In the dashboard, you will see one of the following reasons in the 'Bounces' mod 554 5.7.1 recipient address was suppressed due to customer policy (Bounce Rule) 554 5.7.1 recipient address was suppressed due to customer policy (Unsubscribe Rule) -[This article](https://docs.sparkpost.com/docs/user-guide/using-suppression-lists/) offers more detail on working with suppression lists. +[This article](/docs/user-guide/using-suppression-lists/) offers more detail on working with suppression lists. diff --git a/content/docs/faq/update-on-pricing.md b/content/docs/faq/update-on-pricing.md index 7eeec549..9cd0f444 100644 --- a/content/docs/faq/update-on-pricing.md +++ b/content/docs/faq/update-on-pricing.md @@ -8,12 +8,12 @@ On **July 15, 2019**, we notified SparkPost customers on the old SparkPost “Fr ## Why did we change our pricing? -Over the last four years, we have delivered significant expansions to our product such as [A/B testing](https://docs.sparkpost.com/docs/tech-resources/a-b-testing-sparkpost/), [Recipient Validation](https://www.sparkpost.com/recipient-validation/), and our predictive email analytics platform [Signals](https://www.sparkpost.com/platform/signals/). And we’re shipping new features faster than ever. We believe that the new pricing is fair and in line with what is being offered in the market. +Over the last four years, we have delivered significant expansions to our product such as [A/B testing](/docs/tech-resources/a-b-testing-sparkpost/), [Recipient Validation](https://www.sparkpost.com/recipient-validation/), and our predictive email analytics platform [Signals](https://www.sparkpost.com/platform/signals/). And we’re shipping new features faster than ever. We believe that the new pricing is fair and in line with what is being offered in the market. ## What are the differences between Starter and Premier plans? The **Starter** plans are low-cost plans that make it easy for new or low-volume senders to get started. They include many of SparkPost’s great features, but some features are limited in order to keep costs low. -The **Premier** plans are robust email packages for high-volume senders that include additional features to facilitate and manage sending large volumes of email. Feature breakdown of these plans can be found [here](https://docs.sparkpost.com/docs/faq/difference-between-starter-and-premier/). +The **Premier** plans are robust email packages for high-volume senders that include additional features to facilitate and manage sending large volumes of email. Feature breakdown of these plans can be found [here](/docs/faq/difference-between-starter-and-premier/). ## If I cancel my plan and reactivate, can I go back to the old pricing? @@ -29,4 +29,4 @@ On or before September 15, 2019, you will need to login to your SparkPost accoun ## Will you be increasing prices for other SparkPost features and services? -Pricing and plan changes only apply to sending volume. Pricing of features or additional services such as [Recipient Validation](https://docs.sparkpost.com/docs/tech-resources/recipient-validation-sparkpost/) and [Dedicated IPs](https://docs.sparkpost.com/docs/deliverability/dedicated-ip-pools/) are not affected by this change. However, please do note that these features are not available with all messaging plans. Feature breakdown of the different plan tiers can be found [here](https://docs.sparkpost.com/docs/faq/difference-between-starter-and-premier/). +Pricing and plan changes only apply to sending volume. Pricing of features or additional services such as [Recipient Validation](/docs/tech-resources/recipient-validation-sparkpost/) and [Dedicated IPs](/docs/deliverability/dedicated-ip-pools/) are not affected by this change. However, please do note that these features are not available with all messaging plans. Feature breakdown of the different plan tiers can be found [here](/docs/faq/difference-between-starter-and-premier/). diff --git a/content/docs/faq/why-domain-blocked.md b/content/docs/faq/why-domain-blocked.md index f754bebc..8494aba7 100644 --- a/content/docs/faq/why-domain-blocked.md +++ b/content/docs/faq/why-domain-blocked.md @@ -5,4 +5,4 @@ description: "If your domain’s status is \"Blocked\", it’s generally because --- If your domain’s status is "Blocked", it’s generally because your domain is already in use by another SparkPost account, your domain has been previously blocked for sending abusive traffic through our service or another provider, or because one or more of our requirements are not met. -Please see the [Requirements For Sending and Bounce Domains](https://docs.sparkpost.com/docs/getting-started/requirements-for-sending-domains/) page. +Please see the [Requirements For Sending and Bounce Domains](/docs/getting-started/requirements-for-sending-domains/) page. diff --git a/content/docs/getting-started/create-api-keys.md b/content/docs/getting-started/create-api-keys.md index 5204f825..58dc8072 100644 --- a/content/docs/getting-started/create-api-keys.md +++ b/content/docs/getting-started/create-api-keys.md @@ -16,12 +16,12 @@ Click on **API Keys** under the **Configuration** section of the side navigation 1. Choose which permissions you want the API key to have. If you wish to change which permissions are available for a given API key, you may do so. -1. You do not need to configure the API key for subaccounts, unless you wish to use subaccounts. More information on subaccounts can be found in [this article](https://docs.sparkpost.com/docs/user-guide/subaccounts/). +1. You do not need to configure the API key for subaccounts, unless you wish to use subaccounts. More information on subaccounts can be found in [this article](/docs/user-guide/subaccounts/). 1. Click the **Create API Key** button to save this information and generate the API key. **IMPORTANT**: The generated key will be visible only once. After the key has been created, you will only be able to see the name of the key, it's permissions, and the first four characters. -You have now completed the account configuration and obtained an API Key. If your sending domain has been verified you are ready to [send your first email using SparkPost](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/#sending-email)! +You have now completed the account configuration and obtained an API Key. If your sending domain has been verified you are ready to [send your first email using SparkPost](/docs/getting-started/getting-started-sparkpost/#sending-email)! **Note**: If you are using the "Allowed IPs" feature, not all web hosting services will let you determine what IP API calls are made from, even if you subscribe to 'dedicated IP' services they provide. Please make sure you have control over the outgoing IP before utilizing this feature. diff --git a/content/docs/getting-started/creating-template.md b/content/docs/getting-started/creating-template.md index 4dae3097..1a422e9f 100644 --- a/content/docs/getting-started/creating-template.md +++ b/content/docs/getting-started/creating-template.md @@ -6,12 +6,12 @@ description: "Create a Template Once you understand how to send an email transmi ## Create a template -Once you understand how to [send an email (transmission)](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/#sending-email), you'll want to know how to create templates in SparkPost if you do not wish to use inline content in your transmissions API call. +Once you understand how to [send an email (transmission)](/docs/getting-started/getting-started-sparkpost/#sending-email), you'll want to know how to create templates in SparkPost if you do not wish to use inline content in your transmissions API call. Currently there are two ways you can create templates in SparkPost: -* [Create templates in SparkPost using the app](https://docs.sparkpost.com/docs/getting-started/creating-template/#creating-templates-with-the-app) -* [Create templates in SparkPost using the API](https://docs.sparkpost.com/docs/getting-started/creating-template/#creating-templates-with-the-api) +* [Create templates in SparkPost using the app](/docs/getting-started/creating-template/#creating-templates-with-the-app) +* [Create templates in SparkPost using the API](/docs/getting-started/creating-template/#creating-templates-with-the-api) ## Why create templates in SparkPost? @@ -38,7 +38,7 @@ Creating a template using the SparkPost app is simple. To get started, let's go 1. **Define subaccount usage of the template:** Choose whether or not to share this template with subaccounts by clicking the checkbox titled "Share with all subaccounts". If a primary account creates a template and does not elect to share it with subaccounts, only the primary account may use that template. If the template is shared with all subaccounts, every subaccount has access to use the template, but only the primary account has edit permissions. If the primary account creates a template on behalf of a subaccount and assigns it to a single subaccount, both the primary account and subaccount can use and edit that template. - Read more about using subaccounts in SparkPost [here](https://docs.sparkpost.com/docs/user-guide/subaccounts/). + Read more about using subaccounts in SparkPost [here](/docs/user-guide/subaccounts/). 1. **Define the subject of the template:** Input the subject line of the template that will appear in your recipient's mail client. @@ -54,11 +54,11 @@ Creating a template using the SparkPost app is simple. To get started, let's go 1. **Choose engagement tracking options:** If you would like this template to have open and click tracking enabled, click on either of these buttons. Orange is enabled, and grey is disabled. -1. **Choose transactional message options:** Choose whether to mark this template as a transactional message. Orange is enabled, grey is disabled (and therefore "non_transactional".) Appropriately categorizing your templates is important because both "transactional" and "non-transactional" templates have separate suppression lists. For more information on suppression lists, see this article [here](https://docs.sparkpost.com/docs/user-guide/using-suppression-lists/). +1. **Choose transactional message options:** Choose whether to mark this template as a transactional message. Orange is enabled, grey is disabled (and therefore "non_transactional".) Appropriately categorizing your templates is important because both "transactional" and "non-transactional" templates have separate suppression lists. For more information on suppression lists, see this article [here](/docs/user-guide/using-suppression-lists/). 1. **Define the content of the template:** - * **[Creating HTML Content](https://docs.sparkpost.com/docs/getting-started/creating-template/#authoring-html-content-for-your-templates-in-the-sparkpost-app)** - * **[Creating Text Content](https://docs.sparkpost.com/docs/getting-started/creating-template/#authoring-text-content-for-your-templates-in-the-sparkpost-app)** + * **[Creating HTML Content](/docs/getting-started/creating-template/#authoring-html-content-for-your-templates-in-the-sparkpost-app)** + * **[Creating Text Content](/docs/getting-started/creating-template/#authoring-text-content-for-your-templates-in-the-sparkpost-app)** * **[How to Use The Template Language](https://developers.sparkpost.com/api/template-language/)** At this point, we are *technically* done with our template and we could "Save" or "Save and Publish", but let's take a few minutes to test this template and make sure it is behaving as we expect. @@ -79,7 +79,7 @@ If you are using substitution data in your emails, there are additional steps yo ### Prerequisites -* **SparkPost API Key:** You will need to have a SparkPost API Key with all the appropriate data-access permissions for Templates API management. [How to create a SparkPost API Key](https://docs.sparkpost.com/docs/getting-started/create-api-keys/) +* **SparkPost API Key:** You will need to have a SparkPost API Key with all the appropriate data-access permissions for Templates API management. [How to create a SparkPost API Key](/docs/getting-started/create-api-keys/) * **HTTP Request Knowledge:** You will need to understand how to make HTTP(S) requests. * **Tools:** You will need to have a REST Client, or access to a terminal which supports cURL. diff --git a/content/docs/getting-started/engagement-tracking.md b/content/docs/getting-started/engagement-tracking.md index a9cdb615..1b61f2e0 100644 --- a/content/docs/getting-started/engagement-tracking.md +++ b/content/docs/getting-started/engagement-tracking.md @@ -7,7 +7,7 @@ description: "This guide outlines some of the different ways you can do engageme With SparkPost, there are a multitude of ways to configure engagement tracking with our customers. This guide will outline some of the initial options, and provide references to other guides for configuring custom tracking domains and different ways to use **HTTPS** with your custom tracking domains. ## Getting Started -Customers can view their engagement through the use of SparkPosts Events. These events can be searched and viewed in many different ways. They can be viewed within [SparkPost Signals®](https://docs.sparkpost.com/docs/reporting/signals-analytics/), queried and searched via the [Events API](https://developers.sparkpost.com/api/events/) or sent to your own environments through the use of [Event Webhooks](https://developers.sparkpost.com/api/webhooks/) to name a few. +Customers can view their engagement through the use of SparkPosts Events. These events can be searched and viewed in many different ways. They can be viewed within [SparkPost Signals®](/docs/reporting/signals-analytics/), queried and searched via the [Events API](https://developers.sparkpost.com/api/events/) or sent to your own environments through the use of [Event Webhooks](https://developers.sparkpost.com/api/webhooks/) to name a few. ### Notes on Click Tracking For a link to be click tracked, it must start with a protocol of either `http://` or `https://`. If neither of these are present, the link will not be click tracked by SparkPost. @@ -43,7 +43,7 @@ SparkPost templates also have the option to set open and click tracking so that If for some reason, you cannot or do not wish to set your tracking configuration with Transmissions API or Template level options, you can request different default settings for your account. Please contact support through the SparkPost app, or your Technical Account Manager. ## SMTP Engagement Tracking -The SparkPost SMTP engagement tracking is turned off by default for new accounts. This can be turned on account wide by following this [Guide](https://docs.sparkpost.com/docs/tech-resources/smtp-engagement-tracking/). +The SparkPost SMTP engagement tracking is turned off by default for new accounts. This can be turned on account wide by following this [Guide](/docs/tech-resources/smtp-engagement-tracking/). To enable click and open tracking in SMTP messages, add the X-MSYS-API header as follows: @@ -51,7 +51,7 @@ To enable click and open tracking in SMTP messages, add the X-MSYS-API header as X-MSYS-API: { "options" : { "open_tracking" : true, "click_tracking" : true } } ``` -For more information on SMTP Engagement Tracking, check out this [Guide](https://docs.sparkpost.com/docs/tech-resources/smtp-engagement-tracking/) to configure your account settings or leverage the [SMTP API](https://developers.sparkpost.com/api/smtp/) to control your engagement tracking. +For more information on SMTP Engagement Tracking, check out this [Guide](/docs/tech-resources/smtp-engagement-tracking/) to configure your account settings or leverage the [SMTP API](https://developers.sparkpost.com/api/smtp/) to control your engagement tracking. ### Rate Limiting If Sparkpost detects excessive click requests over a short period, it will return http `403 Forbidden` errors. @@ -59,4 +59,4 @@ If Sparkpost detects excessive click requests over a short period, it will retur If you're a developer running the same tests frequently, you may run into it. The solution is to wait a while, or cycle through various recipient addresses. ## Next Steps -Look at setting up a [Custom Tracking Domain](https://docs.sparkpost.com/docs/tech-resources/enabling-multiple-custom-tracking-domains/) for your SparkPost mail, which can provide features like [Mobile Universal and App Links](https://docs.sparkpost.com/docs/tech-resources/deep-links-self-serve/) and **HTTPS** tracking links through [CDN Hosting](https://docs.sparkpost.com/docs/tech-resources/enabling-https-engagement-tracking-on-sparkpost/) or the use of a [Reverse Proxy](https://docs.sparkpost.com/docs/tech-resources/using-proxy-https-tracking-domain/). +Look at setting up a [Custom Tracking Domain](/docs/tech-resources/enabling-multiple-custom-tracking-domains/) for your SparkPost mail, which can provide features like [Mobile Universal and App Links](/docs/tech-resources/deep-links-self-serve/) and **HTTPS** tracking links through [CDN Hosting](/docs/tech-resources/enabling-https-engagement-tracking-on-sparkpost/) or the use of a [Reverse Proxy](/docs/tech-resources/using-proxy-https-tracking-domain/). diff --git a/content/docs/getting-started/getting-started-sparkpost.md b/content/docs/getting-started/getting-started-sparkpost.md index 74bc78d2..d2283db2 100644 --- a/content/docs/getting-started/getting-started-sparkpost.md +++ b/content/docs/getting-started/getting-started-sparkpost.md @@ -41,7 +41,7 @@ If you do not have a domain name, you'll need to purchase one to use with SparkP To set up your sending domain, add the domain to your SparkPost account, verify that you own it and wait a moment while our Compliance team runs a few quick checks. Follow the detailed steps below to get it done. -Note: SparkPost expects to see a [legitimate web presence](https://docs.sparkpost.com/docs/getting-started/requirements-for-sending-domains/#website-requirements) on each sending domain, so please ensure your website is accessible before adding a domain to your SparkPost account. If you use a subdomain, a legitimate web presence is only needed on the top-level domain. +Note: SparkPost expects to see a [legitimate web presence](/docs/getting-started/requirements-for-sending-domains/#website-requirements) on each sending domain, so please ensure your website is accessible before adding a domain to your SparkPost account. If you use a subdomain, a legitimate web presence is only needed on the top-level domain. ## Domain Setup ### Step 1: Add the Domain @@ -62,7 +62,7 @@ Unfortunately, some DNS records take longer to update than others, even up to 24 Some providers are particular about how the hostname is entered, so please check with your domain provider to see if there are any special requirements for entering your DNS TXT record. -You're almost done! While you've been verifying ownership of your domain, the addition of this DKIM DNS record will [also help your reputation as an email sender](https://docs.sparkpost.com/docs/faq/why-configure-dkim/). DKIM is a widely-used email standard that most email services will use to verify that your emails were in fact sent by you and weren't intercepted or changed along the way. +You're almost done! While you've been verifying ownership of your domain, the addition of this DKIM DNS record will [also help your reputation as an email sender](/docs/faq/why-configure-dkim/). DKIM is a widely-used email standard that most email services will use to verify that your emails were in fact sent by you and weren't intercepted or changed along the way. *Note:* If you don't have access to update your DNS records for this domain, you can verify ownership further down in the page by sending an email to a mailbox you control on your domain. Then click on the link in the received email to verify. This will allow you to send email from this domain, but SparkPost will not be able to DKIM-sign the mail it sends on your behalf, which could cause deliverability issues. We recommend using DNS verification whenever possible for this reason. @@ -75,7 +75,7 @@ Here are some how-to documents for editing DNS records with common DNS providers ### Step 3: Final Review -Once your DNS record has been found, your domain's status will change to "Pending". This means the domain is in our final review process which will verify that the domain meets [our best practice requirements](https://docs.sparkpost.com/docs/getting-started/requirements-for-sending-domains/). This usually takes just a few minutes, but can sometimes take up to an hour. Once the review is complete, the domain will be ready to send. +Once your DNS record has been found, your domain's status will change to "Pending". This means the domain is in our final review process which will verify that the domain meets [our best practice requirements](/docs/getting-started/requirements-for-sending-domains/). This usually takes just a few minutes, but can sometimes take up to an hour. Once the review is complete, the domain will be ready to send. ![Ready to send](media/getting-started-sparkpost/status-section.png) @@ -233,6 +233,6 @@ SparkPost can receive email on your behalf and forward to your own HTTP endpoint ## How To Get Help -For general questions, you might find a ready-made answer by searching SparkPost's [support articles](https://docs.sparkpost.com/docs/). +For general questions, you might find a ready-made answer by searching SparkPost's [support articles](/docs/). If you run into an issue with your account you can contact our support team by clicking on the question mark on the top right of [your dashboard](https://app.sparkpost.com/dashboard) and submitting a ticket. You can also follow the [SparkPost Status](https://status.sparkpost.com/) page for service updates. diff --git a/content/docs/getting-started/how-to-get-help.md b/content/docs/getting-started/how-to-get-help.md index 1495524b..180761ad 100644 --- a/content/docs/getting-started/how-to-get-help.md +++ b/content/docs/getting-started/how-to-get-help.md @@ -4,7 +4,7 @@ title: 'How to get Help' description: 'This guide will help you find the best resource for your inquiry and fastest resolution As a general rule first search in the latest API docs and knowledge base articles and then try the following Service Status Find out whether the service is up down sideways on vacation or going...' --- -This guide will help you find the best resource for your inquiry and fastest resolution. As a general rule first search in the latest [API docs](https://developers.sparkpost.com/api/) and [knowledge base articles](https://docs.sparkpost.com/docs/) and then try the following. +This guide will help you find the best resource for your inquiry and fastest resolution. As a general rule first search in the latest [API docs](https://developers.sparkpost.com/api/) and [knowledge base articles](/docs/) and then try the following. ## Service Status @@ -23,20 +23,20 @@ Find out whether the service is up, down, sideways, on vacation or going slow by | Task | How to get help | | :-- | :-- | -| **First Time Setup Support** | See the video guides in the **[Getting Started Section](https://docs.sparkpost.com/docs/getting-started/)** of the support center, if you are still having issues **[Submit a support request](https://app.sparkpost.com/dashboard/?supportTicket=true&supportIssue=general_issue) ([EU](https://app.eu.sparkpost.com/dashboard/?supportTicket=true&supportIssue=general_issue))** | +| **First Time Setup Support** | See the video guides in the **[Getting Started Section](/docs/getting-started/)** of the support center, if you are still having issues **[Submit a support request](https://app.sparkpost.com/dashboard/?supportTicket=true&supportIssue=general_issue) ([EU](https://app.eu.sparkpost.com/dashboard/?supportTicket=true&supportIssue=general_issue))** | | **Dedicated IP Address Requests (for paid plans)** | See the [IP Pools](https://app.sparkpost.com/account/ip-pools) page under **Configuration** to request your IP(s) | | **Sending Limit Request** | See the [Usage](https://app.sparkpost.com/usage) page in the app and complete the form under 'Contact support' | -| **Custom Bounce Domain** | See **[Setting up Custom Bounce Domain](https://docs.sparkpost.com/docs/tech-resources/custom-bounce-domain/)** article for instructions | -| **Inbound Relay Webhook Setup** | See **[Enable Inbound Relay Webhook](https://docs.sparkpost.com/docs/tech-resources/enabling-inbound-email/)** for instructions | +| **Custom Bounce Domain** | See **[Setting up Custom Bounce Domain](/docs/tech-resources/custom-bounce-domain/)** article for instructions | +| **Inbound Relay Webhook Setup** | See **[Enable Inbound Relay Webhook](/docs/tech-resources/enabling-inbound-email/)** for instructions | ## Technical Support | Task | How to get help | | :-- | :-- | | **DKIM Verification Issues** | **[Contact our Compliance Team](https://app.sparkpost.com/dashboard/?supportTicket=true&supportIssue=dns) ([EU](https://app.eu.sparkpost.com/dashboard/?supportTicket=true&supportIssue=dns))** | -| **Sending Domain Block** | See the **[Domain Requirements](https://docs.sparkpost.com/docs/getting-started/requirements-for-sending-domains/)** Article and if all else fails **[Contact our Compliance Team](https://app.sparkpost.com/dashboard/?supportTicket=true&supportIssue=sending_domain_block) ([EU](https://app.eu.sparkpost.com/dashboard/?supportTicket=true&supportIssue=sending_domain_block))** | -| **Finding Bounce Information** | See **[Getting Bounce Information](https://docs.sparkpost.com/docs/faq/retrieve-bounce-info/)** for instructions | -| **Policy Rejections** | See the **[Suppressions](https://docs.sparkpost.com/docs/user-guide/using-suppression-lists/)** Article | +| **Sending Domain Block** | See the **[Domain Requirements](/docs/getting-started/requirements-for-sending-domains/)** Article and if all else fails **[Contact our Compliance Team](https://app.sparkpost.com/dashboard/?supportTicket=true&supportIssue=sending_domain_block) ([EU](https://app.eu.sparkpost.com/dashboard/?supportTicket=true&supportIssue=sending_domain_block))** | +| **Finding Bounce Information** | See **[Getting Bounce Information](/docs/faq/retrieve-bounce-info/)** for instructions | +| **Policy Rejections** | See the **[Suppressions](/docs/user-guide/using-suppression-lists/)** Article | ## Support Team Hours @@ -44,16 +44,16 @@ Our Support teams work **Monday to Friday 09:00 til 20:00 Eastern Time (UTC-5)** ## Integration Support -For common front end integrations we have basic guides in the **[Integrations Section](https://docs.sparkpost.com/docs/integrations/)** of the support center or click on the particular guide you require: - -- [PowerMTA](https://docs.sparkpost.com/docs/integrations/power-mta/) -- [Ongage](https://docs.sparkpost.com/docs/integrations/ongage/) -- [Easymail](https://docs.sparkpost.com/docs/integrations/easy-mail/) -- [Sendblaster](https://docs.sparkpost.com/docs/integrations/send-blaster/) -- [Mailwizz](https://docs.sparkpost.com/docs/integrations/mail-wizz/) -- [Send With Us](https://docs.sparkpost.com/docs/integrations/send-with-us/) -- [Postfix](https://docs.sparkpost.com/docs/integrations/postfix/) -- [Group Mail](https://docs.sparkpost.com/docs/integrations/group-mail/) -- [Hoolie](https://docs.sparkpost.com/docs/integrations/hoolie/) -- [Direct Mail](https://docs.sparkpost.com/docs/integrations/direct-mail/) -- [eCampaign 11](https://docs.sparkpost.com/docs/integrations/e-campaign-11/) +For common front end integrations we have basic guides in the **[Integrations Section](/docs/integrations/)** of the support center or click on the particular guide you require: + +- [PowerMTA](/docs/integrations/power-mta/) +- [Ongage](/docs/integrations/ongage/) +- [Easymail](/docs/integrations/easy-mail/) +- [Sendblaster](/docs/integrations/send-blaster/) +- [Mailwizz](/docs/integrations/mail-wizz/) +- [Send With Us](/docs/integrations/send-with-us/) +- [Postfix](/docs/integrations/postfix/) +- [Group Mail](/docs/integrations/group-mail/) +- [Hoolie](/docs/integrations/hoolie/) +- [Direct Mail](/docs/integrations/direct-mail/) +- [eCampaign 11](/docs/integrations/e-campaign-11/) diff --git a/content/docs/getting-started/previewing-and-sending-test-emails.md b/content/docs/getting-started/previewing-and-sending-test-emails.md index 55d406ce..32221a56 100644 --- a/content/docs/getting-started/previewing-and-sending-test-emails.md +++ b/content/docs/getting-started/previewing-and-sending-test-emails.md @@ -14,7 +14,7 @@ The following example code is used to illustrate our preview and test send funct * **ID:** my-preview-test-template * **From Name:** This is the "human friendly" name that is shown to recipients in their email client * **From Email (sender):** Your user on the valid sending domain -* **From Email (@domain):** Must be one of your **valid** sending domains. [Learn how to configure a sending domain in SparkPost](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/#preparing-your-from-address) +* **From Email (@domain):** Must be one of your **valid** sending domains. [Learn how to configure a sending domain in SparkPost](/docs/getting-started/getting-started-sparkpost/#preparing-your-from-address) * **Subject:** Test Email, Please do not respond * **Description:** This is a simple test template used to test SparkPost's Preview Functionality * **Engagement Tracking:** Turn on Track Opens and Track Clicks @@ -27,7 +27,7 @@ The following example code is used to illustrate our preview and test send funct {{if product.name}}

-Thank you for your interest in [{{product.name}}](https://docs.sparkpost.com/docs/product.url "product.description") +Thank you for your interest in [{{product.name}}](/docs/product.url "product.description")

{{end}} diff --git a/content/docs/getting-started/requirements-for-sending-domains.md b/content/docs/getting-started/requirements-for-sending-domains.md index 0fd607d7..6f7e6cdc 100644 --- a/content/docs/getting-started/requirements-for-sending-domains.md +++ b/content/docs/getting-started/requirements-for-sending-domains.md @@ -4,7 +4,7 @@ title: "Requirements For Sending and Bounce Domains" description: "To protect the sending reputation of all of our customers, SparkPost sending and bounce domains must be officially verified and validated." --- -At SparkPost we strive to ensure that all of our customers are **Responsible Senders**.  We do this by providing guidance on [deliverability best practices for inbox placement](https://docs.sparkpost.com/docs/deliverability/optimizing-deliverability-and-inbox-placement/), providing real-time feedback on your sends and by enforcing policies that protect our sending reputation and the reputation of our customers. +At SparkPost we strive to ensure that all of our customers are **Responsible Senders**.  We do this by providing guidance on [deliverability best practices for inbox placement](/docs/deliverability/optimizing-deliverability-and-inbox-placement/), providing real-time feedback on your sends and by enforcing policies that protect our sending reputation and the reputation of our customers. The gold standard for a **Responsible Sender** is one who sends only to those recipients who want and expect the content, and one who practices good list hygiene as follows: @@ -38,7 +38,7 @@ If your domain's status is "Blocked", it's generally because your domain is alre ### Domain Requirements -* You must own or have administrative access to your domain -- that is confirmed when you complete the [Sending Domain Verification Steps](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/#step-2-verify-domain) +* You must own or have administrative access to your domain -- that is confirmed when you complete the [Sending Domain Verification Steps](/docs/getting-started/getting-started-sparkpost/#step-2-verify-domain) * An A record or MX record in DNS must exist for your domain * The organizational domain cannot be used across more than one SparkPost account (for example, you cannot have mail.acme.com associated with one account while alert.acme.com belongs to another account) @@ -57,5 +57,5 @@ If you make changes to your blocked sending domain and would like us to re-eva ## Additional Resources: -* Having trouble setting up your sending domain? See our article on how to [Create a Sending Domain](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/#preparing-your-from-address) -* A step by step guide to setting up your account for success with our [New User Guide](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/) +* Having trouble setting up your sending domain? See our article on how to [Create a Sending Domain](/docs/getting-started/getting-started-sparkpost/#preparing-your-from-address) +* A step by step guide to setting up your account for success with our [New User Guide](/docs/getting-started/getting-started-sparkpost/) diff --git a/content/docs/integrations/discourse.md b/content/docs/integrations/discourse.md index a23fc65a..0b7fea2d 100644 --- a/content/docs/integrations/discourse.md +++ b/content/docs/integrations/discourse.md @@ -25,7 +25,7 @@ Visit the [Sending Domains](https://app.sparkpost.com/account/sending-domains) p * Sending a verification email to postmaster@yourdomain.com * Setting up a valid DKIM DNS record -Choose the method that works best for you. View [this support article](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/#preparing-your-from-address) for more detailed information on setting up sending domains. +Choose the method that works best for you. View [this support article](/docs/getting-started/getting-started-sparkpost/#preparing-your-from-address) for more detailed information on setting up sending domains. ## Create an API key in SparkPost diff --git a/content/docs/integrations/django.md b/content/docs/integrations/django.md index 761a6cf3..84bb3201 100644 --- a/content/docs/integrations/django.md +++ b/content/docs/integrations/django.md @@ -16,7 +16,7 @@ EMAIL_HOST_PASSWORD = 'YOUR API KEY' EMAIL_USE_TLS = True ``` -Remember to replace `YOUR API KEY` with an API key that has “Send via SMTP” permission. Follow the [create API keys](https://docs.sparkpost.com/docs/getting-started/create-api-keys/) guide for detailed instructions. +Remember to replace `YOUR API KEY` with an API key that has “Send via SMTP” permission. Follow the [create API keys](/docs/getting-started/create-api-keys/) guide for detailed instructions. Now send your email through Django using SparkPost: diff --git a/content/docs/integrations/elixir.md b/content/docs/integrations/elixir.md index ed4ad0fd..247ec89f 100644 --- a/content/docs/integrations/elixir.md +++ b/content/docs/integrations/elixir.md @@ -4,7 +4,7 @@ title: "Using SparkPost with Elixir" description: "This article assumes you are familiar with Elixir and the mix and iex CL Is We also assume that you have created an API key with the Send via SMTP permission This article will show you how to use Spark Post via SMTP with Elixir and the Mailman library mix..." --- -**This article assumes you are familiar with Elixir and the `mix` and `iex` CLIs. We also assume that you have [created an API key](https://docs.sparkpost.com/docs/getting-started/create-api-keys/) with the "Send via SMTP" permission.** +**This article assumes you are familiar with Elixir and the `mix` and `iex` CLIs. We also assume that you have [created an API key](/docs/getting-started/create-api-keys/) with the "Send via SMTP" permission.** This article will show you how to use SparkPost via SMTP with Elixir and the [Mailman](https://github.com/kamilc/mailman) library. diff --git a/content/docs/integrations/joomla.md b/content/docs/integrations/joomla.md index c612d56a..dbf71d6d 100644 --- a/content/docs/integrations/joomla.md +++ b/content/docs/integrations/joomla.md @@ -6,8 +6,8 @@ description: "Configuring Joomla to use Spark Post is very straightforward since Configuring Joomla to use SparkPost is very straightforward since it can be done from its administration panel. -* [Add Sending Domain](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/#preparing-your-from-address) to SparkPost -* [Create an API Key](https://docs.sparkpost.com/docs/getting-started/create-api-keys/) with “*Send via SMTP*” permission +* [Add Sending Domain](/docs/getting-started/getting-started-sparkpost/#preparing-your-from-address) to SparkPost +* [Create an API Key](/docs/getting-started/create-api-keys/) with “*Send via SMTP*” permission * Login to admin panel (as an Administrator) of your Joomla installation * Open *Server* tab from *System* -> *Global Configurations* * Use the following information to fill in Mail Settings diff --git a/content/docs/integrations/magento.md b/content/docs/integrations/magento.md index f6fcc7b5..525ab872 100644 --- a/content/docs/integrations/magento.md +++ b/content/docs/integrations/magento.md @@ -12,7 +12,7 @@ Follow these steps to configure Magento and SMTP Pro to send through your SparkP ## Configure Magento -**Note**: to send with SparkPost, Magento needs to use *From* addresses with a *verified sending domain* from your SparkPost account. Learn about configuring [SparkPost sending domains](https://docs.sparkpost.com/docs/user-guide/managing-sending-domains/). +**Note**: to send with SparkPost, Magento needs to use *From* addresses with a *verified sending domain* from your SparkPost account. Learn about configuring [SparkPost sending domains](/docs/user-guide/managing-sending-domains/). To configure Magento to use your sending domain in its *From* addresses, log into your **Magento Admin Panel** and navigate to **System -> Configuration** in the top menu. @@ -36,7 +36,7 @@ Apply the following settings in the **General Settings** tab: * Authentication: Login * Username: SMTP_Injection * Password: `` - * [How to create a SparkPost API key](https://docs.sparkpost.com/docs/getting-started/create-api-keys/) + * [How to create a SparkPost API key](/docs/getting-started/create-api-keys/) * Remember to enable the 'Send via SMTP' privilege on your key. * Host: smtp.sparkpostmail.com * Port: 587 diff --git a/content/docs/integrations/ms-windows-powershell.md b/content/docs/integrations/ms-windows-powershell.md index 996665c0..a318917a 100644 --- a/content/docs/integrations/ms-windows-powershell.md +++ b/content/docs/integrations/ms-windows-powershell.md @@ -6,7 +6,7 @@ description: "To send email Microsoft Windows PowerShell through SparkPost, ther This article helps you develop and test SMTP injection scripts under Microsoft Windows. Here we concentrate on the basic (but usable) Windows PowerShell built-in features for sending via SMTP. -If you need more options, check out cross-platform tools such as [swaks ("Swiss Army Knife for SMTP")](https://docs.sparkpost.com/docs/tech-resources/smtp-injection-with-starttls-using-swaks/). +If you need more options, check out cross-platform tools such as [swaks ("Swiss Army Knife for SMTP")](/docs/tech-resources/smtp-injection-with-starttls-using-swaks/). ## Pre-requisites There are a few things you need: @@ -14,7 +14,7 @@ There are a few things you need: - [Create an API key](https://app.sparkpost.com/account/credentials) with the "Send via SMTP" permission. -- [Create and verify](https://app.sparkpost.com/account/sending-domains) the domain you want to use for sending. The setup process should take about 5-10 minutes if you have access to your DNS server. See [Verify Sending Domains](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/#step-2-verify-domain) for more information. +- [Create and verify](https://app.sparkpost.com/account/sending-domains) the domain you want to use for sending. The setup process should take about 5-10 minutes if you have access to your DNS server. See [Verify Sending Domains](/docs/getting-started/getting-started-sparkpost/#step-2-verify-domain) for more information. ## Create PowerShell script diff --git a/content/docs/integrations/ongage.md b/content/docs/integrations/ongage.md index 9009c7c0..c7858efb 100644 --- a/content/docs/integrations/ongage.md +++ b/content/docs/integrations/ongage.md @@ -6,9 +6,9 @@ description: "To connect your Spark Post account into the Ongage platform log in **To connect your SparkPost account into the Ongage platform, log into your SparkPost account and do the following:** -1. Set up your [desired Sending Domain](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/#preparing-your-from-address) (the domain you want to send email from on Ongage, such as 'myawesomedomain.com') - make sure the domain is verified after you've set up your DKIM information with your DNS provider.  Your domain should be listed as 'ready to send' on the SparkPost Sending Domains page on your account.  It is best to send a test message through your new domain using the SparkPost template page to verify your domain is set up correctly. +1. Set up your [desired Sending Domain](/docs/getting-started/getting-started-sparkpost/#preparing-your-from-address) (the domain you want to send email from on Ongage, such as 'myawesomedomain.com') - make sure the domain is verified after you've set up your DKIM information with your DNS provider.  Your domain should be listed as 'ready to send' on the SparkPost Sending Domains page on your account.  It is best to send a test message through your new domain using the SparkPost template page to verify your domain is set up correctly. -1. Create a  [new SparkPost API Key](https://docs.sparkpost.com/docs/getting-started/create-api-keys/) (do a 'Select All' to enable ALL the permissions) - save that API key somewhere safe as SparkPost only displays it once for security reasons. +1. Create a  [new SparkPost API Key](/docs/getting-started/create-api-keys/) (do a 'Select All' to enable ALL the permissions) - save that API key somewhere safe as SparkPost only displays it once for security reasons. 1. Log on to your Ongage account and add 'SparkPost' as a new ESP to your Ongage account using the OngageConnect Setup Wizard. @@ -31,4 +31,4 @@ description: "To connect your Spark Post account into the Ongage platform log in * Make sure your sending domain is set up properly in SparkPost and shows the status of 'Ready to Send' * Your 'From' and 'Reply' addresses that you set in the Ongage platform for your campaigns must exactly match the sending domain you set up on your SparkPost account * The API key you create on your SparkPost account must have ALL of the permissions checked -* If Ongage returns the error of 'Over Quota', send a [note to support](https://docs.sparkpost.com/docs/) to request your SparkPost's account sending limits to be increased in order to allow higher message sending rates +* If Ongage returns the error of 'Over Quota', send a [note to support](/docs/) to request your SparkPost's account sending limits to be increased in order to allow higher message sending rates diff --git a/content/docs/integrations/patch-interspire-email-marketer.md b/content/docs/integrations/patch-interspire-email-marketer.md index 7fd0e7c9..660b1a2d 100644 --- a/content/docs/integrations/patch-interspire-email-marketer.md +++ b/content/docs/integrations/patch-interspire-email-marketer.md @@ -16,14 +16,14 @@ NOTE: If you are interested in using something similar to Interspire but has a f ## What issue was experienced? -More than a handful of customers were reporting that during setup of SMTP server in Interspire to use Sparkpost SMTP servers they were receiving a ["Relaying Denied"](https://docs.sparkpost.com/docs/faq/relaying-denied-error/) or other similar SMTP setup error messages while trying to do something as simple as send a test email using Interspire. +More than a handful of customers were reporting that during setup of SMTP server in Interspire to use Sparkpost SMTP servers they were receiving a ["Relaying Denied"](/docs/faq/relaying-denied-error/) or other similar SMTP setup error messages while trying to do something as simple as send a test email using Interspire. Our support team ran the gamut with our customers (thank you for being so very patient) trying to resolve this error. In each case, the customers had followed all the proper steps and configured everything as expected, but were still unable to get things to work: 1. Each customer had a [new Sparkpost.com account](https://app.sparkpost.com/join?_ga=1.238584512.1501089354.1437574465) -1. In each case, the customer had [created a Sending Domain in Sparkpost](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/#preparing-your-from-address) properly -1. All of their DNS records were configured properly by [setting up DKIM to verify their sending domain for use with Sparkpost](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/#step-2-verify-domain) -1. We tested they had [created a valid Sparkpost API Key](https://docs.sparkpost.com/docs/getting-started/create-api-keys/) with the **Send via SMTP** permission enabled +1. In each case, the customer had [created a Sending Domain in Sparkpost](/docs/getting-started/getting-started-sparkpost/#preparing-your-from-address) properly +1. All of their DNS records were configured properly by [setting up DKIM to verify their sending domain for use with Sparkpost](/docs/getting-started/getting-started-sparkpost/#step-2-verify-domain) +1. We tested they had [created a valid Sparkpost API Key](/docs/getting-started/create-api-keys/) with the **Send via SMTP** permission enabled 1. We worked with each customer ensuring they had set up SMTP for use Sparkpost Email Service Interspire is PHP software running on customer-deployed LAMP (Linux, Apache, MySQL, PHP) stacks, and after several failed attempts to get in contact with Interspire to debug the issue, we decided the best course of action was to purchase a license and find out for ourselves. diff --git a/content/docs/integrations/php-list.md b/content/docs/integrations/php-list.md index bb9e27fa..2fe3365c 100644 --- a/content/docs/integrations/php-list.md +++ b/content/docs/integrations/php-list.md @@ -6,8 +6,8 @@ description: "PHP List ships with PHP Mailer hence it’s very easy to configure [PHPList](http://phplist.org) ships with [PHPMailer](https://github.com/PHPMailer/PHPMailer) hence it’s very easy to configure it to send emails through SparkPost SMTP. Follow these instructions to configure PHPList: -* [Add a Sending Domain](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/#preparing-your-from-address) to SparkPost -* [Create an API Key](https://docs.sparkpost.com/docs/getting-started/create-api-keys/) with “Send via SMTP” permission +* [Add a Sending Domain](/docs/getting-started/getting-started-sparkpost/#preparing-your-from-address) to SparkPost +* [Create an API Key](/docs/getting-started/create-api-keys/) with “Send via SMTP” permission * In your PHPList installation, open *config/config.php* * Add the following configuration diff --git a/content/docs/integrations/phpbb.md b/content/docs/integrations/phpbb.md index 7c37b7da..59eda59d 100644 --- a/content/docs/integrations/phpbb.md +++ b/content/docs/integrations/phpbb.md @@ -12,8 +12,8 @@ It is important to recognize that public forums are a common source of unwanted ## Preparation -* [Add a Sending Domain](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/#preparing-your-from-address) to SparkPost -* [Create an API Key](https://docs.sparkpost.com/docs/getting-started/create-api-keys/) with “Send via SMTP” permission +* [Add a Sending Domain](/docs/getting-started/getting-started-sparkpost/#preparing-your-from-address) to SparkPost +* [Create an API Key](/docs/getting-started/create-api-keys/) with “Send via SMTP” permission * Keep a note of your API key ## Configuring PHPBB diff --git a/content/docs/integrations/power-mta.md b/content/docs/integrations/power-mta.md index 1c3a3644..b4a8bc9f 100644 --- a/content/docs/integrations/power-mta.md +++ b/content/docs/integrations/power-mta.md @@ -10,7 +10,7 @@ Next, [create an API key](https://app.sparkpost.com/account/credentials) with th ![](media/power-mta/create-api-key.png) -Now [create and verify](https://app.sparkpost.com/account/sending-domains) the domain you want to use for sending. The setup process should take about 5-10 minutes if you have access to your DNS server. See [Verify Sending Domains](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/#step-2-verify-domain) for more information. +Now [create and verify](https://app.sparkpost.com/account/sending-domains) the domain you want to use for sending. The setup process should take about 5-10 minutes if you have access to your DNS server. See [Verify Sending Domains](/docs/getting-started/getting-started-sparkpost/#step-2-verify-domain) for more information. ## PowerMTA basic configuration diff --git a/content/docs/integrations/send-with-us.md b/content/docs/integrations/send-with-us.md index a76de065..3742f7b9 100644 --- a/content/docs/integrations/send-with-us.md +++ b/content/docs/integrations/send-with-us.md @@ -7,9 +7,9 @@ description: "To connect your Spark Post account with Send With Us Transactional To connect your SparkPost account with SendWithUs Transactional Email Management you will need: 1. A valid SparkPost account -1. A verified [configured Sending Domain for use with SparkPost](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/#preparing-your-from-address) +1. A verified [configured Sending Domain for use with SparkPost](/docs/getting-started/getting-started-sparkpost/#preparing-your-from-address) 1. Your SparkPost account password -1. A [valid SparkPost API Key](https://docs.sparkpost.com/docs/getting-started/create-api-keys/) +1. A [valid SparkPost API Key](/docs/getting-started/create-api-keys/) 1. A valid [SendWithUs account](https://www.sendwithus.com/) Once you have the prerequisites completed and available, you can [connect your SendWithUs account with your SparkPost account](https://support.sendwithus.com/esp_accounts/connect_sparkpost/). diff --git a/content/docs/my-account-and-profile/account-suspension.md b/content/docs/my-account-and-profile/account-suspension.md index e248f5de..5505561a 100644 --- a/content/docs/my-account-and-profile/account-suspension.md +++ b/content/docs/my-account-and-profile/account-suspension.md @@ -23,4 +23,4 @@ Billing suspensions will be issued if we fail to collect payment. If this occurs If you’re transitioning to SparkPost from another Email Service Provider, one possible cause for suspension is that your previous provider built a suppression list out of your bounces and FBL complaints, which prevents you from sending to addresses which can damage your reputation. When you switch over to us, that list doesn’t come with you automatically - you’ll need to either remove those suppressions from your current customer lists, or copy the suppression list and upload it to SparkPost. Otherwise, you’ll be sending to everyone who had bounced or complained over the years, which is likely to cause your account to be suspended. -You can learn about SparkPost [suppression lists](https://docs.sparkpost.com/docs/user-guide/using-suppression-lists/) here. +You can learn about SparkPost [suppression lists](/docs/user-guide/using-suppression-lists/) here. diff --git a/content/docs/my-account-and-profile/scim.md b/content/docs/my-account-and-profile/scim.md index 9349c2de..70321f65 100644 --- a/content/docs/my-account-and-profile/scim.md +++ b/content/docs/my-account-and-profile/scim.md @@ -12,7 +12,7 @@ description: "Learn how to enable SCIM user provisioning through Okta for your S ## Requirements - You must be a premier or enterprise customer. See our [pricing page](https://www.sparkpost.com/pricing/) for more details. Test accounts can also evaluate SCIM Provisioning. -- SAML SSO must be configured and enabled for your account. See instructions [here](https://docs.sparkpost.com/docs/my-account-and-profile/sso/). +- SAML SSO must be configured and enabled for your account. See instructions [here](/docs/my-account-and-profile/sso/). - Only admin users can generate SCIM access tokens. ## Configuration in SparkPost diff --git a/content/docs/reporting/analytics-report.md b/content/docs/reporting/analytics-report.md index 5a652b8e..1400962d 100644 --- a/content/docs/reporting/analytics-report.md +++ b/content/docs/reporting/analytics-report.md @@ -32,7 +32,7 @@ Precision is the time range that one data point represents. Precision can be set #### Metrics -We offer 40+ metrics that track the entire email lifecycle. Metrics are categorized by the stage of the email lifecycle: injection, delivery, deliverability\*, and engagement. See [Metric Definitions](https://docs.sparkpost.com/docs/reporting/sp-metrics-definitions/) for more information. +We offer 40+ metrics that track the entire email lifecycle. Metrics are categorized by the stage of the email lifecycle: injection, delivery, deliverability\*, and engagement. See [Metric Definitions](/docs/reporting/sp-metrics-definitions/) for more information. Each metric selected will be shown in time-series charts. Depending on the metrics selected, more data could become available. For example, selecting a bounce metric will reveal bounce classification information available through a tab, and selecting an engagement metric will reveal link engagement information. diff --git a/content/docs/reporting/engagement-recency.md b/content/docs/reporting/engagement-recency.md index 33b9d9f8..a284e7a3 100644 --- a/content/docs/reporting/engagement-recency.md +++ b/content/docs/reporting/engagement-recency.md @@ -36,7 +36,7 @@ The first chart shows the total emails you sent each day, broken up by each coho In the example above, you can see 28.2% of the email that was sent on December 14th were sent to recipients who engaged with this sender's emails in the past 14 days. -With this report, you can see if you are sending to too many disengaged recipients. If the Never Engaged and Not Recently Engaged cohorts make up a majority of the people you send to, you should examine your [list hygiene practices](https://docs.sparkpost.com/docs/signals/list-hygiene/). +With this report, you can see if you are sending to too many disengaged recipients. If the Never Engaged and Not Recently Engaged cohorts make up a majority of the people you send to, you should examine your [list hygiene practices](/docs/signals/list-hygiene/). ### Engagement Rate, Unsubscribe Rate, Spam Complaint Rate diff --git a/content/docs/reporting/enterprise-metrics-definitions.md b/content/docs/reporting/enterprise-metrics-definitions.md index 3070aec1..310c4f93 100644 --- a/content/docs/reporting/enterprise-metrics-definitions.md +++ b/content/docs/reporting/enterprise-metrics-definitions.md @@ -4,7 +4,7 @@ title: "Enterprise Metrics Definitions" description: "Metrics definitions for Enterprise accounts" --- -This page defines Metrics for Enterprise accounts. For other accounts see [Metric Definitions](https://docs.sparkpost.com/docs/reporting/sp-metrics-definitions/). +This page defines Metrics for Enterprise accounts. For other accounts see [Metric Definitions](/docs/reporting/sp-metrics-definitions/). # API Metrics Enterprise Definitions diff --git a/content/docs/reporting/sp-metrics-definitions.md b/content/docs/reporting/sp-metrics-definitions.md index 728bbdc8..2ecba23f 100644 --- a/content/docs/reporting/sp-metrics-definitions.md +++ b/content/docs/reporting/sp-metrics-definitions.md @@ -4,7 +4,7 @@ title: "Metrics Definitions" description: "Definitions for the metrics available to SparkPost accounts." --- -For Enterprise Metrics see [Enterprise Metric Definitions](https://docs.sparkpost.com/docs/reporting/enterprise-metrics-definitions/). +For Enterprise Metrics see [Enterprise Metric Definitions](/docs/reporting/enterprise-metrics-definitions/). # API Metrics Definitions diff --git a/content/docs/reporting/spam-trap-monitoring.md b/content/docs/reporting/spam-trap-monitoring.md index f48d51a2..a589f261 100644 --- a/content/docs/reporting/spam-trap-monitoring.md +++ b/content/docs/reporting/spam-trap-monitoring.md @@ -38,7 +38,7 @@ The dashboard shows you the raw count or percent of spam traps you are sending t On each Spam trap details page, hover over each day to see the count and rate of total spam traps, as well as the stats broken down by each type of spam trap available. On the right hand side, you will find an assessment on how your performing for the day selected. Click on a different day to learn about your spam trap hits for that day. -If your spam trap hits exceed safe limits, Signals provides actionable advice identifying the most likely source of the problem and guides you to improve your [list quality](https://docs.sparkpost.com/docs/signals/list-hygiene/) or [acquisition practices](https://docs.sparkpost.com/docs/signals/subscriber-acquisition/). +If your spam trap hits exceed safe limits, Signals provides actionable advice identifying the most likely source of the problem and guides you to improve your [list quality](/docs/signals/list-hygiene/) or [acquisition practices](/docs/signals/subscriber-acquisition/). ![Spam Trap Monitoring details page](media/spam-traps/details.png) diff --git a/content/docs/signals/reputation-improvement.md b/content/docs/signals/reputation-improvement.md index 2a0ef3a2..8973aa2e 100644 --- a/content/docs/signals/reputation-improvement.md +++ b/content/docs/signals/reputation-improvement.md @@ -8,7 +8,7 @@ Mailbox providers now focus primarily on engagement and read rates when assignin Here are some steps for how to improve your reputation with a mailbox provider. -1. If you’re warming up a new IP/domain combo slow down sending, following our [warm up guide](https://docs.sparkpost.com/docs/deliverability/ip-warm-up-overview/). +1. If you’re warming up a new IP/domain combo slow down sending, following our [warm up guide](/docs/deliverability/ip-warm-up-overview/). 1. Tighten up the [list hygiene process](/docs/signals/list-hygiene/) for this domain until issue is resolved. 1. Once you see improvement, you should wait another 14 days. After that you can start slowly increasing your engagement window to include more subscribers for the problem domain. If the blocks return you will need to back off a bit again and that will be your engagement window going forward. 1. If there is no improvement in 14 days, then mitigation may be required.
**NOTE:** Each mailbox provider has different processes to request mitigation to reset your reputation with them. SparkPost can guide you on what steps to take. Open a support case for guidance. diff --git a/content/docs/tech-resources/api-error-response-changes.md b/content/docs/tech-resources/api-error-response-changes.md index 87d32af3..a92fee30 100644 --- a/content/docs/tech-resources/api-error-response-changes.md +++ b/content/docs/tech-resources/api-error-response-changes.md @@ -15,6 +15,6 @@ In an effort to standardize our API responses to provide a more consistent API e > `'%fieldName' must be a %expectedType%` * Require field errors will return the field name: > `'%fieldName%' is required` -3. Inline content syntax, generation, substitution, and email_rfc822 validation errors will no longer cause synchronous `4XX` errors. They will instead generate asynchronous events consumable via message events or webhooks. Check out [this article](https://docs.sparkpost.com/docs/tech-resources/transmissions-breaking-changes/) for information on these asynchronous changes. +3. Inline content syntax, generation, substitution, and email_rfc822 validation errors will no longer cause synchronous `4XX` errors. They will instead generate asynchronous events consumable via message events or webhooks. Check out [this article](/docs/tech-resources/transmissions-breaking-changes/) for information on these asynchronous changes. *The HTTP status code and the extended `code` field in responses will not be changed.* diff --git a/content/docs/tech-resources/changes-to-sparkpost-enrichment-period-open-click-events.md b/content/docs/tech-resources/changes-to-sparkpost-enrichment-period-open-click-events.md index 1eb10c09..b5b837a7 100644 --- a/content/docs/tech-resources/changes-to-sparkpost-enrichment-period-open-click-events.md +++ b/content/docs/tech-resources/changes-to-sparkpost-enrichment-period-open-click-events.md @@ -29,6 +29,6 @@ For engagement events on messages older than 60 days, customers may notice a dif For engagement events that are triggered from emails sent more than 60 days ago, the events will continue to be processed and be available to customers through Event Webhooks and the Events API.  We will provide the same number of events, but the “enriched” data fields will not be present for those events.  -Customers consuming Event Webhooks and the Events API should already have processes in place to handle a small percentage of older events that are logged without these “enriched” data fields so it is unlikely any code changes are needed, however, this is a good time to check. As always, please follow our [documented recommendations](https://docs.sparkpost.com/docs/tech-resources/webhook-data-streams/) for processing webhooks which include avoiding any synchronous processing of the batches since this is the single most important step to ensure you do not miss any data.    +Customers consuming Event Webhooks and the Events API should already have processes in place to handle a small percentage of older events that are logged without these “enriched” data fields so it is unlikely any code changes are needed, however, this is a good time to check. As always, please follow our [documented recommendations](/docs/tech-resources/webhook-data-streams/) for processing webhooks which include avoiding any synchronous processing of the batches since this is the single most important step to ensure you do not miss any data.    For Enterprise and Premium customers, your TAM or CSM can share more details with you on the expected percentage of engagement events that may fall out of the 60-day window. diff --git a/content/docs/tech-resources/dkim-signing-by-ip-pool.md b/content/docs/tech-resources/dkim-signing-by-ip-pool.md index 75d22598..3b2af310 100644 --- a/content/docs/tech-resources/dkim-signing-by-ip-pool.md +++ b/content/docs/tech-resources/dkim-signing-by-ip-pool.md @@ -29,7 +29,7 @@ DKIM signing domain (`d=`) = `mysendingdomain.com` _Note_: This is the result regardless of the IP pool being used. -More information on how to create sending domains via the API can be found [here](https://developers.sparkpost.com/api/sending-domains.html). The associated [knowledge base article](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/#step-2-verify-domain) on creating sending domains can be referenced for detailed instructions as well. +More information on how to create sending domains via the API can be found [here](https://developers.sparkpost.com/api/sending-domains.html). The associated [knowledge base article](/docs/getting-started/getting-started-sparkpost/#step-2-verify-domain) on creating sending domains can be referenced for detailed instructions as well.

diff --git a/content/docs/tech-resources/inbound-email-relay-webhook.md b/content/docs/tech-resources/inbound-email-relay-webhook.md index 392b0c45..a942de0a 100644 --- a/content/docs/tech-resources/inbound-email-relay-webhook.md +++ b/content/docs/tech-resources/inbound-email-relay-webhook.md @@ -98,7 +98,7 @@ If your webhook doesn’t seem to be working, you can try these steps:  * Check your consumer logs to see if there are any errors. * You can subscribe to events broadcast by Relay Webhooks using SparkPost’s [Event Webhooks](https://developers.sparkpost.com/api/webhooks.html). These will help you troubleshoot errors from your consumer endpoint. * Inbound emails (including attachments) are limited to 20MB.​ -* To extract attachments follow [these instructions](https://docs.sparkpost.com/docs/tech-resources/extracting-email-attachments-from-relay-webhooks/). +* To extract attachments follow [these instructions](/docs/tech-resources/extracting-email-attachments-from-relay-webhooks/). * Speed up integration time by reviewing this [example app](https://github.com/SparkPost/sp-forwarding-service). Unlike webhooks, relay webhooks do not batch - individual messages are pushed to the relay webhook endpoints when received. diff --git a/content/docs/tech-resources/list-unsubscribe-functionality.md b/content/docs/tech-resources/list-unsubscribe-functionality.md index 1b73104e..2a2d24f6 100644 --- a/content/docs/tech-resources/list-unsubscribe-functionality.md +++ b/content/docs/tech-resources/list-unsubscribe-functionality.md @@ -8,7 +8,7 @@ Every non-transactional message sent through your account will carry a list-unsu Select mail providers, namely Gmail and Hotmail, will recognize the presence of the header and present a 1-click option for recipients to act upon.  Inclusion of the header is an established email best practice meant to redirect intent of spam complainants (eg. hit the spam button). -Your account is configured to add these recipients to a suppression list.  Subsequent attempts to these recipients will fail. Find more on suppression lists [here](https://docs.sparkpost.com/docs/user-guide/using-suppression-lists/).  +Your account is configured to add these recipients to a suppression list.  Subsequent attempts to these recipients will fail. Find more on suppression lists [here](/docs/user-guide/using-suppression-lists/).  Often, the receiving party (Gmail, Hotmail) won't show the list-unsubscribe header treatment until you've established sending reputation. diff --git a/content/docs/tech-resources/smtp-engagement-tracking.md b/content/docs/tech-resources/smtp-engagement-tracking.md index deeed276..68d5ea9a 100644 --- a/content/docs/tech-resources/smtp-engagement-tracking.md +++ b/content/docs/tech-resources/smtp-engagement-tracking.md @@ -22,4 +22,4 @@ Since 2nd December 2015, the system default is “disabled” for mes You can also control event tracking from your upstream message source, via our “SMTP API”, as [described here](https://developers.sparkpost.com/api/smtp-api). -You can register [Custom Tracking Domains](https://docs.sparkpost.com/docs/tech-resources/enabling-multiple-custom-tracking-domains/) for better message alignment that can improve deliverability. +You can register [Custom Tracking Domains](/docs/tech-resources/enabling-multiple-custom-tracking-domains/) for better message alignment that can improve deliverability. diff --git a/content/docs/tech-resources/sparkpost-event-definitions.md b/content/docs/tech-resources/sparkpost-event-definitions.md index 2766465e..d44d17aa 100644 --- a/content/docs/tech-resources/sparkpost-event-definitions.md +++ b/content/docs/tech-resources/sparkpost-event-definitions.md @@ -29,7 +29,7 @@ The possible events are: | generation_failure | Email generation failed due to a technical reason. | | generation_rejection | Email generation failed due to a policy reason. | | list_unsubscribe | Recipient unsubscribed using a mailbox provider's list unsubscribe feature. | -| link_unsubscribe | User clicked a [tagged unsubscribe link](https://docs.sparkpost.com/docs/user-guide/setting-up-unsubscribe-links/). | +| link_unsubscribe | User clicked a [tagged unsubscribe link](/docs/user-guide/setting-up-unsubscribe-links/). | | relay_injection | SparkPost received an inbound email. | | relay_rejection | SparkPost rejected an inbound email. | | relay_delivery | Delivered inbound email to your endpoint. | diff --git a/content/docs/tech-resources/transmissions-breaking-changes.md b/content/docs/tech-resources/transmissions-breaking-changes.md index 5edf0324..7f19845b 100644 --- a/content/docs/tech-resources/transmissions-breaking-changes.md +++ b/content/docs/tech-resources/transmissions-breaking-changes.md @@ -30,7 +30,7 @@ SparkPost will no longer perform synchronous template validation and message gen This means that the Transmissions API will no longer return an HTTP response of `4xx` if there is a problem with the template syntax or substitution data. -Instead, the API will return a `200` response, and then a subsequent “Generation Failure” [webhook event](https://docs.sparkpost.com/docs/tech-resources/webhook-event-reference/) that will provide details on the failure. These events will be available via [webhooks](https://docs.sparkpost.com/docs/tech-resources/webhook-event-reference/), the [Message Events API](https://docs.sparkpost.com/docs/tech-resources/webhook-event-reference/), and as [Message Events in the SparkPost app](https://app.sparkpost.com/reports/message-events)([EU](https://app.eu.sparkpost.com/reports/message-events)). This behavior for single recipient transmissions will be the same as the current behavior for multi-recipient transmissions. +Instead, the API will return a `200` response, and then a subsequent “Generation Failure” [webhook event](/docs/tech-resources/webhook-event-reference/) that will provide details on the failure. These events will be available via [webhooks](/docs/tech-resources/webhook-event-reference/), the [Message Events API](/docs/tech-resources/webhook-event-reference/), and as [Message Events in the SparkPost app](https://app.sparkpost.com/reports/message-events)([EU](https://app.eu.sparkpost.com/reports/message-events)). This behavior for single recipient transmissions will be the same as the current behavior for multi-recipient transmissions. ## Making Inline Content Syntax Validation Asynchronous @@ -38,7 +38,7 @@ The second change to the Transmissions API endpoint is that inline content synta For both single and multi-recipient transmissions, the syntax validation will be done asynchronously, with an HTTP response of `4xx` no longer returned for syntax error on inline content. -Instead, the API will return a `200` response, and then a subsequent "Generation Failure" [webhook event](https://docs.sparkpost.com/docs/tech-resources/webhook-event-reference/) that will provide details on the failure. It is recommended that developers utilize the [preview endpoint of the Templates API](https://developers.sparkpost.com/api/templates/#templates-post-preview-a-template) before injecting with an inline content. +Instead, the API will return a `200` response, and then a subsequent "Generation Failure" [webhook event](/docs/tech-resources/webhook-event-reference/) that will provide details on the failure. It is recommended that developers utilize the [preview endpoint of the Templates API](https://developers.sparkpost.com/api/templates/#templates-post-preview-a-template) before injecting with an inline content. ## Removal of Description Field diff --git a/content/docs/tech-resources/using-proxy-https-tracking-domain.md b/content/docs/tech-resources/using-proxy-https-tracking-domain.md index fd695b33..88dff7dd 100644 --- a/content/docs/tech-resources/using-proxy-https-tracking-domain.md +++ b/content/docs/tech-resources/using-proxy-https-tracking-domain.md @@ -354,10 +354,10 @@ Both proxies set the `X-Forwarded-For` header, which enables SparkPost to report ## Related Articles -* Now that you have **https** tracking domains, you are ready to begin using SparkPost engagement tracking with your [AMP emails](https://docs.sparkpost.com/docs/user-guide/amp-for-email/). +* Now that you have **https** tracking domains, you are ready to begin using SparkPost engagement tracking with your [AMP emails](/docs/user-guide/amp-for-email/). -* You can use a [CDN with SparkPost tracking domains](https://docs.sparkpost.com/docs/tech-resources/enabling-multiple-custom-tracking-domains/) as an alternative to a reverse proxy. +* You can use a [CDN with SparkPost tracking domains](/docs/tech-resources/enabling-multiple-custom-tracking-domains/) as an alternative to a reverse proxy. -* Set up engagement tracking with the [SMTP API](https://docs.sparkpost.com/docs/tech-resources/smtp-engagement-tracking/) for your SMTP traffic to SparkPost. +* Set up engagement tracking with the [SMTP API](/docs/tech-resources/smtp-engagement-tracking/) for your SMTP traffic to SparkPost. * If you have a mobile app, and want to enable it to open when a recipient clicks an email link, see [this article](./deep-links-self-serve). diff --git a/content/docs/tech-resources/webhook-data-streams.md b/content/docs/tech-resources/webhook-data-streams.md index 15d23424..ac73b133 100644 --- a/content/docs/tech-resources/webhook-data-streams.md +++ b/content/docs/tech-resources/webhook-data-streams.md @@ -4,7 +4,7 @@ title: "Best Practices for Managing Webhook Data Streams" description: "Spark Post and Spark Post Enterprise provide data streams of raw event data via webhooks There are several points of consideration to take into account in order to ensure you correctly receive the event data This article details how our webhooks function so you can successfully set up your endpoint..." --- -SparkPost provides data streams of raw event data via webhooks. There are several points of consideration to take into account in order to ensure you correctly receive the event data. This article details how our webhooks function so you can successfully set up your endpoint to consume streamed event data. For more details on authentication and security see [Webhook Authentication]( https://docs.sparkpost.com/docs/tech-resources/webhook-authentication/) +SparkPost provides data streams of raw event data via webhooks. There are several points of consideration to take into account in order to ensure you correctly receive the event data. This article details how our webhooks function so you can successfully set up your endpoint to consume streamed event data. For more details on authentication and security see [Webhook Authentication]( /docs/tech-resources/webhook-authentication/) # Webhook Batch Sizes and Projections @@ -26,7 +26,7 @@ Generally speaking, four events are recorded for each message: injection, delive * `event_id` - a data element within each set of event data that uniquely identifies a given event. The format of this field is not consistent across events -- for some event types this may be a large integer, while for others it may be a UUID. * It is recommended that you do not set a maximum batch size your endpoint will accept, or that if you do, that it is not excessively small, in order to prevent truncation of data on any attempted batch. * From time to time as SparkPost releases new features additional fields or event types will be added to webhooks payloads. Webhooks consumers should be flexible enough to accept additive changes to the payload. Changes to the structure of the payload, removal of fields or events, and changes to datatypes are considered breaking changes and SparkPost will provide reasonable notice to customers. -* Utilize separate processing & storage for different [Event Types](https://docs.sparkpost.com/docs/tech-resources/webhook-event-reference/#event-types). Message structure & data types are consistent within a given Event Type, but not between Event Types. +* Utilize separate processing & storage for different [Event Types](/docs/tech-resources/webhook-event-reference/#event-types). Message structure & data types are consistent within a given Event Type, but not between Event Types. # Monitoring Webhooks diff --git a/content/docs/tech-resources/webhook-event-reference.md b/content/docs/tech-resources/webhook-event-reference.md index 9cfeaa99..7d865149 100644 --- a/content/docs/tech-resources/webhook-event-reference.md +++ b/content/docs/tech-resources/webhook-event-reference.md @@ -8,7 +8,7 @@ This is a reference guide for developers who are consuming SparkPost Webhook Eve There are several types of events that SparkPost is able to send which provide you data concerning your email's life cycle. They are organized by Event Types which contain various Events with each Event being composed of Event Properties. You can use the [SparkPost API Webhook Resource](https://developers.sparkpost.com/api/webhooks.html) to discover sample payloads of selected events, and the sample values and event descriptions. To list descriptions of the events, event types, and event fields that could be included in a Webhooks post to your target URL, run the following call in a REST API client like Postman: https://api.sparkpost.com/api/v1/webhooks/events/documentation -Additional resources: [Webhook Authentication](https://docs.sparkpost.com/docs/tech-resources/webhook-authentication/) and [Best Pratices for managing webhook streams](https://docs.sparkpost.com/docs/tech-resources/webhook-data-streams/) +Additional resources: [Webhook Authentication](/docs/tech-resources/webhook-authentication/) and [Best Pratices for managing webhook streams](/docs/tech-resources/webhook-data-streams/) ## Event Types diff --git a/content/docs/user-guide/automated-ip-warmup.md b/content/docs/user-guide/automated-ip-warmup.md index 7f5e4464..0b9f74d3 100644 --- a/content/docs/user-guide/automated-ip-warmup.md +++ b/content/docs/user-guide/automated-ip-warmup.md @@ -4,7 +4,7 @@ title: "Getting Started with our Automated IP Warmup Feature" description: "A guide to knowing when Automated IP Warmup is right for you and how to use it" --- -IP warming is the process of methodically adding campaign volume week-over-week to a new IP Address to establish a positive sending reputation with Internet Services Providers (ISPs). Our Automated IP Warmup feature provides a stage-based approach to limit sending volumes while you're building a reputation for your new IP. For a great introduction into the theory behind IP Warm-up as well as an expanded article on best practices, visit the [original IP Warm-up Knowledge Article](https://docs.sparkpost.com/docs/deliverability/ip-warm-up-overview/). +IP warming is the process of methodically adding campaign volume week-over-week to a new IP Address to establish a positive sending reputation with Internet Services Providers (ISPs). Our Automated IP Warmup feature provides a stage-based approach to limit sending volumes while you're building a reputation for your new IP. For a great introduction into the theory behind IP Warm-up as well as an expanded article on best practices, visit the [original IP Warm-up Knowledge Article](/docs/deliverability/ip-warm-up-overview/). ## Why Automate the Warm-up Process? @@ -27,7 +27,7 @@ Maybe you’re in the process of changing your sending architecture or you’re Consistent sending throughout each day is the best way to ensure your warm-up process maintains high deliverability and you build a positive sending reputation. If your sending is sporadic (one or two campaigns per week) or your subscriber base is relatively unengaged, you may not be able to warm up your new IP automatically as effectively as you could with an alternative strategy. We recommend sending to clean lists of engaged subscribers to build trust and establish a positive sending relationship on new IPs. ### If Automating isn’t Right, What is? -If you fall into the fourth category mentioned above or have other specific needs and concerns that aren’t covered here - that’s ok! Our incredibly dedicated Customer Success Team or your personal Technical Account Manager can advise on the best course of action. Do some initial homework by visiting the [original IP Warm-up Knowledge Article](https://docs.sparkpost.com/docs/deliverability/ip-warm-up-overview/) and get in touch! +If you fall into the fourth category mentioned above or have other specific needs and concerns that aren’t covered here - that’s ok! Our incredibly dedicated Customer Success Team or your personal Technical Account Manager can advise on the best course of action. Do some initial homework by visiting the [original IP Warm-up Knowledge Article](/docs/deliverability/ip-warm-up-overview/) and get in touch! ## Nuts and Bolts diff --git a/content/docs/user-guide/consolidating-accounts.md b/content/docs/user-guide/consolidating-accounts.md index cada342e..611eb790 100644 --- a/content/docs/user-guide/consolidating-accounts.md +++ b/content/docs/user-guide/consolidating-accounts.md @@ -4,7 +4,7 @@ title: "Consolidating/Migrating SparkPost Accounts" description: "Guidance for consolidating SparkPost accounts. It is important to also become familiar with the subaccounts feature before beginning consolidation. " --- -As you start utilizing subaccounts it will be essential to become familiar with management of this feature. Please read through this article before determining how you would like to set up your account: [Subaccounts in SparkPost](https://docs.sparkpost.com/docs/user-guide/subaccounts/). +As you start utilizing subaccounts it will be essential to become familiar with management of this feature. Please read through this article before determining how you would like to set up your account: [Subaccounts in SparkPost](/docs/user-guide/subaccounts/). Determine what account you want to be your remaining account or create a new account if applicable. diff --git a/content/docs/user-guide/data-privacy.md b/content/docs/user-guide/data-privacy.md index 536b6cc5..4707e173 100644 --- a/content/docs/user-guide/data-privacy.md +++ b/content/docs/user-guide/data-privacy.md @@ -27,7 +27,7 @@ If there are any issues reading your uploaded file, you will receive an error me Note: You may only select one compliance type per CSV file. If you have requests of different compliance types, please submit a separate request for each compliance type. ### Subaccount Requests -If applicable, select if this request applies to the primary account, the primary and all subaccounts, or one specific subaccount. Learn more about subaccounts [here](https://docs.sparkpost.com/docs/user-guide/subaccounts/). +If applicable, select if this request applies to the primary account, the primary and all subaccounts, or one specific subaccount. Learn more about subaccounts [here](/docs/user-guide/subaccounts/). ## Submitting Requests via API @@ -35,7 +35,7 @@ The [Data Privacy API](https://developers.sparkpost.com/api/data-privacy/) lets Just like in the app, you can submit a single recipient or up to 1000 recipients per API call. -Requests are applied only to the primary account by default. To apply the request to the primary and all subaccounts, set `include_subaccounts=true`. To apply the request to a specific subaccount, include the subaccount in the `x-msys-subaccount` header. Learn more about subaccounts [here](https://docs.sparkpost.com/docs/user-guide/subaccounts/). +Requests are applied only to the primary account by default. To apply the request to the primary and all subaccounts, set `include_subaccounts=true`. To apply the request to a specific subaccount, include the subaccount in the `x-msys-subaccount` header. Learn more about subaccounts [here](/docs/user-guide/subaccounts/). ### Subaccount API Usage diff --git a/content/docs/user-guide/mailgun-migration-guide.md b/content/docs/user-guide/mailgun-migration-guide.md index bf2e0867..4117ca03 100644 --- a/content/docs/user-guide/mailgun-migration-guide.md +++ b/content/docs/user-guide/mailgun-migration-guide.md @@ -83,12 +83,12 @@ We'll start with a comparison of terms: Where to get help ----------------- -If you're in a hurry, don't have time to read this guide and just want the details, check out our [DevHub](https://developers.sparkpost.com/), [API docs](https://developers.sparkpost.com/api) and [pricing](https://www.sparkpost.com/pricing/). If you have general questions, [take a walk through our support articles](https://docs.sparkpost.com/docs/). If you need help, you can open a support ticket [directly from the SparkPost app](https://docs.sparkpost.com/docs/faq/submit-a-ticket/). +If you're in a hurry, don't have time to read this guide and just want the details, check out our [DevHub](https://developers.sparkpost.com/), [API docs](https://developers.sparkpost.com/api) and [pricing](https://www.sparkpost.com/pricing/). If you have general questions, [take a walk through our support articles](/docs/). If you need help, you can open a support ticket [directly from the SparkPost app](/docs/faq/submit-a-ticket/). Signing Up ---------- -Sign up for your SparkPost account [here.](https://app.sparkpost.com/join) You can choose the default US-hosted service, or select the EU-hosted service ([more info here](https://docs.sparkpost.com/docs/faq/sparkpost-eu-faq/)). On sign-up, your free developer account has a monthly email allowance. You can open both account types if you wish. +Sign up for your SparkPost account [here.](https://app.sparkpost.com/join) You can choose the default US-hosted service, or select the EU-hosted service ([more info here](/docs/faq/sparkpost-eu-faq/)). On sign-up, your free developer account has a monthly email allowance. You can open both account types if you wish. If you need separate environments or to send on behalf of multiple clients, you can use subaccounts under a single primary account. This is explained in more detail below. @@ -114,7 +114,7 @@ Setting Up A Sending Domain To begin sending mail from your own domain, you must tell SparkPost about it by adding a sending domain on your account. SparkPost will then check that you own it. You create and manage this from the [Domains](https://app.sparkpost.com/domains/list/sending) menu. -Mailgun's "Custom Domains" group sending, tracking and receiving domain configuration together. SparkPost also provides [sending](https://developers.sparkpost.com/api/sending-domains.html), [bounce](https://developers.sparkpost.com/api/sending-domains/#header-using-a-sending-domain-as-a-bounce-domain), [tracking](https://developers.sparkpost.com/api/tracking-domains.html), and [inbound](https://developers.sparkpost.com/api/inbound-domains.html) domains; our [Getting Started guide](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/) walks you through setting these up via the app. +Mailgun's "Custom Domains" group sending, tracking and receiving domain configuration together. SparkPost also provides [sending](https://developers.sparkpost.com/api/sending-domains.html), [bounce](https://developers.sparkpost.com/api/sending-domains/#header-using-a-sending-domain-as-a-bounce-domain), [tracking](https://developers.sparkpost.com/api/tracking-domains.html), and [inbound](https://developers.sparkpost.com/api/inbound-domains.html) domains; our [Getting Started guide](/docs/getting-started/getting-started-sparkpost/) walks you through setting these up via the app. To verify a sending domain, you publish a DKIM DNS record. If this is not possible, you can opt to receive an email to the abuse@ or postmaster@ account for your domain. @@ -146,7 +146,7 @@ As a side note, while many Mailgun API endpoints are scoped by sending domain, S You can call the SparkPost API directly using tools like [Postman](https://developers.sparkpost.com/api/#header-postman), [cURL](https://curl.haxx.se/) or [HTTPie](https://httpie.org/) but it's more common to make HTTPS requests from your own programming language -- see our [developer hub](https://developers.sparkpost.com/) for example code and libraries. If you're not writing your own code, see our [Marketing Campaign partner solutions](https://www.sparkpost.com/partner-category/marketing-campaigns/). -Whichever tools you choose, you will need to [issue yourself an API key](https://docs.sparkpost.com/docs/getting-started/create-api-keys/) to start using the SparkPost API. Unlike Mailgun's credential per domain policy, you can create as many API keys as you need, each with their own privileges so you can compartmentalize access rights across your software stack and organization. +Whichever tools you choose, you will need to [issue yourself an API key](/docs/getting-started/create-api-keys/) to start using the SparkPost API. Unlike Mailgun's credential per domain policy, you can create as many API keys as you need, each with their own privileges so you can compartmentalize access rights across your software stack and organization. Sending Mail Over SMTP ---------------------- @@ -169,18 +169,18 @@ It's worth remembering that SparkPost wraps substitution variables with double b To explore further, you can create, edit and preview your templates (using test substitution data) [within SparkPost](https://app.sparkpost.com/templates) and also using the [templates API endpoint](https://developers.sparkpost.com/api/templates.html). -As well as the usual HTML content, [SparkPost templates](https://docs.sparkpost.com/docs/getting-started/creating-template/) can have optional plain-text and [AMP HTML](https://docs.sparkpost.com/docs/user-guide/amp-for-email/) parts. The substitution variables work on these parts too. +As well as the usual HTML content, [SparkPost templates](/docs/getting-started/creating-template/) can have optional plain-text and [AMP HTML](/docs/user-guide/amp-for-email/) parts. The substitution variables work on these parts too. SparkPost has template [snippets](https://www.sparkpost.com/blog/get-started-snippets-sparkpost-email-templates/). Snippets are modular, reusable content that, once created, can be imported into the HTML, Text, or AMP part of any email template using a `render_snippet` macro call. -SparkPost also supports [A/B testing](https://docs.sparkpost.com/docs/tech-resources/a-b-testing-sparkpost/), a common method of comparing templates to see which one performs better. SparkPost provides the means to create automated A/B tests and view completed results. +SparkPost also supports [A/B testing](/docs/tech-resources/a-b-testing-sparkpost/), a common method of comparing templates to see which one performs better. SparkPost provides the means to create automated A/B tests and view completed results. Tracking Your Email Activity ---------------------------- SparkPost offers two levels of tracking information. The Analytics Report is a richer and more complete form of Mailgun stats -- rolled up, time windowed summaries of your mailing and recipient activity. over 40 metrics are [viewable as customizable time series graphs](https://app.sparkpost.com/signals/analytics) and also available programmatically using our [metrics API endpoint](https://developers.sparkpost.com/api/metrics.html). -The second level of tracking information exposes fine-grained individual activity. This individual activity is also available three ways -- through our [Events Search](https://docs.sparkpost.com/docs/reporting/message-events/) interface,  by making use of the [events API endpoint](https://developers.sparkpost.com/api/events/), or by creating a [webhook](https://docs.sparkpost.com/docs/tech-resources/webhook-data-streams/) which pushes event data to your own systems. +The second level of tracking information exposes fine-grained individual activity. This individual activity is also available three ways -- through our [Events Search](/docs/reporting/message-events/) interface,  by making use of the [events API endpoint](https://developers.sparkpost.com/api/events/), or by creating a [webhook](/docs/tech-resources/webhook-data-streams/) which pushes event data to your own systems. ### Analytics Report @@ -190,11 +190,11 @@ All SparkPost aggregate metrics are stored on your account for 6 months. #### Message Events and Webhooks -SparkPost's events API endpoint provides similar functionality (and then some!) to Mailgun's logs/events capability: [Events Search](https://docs.sparkpost.com/docs/reporting/message-events/) provides a view of the last 10 days of events on your account. Those events are available in pull fashion by querying the [events API endpoint](https://developers.sparkpost.com/api/events/) directly and in push fashion if you use [webhooks](https://docs.sparkpost.com/docs/tech-resources/webhook-data-streams/). +SparkPost's events API endpoint provides similar functionality (and then some!) to Mailgun's logs/events capability: [Events Search](/docs/reporting/message-events/) provides a view of the last 10 days of events on your account. Those events are available in pull fashion by querying the [events API endpoint](https://developers.sparkpost.com/api/events/) directly and in push fashion if you use [webhooks](/docs/tech-resources/webhook-data-streams/). SparkPost retains events for ten days; Mailgun starter accounts retain events for five days. -Mailgun supports a single webhook per domain and event type. On SparkPost, you may create multiple webhooks, each filtered to receive one or more types of events. You can also create webhooks to [push the events relating to individual subaccounts](https://docs.sparkpost.com/docs/user-guide/subaccounts/#summary-of-subaccount-features). +Mailgun supports a single webhook per domain and event type. On SparkPost, you may create multiple webhooks, each filtered to receive one or more types of events. You can also create webhooks to [push the events relating to individual subaccounts](/docs/user-guide/subaccounts/#summary-of-subaccount-features). Here's a mapping of each Mailgun event to its SparkPost message event equivalent(s): @@ -269,7 +269,7 @@ SparkPost's relay webhooks process and forward email addressed to an HTTP endpoi Subaccounts ----------- -On SparkPost [plans](https://docs.sparkpost.com/docs/faq/difference-between-starter-and-premier/) above "starter" level, you can create [subaccounts](https://docs.sparkpost.com/docs/user-guide/subaccounts/) to support separate business units, mail streams or individual customers. Each subaccount has its own suppression list, and can have its own API keys, sending domains, templates etc. You can run reports / analytics by subaccount, get raw message event data by subaccount, get aggregated statistics, create webhooks per subaccount and so on. +On SparkPost [plans](/docs/faq/difference-between-starter-and-premier/) above "starter" level, you can create [subaccounts](/docs/user-guide/subaccounts/) to support separate business units, mail streams or individual customers. Each subaccount has its own suppression list, and can have its own API keys, sending domains, templates etc. You can run reports / analytics by subaccount, get raw message event data by subaccount, get aggregated statistics, create webhooks per subaccount and so on. In addition you can enable your subaccount users to have permission to inject messages for delivery via their individual subaccount, and to use [the API](https://developers.sparkpost.com/api/subaccounts/) to access subaccount-specific resources. @@ -281,7 +281,7 @@ Mailgun and SparkPost both enable you to create users with specific roles. The S Alerts ------ -Your Mailgun account alerts you by email when approaching your account sending limit. In SparkPost, you can [set up alerts](https://docs.sparkpost.com/docs/user-guide/alerts/) to track the following metrics: +Your Mailgun account alerts you by email when approaching your account sending limit. In SparkPost, you can [set up alerts](/docs/user-guide/alerts/) to track the following metrics: - Block Bounce Rate - Hard Bounce Rate @@ -294,20 +294,20 @@ Alerts can send notifications via email, Slack, and webhooks. Dedicated IPs, IP Pools, and auto-warmup ---------------------------------------- -SparkPost enables you to deliver email via IP addresses dedicated to your account (or subaccount). Similar to Mailgun, addresses are managed via [IP Pools](https://docs.sparkpost.com/docs/deliverability/managing-dedicated-ip-pools/). Addresses can be set to [automatically warm up](https://support.sparkpost.com/docs/user-guide/automated-ip-warmup) over time, which is helpful in building a clean sender reputation as you migrate messages across. +SparkPost enables you to deliver email via IP addresses dedicated to your account (or subaccount). Similar to Mailgun, addresses are managed via [IP Pools](/docs/deliverability/managing-dedicated-ip-pools/). Addresses can be set to [automatically warm up](https://support.sparkpost.com/docs/user-guide/automated-ip-warmup) over time, which is helpful in building a clean sender reputation as you migrate messages across. Health Score and other SparkPost Analytics features --------------------------------------------------- These advanced analytics features are available in your SparkPost account, and don't have a direct equivalent in the Mailgun dashboard. -- [Health Score](https://docs.sparkpost.com/docs/reporting/health-score/) -- [Spam Trap Monitoring](https://docs.sparkpost.com/docs/reporting/spam-trap-monitoring/) -- [Engagement Recency](https://docs.sparkpost.com/docs/reporting/engagement-recency/) +- [Health Score](/docs/reporting/health-score/) +- [Spam Trap Monitoring](/docs/reporting/spam-trap-monitoring/) +- [Engagement Recency](/docs/reporting/engagement-recency/) Mailgun paid accounts provide "inbox placement" monitoring that you can schedule at additional cost, using seed tests. What next? ---------- -If you have an issue with your SparkPost account, you can [check out our support articles here](https://docs.sparkpost.com/docs/) and [contact our Support team directly from your app dashboard](https://app.sparkpost.com/dashboard). +If you have an issue with your SparkPost account, you can [check out our support articles here](/docs/) and [contact our Support team directly from your app dashboard](https://app.sparkpost.com/dashboard). diff --git a/content/docs/user-guide/managing-users.md b/content/docs/user-guide/managing-users.md index 00302086..e0f96189 100644 --- a/content/docs/user-guide/managing-users.md +++ b/content/docs/user-guide/managing-users.md @@ -52,7 +52,7 @@ Admin users can add new users to their account from the [Manage Users](https://a ### Subaccount Users *Limited access. Reach out to our support team or your Technical Account Manager to have this option enabled for your account. -Reporting Users can optionally be assigned to a specific subaccount. Check the "assign to subaccount" box when creating the user and then select the subaccount. Learn more about subaccounts and subaccount users [here](https://docs.sparkpost.com/docs/user-guide/subaccounts/). +Reporting Users can optionally be assigned to a specific subaccount. Check the "assign to subaccount" box when creating the user and then select the subaccount. Learn more about subaccounts and subaccount users [here](/docs/user-guide/subaccounts/). Only Reporting and Developer Users support subaccount assignment at this time. diff --git a/content/docs/user-guide/mandrill-migration-guide.md b/content/docs/user-guide/mandrill-migration-guide.md index a5b3402c..030683ab 100644 --- a/content/docs/user-guide/mandrill-migration-guide.md +++ b/content/docs/user-guide/mandrill-migration-guide.md @@ -7,7 +7,7 @@ description: "This Mandrill Migration Guide explains how quick and painless migr Mandrill Migration Guide Overview --------------------------------- -Mailchimp recommends SparkPost as a Mandrill alternative for developers looking for a transactional email provider. To support your move, we've created this Mandrill migration guide to streamline the process. We also recommend reading through our full [getting started guide](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/) for an overview of SparkPost. +Mailchimp recommends SparkPost as a Mandrill alternative for developers looking for a transactional email provider. To support your move, we've created this Mandrill migration guide to streamline the process. We also recommend reading through our full [getting started guide](/docs/getting-started/getting-started-sparkpost/) for an overview of SparkPost. Terminology ----------- @@ -209,12 +209,12 @@ Migrating your Traffic *For high volume and non-transactional senders, please take note of this section.* -We recommend signing up for a SparkPost account and segmenting your traffic between SparkPost and Mandrill, to build your reputation with our service and warm up your dedicated IPs properly. Be sure to follow our best practices guides for [warming up your IPs](https://docs.sparkpost.com/docs/deliverability/ip-warm-up-overview/) and [optimizing deliverability and get the best inbox placement rates](https://docs.sparkpost.com/docs/deliverability/optimizing-deliverability-and-inbox-placement/). +We recommend signing up for a SparkPost account and segmenting your traffic between SparkPost and Mandrill, to build your reputation with our service and warm up your dedicated IPs properly. Be sure to follow our best practices guides for [warming up your IPs](/docs/deliverability/ip-warm-up-overview/) and [optimizing deliverability and get the best inbox placement rates](/docs/deliverability/optimizing-deliverability-and-inbox-placement/). Subaccounts ----------- -If you send on behalf of your customers, it's a good idea to use [SparkPost's subaccounts](https://docs.sparkpost.com/docs/user-guide/subaccounts/) to segment their data. Similar to Mandrill, you are able to see analytics for each subaccount in your [reports](https://app.sparkpost.com/reports/summary). SparkPost also allows you to assign most account assets, like Sending Domains or Templates, to an individual subaccount. Once assigned, only that subaccount and the master account can access the resource. +If you send on behalf of your customers, it's a good idea to use [SparkPost's subaccounts](/docs/user-guide/subaccounts/) to segment their data. Similar to Mandrill, you are able to see analytics for each subaccount in your [reports](https://app.sparkpost.com/reports/summary). SparkPost also allows you to assign most account assets, like Sending Domains or Templates, to an individual subaccount. Once assigned, only that subaccount and the master account can access the resource. Inbound Email ------------- diff --git a/content/docs/user-guide/subaccounts.md b/content/docs/user-guide/subaccounts.md index 3ec7125e..5aef529d 100644 --- a/content/docs/user-guide/subaccounts.md +++ b/content/docs/user-guide/subaccounts.md @@ -52,7 +52,7 @@ In addition, your subaccount users will be able to: * View and manage the suppression list via the API​ * Create their own webhook via the API * Create, edit, view, and use templates via the API -* Access [Signals Analytics](https://docs.sparkpost.com/docs/reporting/signals-analytics/) via the UI +* Access [Signals Analytics](/docs/reporting/signals-analytics/) via the UI ### Use Cases @@ -107,7 +107,7 @@ After creating a subaccount, the primary account has the option of assigning a d Primary account Admin and Developer users can create subaccounts. Primary account Templates and Reporting users can see information about all subaccounts. Reporting Users can optionally be assigned to a specific subaccount instead of the primary account - more information on this below in "Subaccount UI Access". -Learn more about user roles [here](https://docs.sparkpost.com/docs/user-guide/managing-users/). +Learn more about user roles [here](/docs/user-guide/managing-users/). **Subaccount Statuses** diff --git a/content/docs/user-guide/unconfigured-sending-domain.md b/content/docs/user-guide/unconfigured-sending-domain.md index e98ff1e1..17a1346a 100644 --- a/content/docs/user-guide/unconfigured-sending-domain.md +++ b/content/docs/user-guide/unconfigured-sending-domain.md @@ -20,4 +20,4 @@ Changing the from address to sales@autos.example.com will correct the error, bec ## Additional Information -Refer to [this Knowledge Base Article](https://docs.sparkpost.com/docs/getting-started/getting-started-sparkpost/#preparing-your-from-address) to learn more about how to configure Sending Domains. +Refer to [this Knowledge Base Article](/docs/getting-started/getting-started-sparkpost/#preparing-your-from-address) to learn more about how to configure Sending Domains. diff --git a/content/docs/user-guide/using-suppression-lists.md b/content/docs/user-guide/using-suppression-lists.md index cf379ca5..0df51f34 100644 --- a/content/docs/user-guide/using-suppression-lists.md +++ b/content/docs/user-guide/using-suppression-lists.md @@ -21,7 +21,7 @@ When a message is injected either using SMTP or HTTP, SparkPost will check the e * **Suppression List API:** Using the REST API, you can insert/update a single entry or multiple entries in your suppression list, check the suppression status for a specific recipient, or remove a recipient from your suppression list. For more information, see the [SparkPost Suppression List API](https://www.sparkpost.com/api#/reference/suppression-list "SparkPost Suppression List API"). * **Suppression list UI:** Using the User Interface (UI), select Recipients and then Suppressions. -**If you want to learn how your application can be notified of list pruning events, read our [using unsubscribe events](https://docs.sparkpost.com/docs/user-guide/using-unsubscribe-reports/) guide.** +**If you want to learn how your application can be notified of list pruning events, read our [using unsubscribe events](/docs/user-guide/using-unsubscribe-reports/) guide.** ## Managing Suppression Lists with the SparkPost API From 511eca839197521441be27270e7b86c167c902a0 Mon Sep 17 00:00:00 2001 From: Daniel Sousa Date: Tue, 14 Jul 2026 13:21:32 -0300 Subject: [PATCH 2/2] docs: revert placeholder link in template example /docs/product.url is a merge-field placeholder inside a fenced code example, not a real navigational link. Keep it as-is to scope this PR to genuine in-site links. --- .../docs/getting-started/previewing-and-sending-test-emails.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/getting-started/previewing-and-sending-test-emails.md b/content/docs/getting-started/previewing-and-sending-test-emails.md index 32221a56..f909f999 100644 --- a/content/docs/getting-started/previewing-and-sending-test-emails.md +++ b/content/docs/getting-started/previewing-and-sending-test-emails.md @@ -27,7 +27,7 @@ The following example code is used to illustrate our preview and test send funct {{if product.name}}

-Thank you for your interest in [{{product.name}}](/docs/product.url "product.description") +Thank you for your interest in [{{product.name}}](https://docs.sparkpost.com/docs/product.url "product.description")

{{end}}