# Email feature support checker

![feature-support](/examples-screenshots/ms2-app/emails/email-feature-support.jpeg)

Test the support of your emails across a range of devices and mail clients. MailSlurp can analyze your emails and detect HTML, CSS, and image features that may not be supported by all email clients. You can also find broken images, dead links, and spelling mistakes. This can help you ensure your emails look great and are compatible with a wide range of devices and mail clients.

![broken-images](/examples-screenshots/ms2-app/email-content-check/invalid.jpeg)

## How it works
MailSlurp analyzes the content of inbound emails and checks the detected HTML, CSS, Image and other features present in the message against a database of mail clients. MailSlurp also parses your HMTL and extracts images and links to check for 404s, broken links and missing images.

<aside data-component="DocsNavigationDisplay" class="docs-navigation-display">
<h3>Find feature checker</h3>
<p>You can check detected email feature support on the email view page.</p>
<ol class="docs-navigation-steps">
<li><figure class="docs-navigation-step"><img src="/examples-screenshots/ms2-app/navigation/email-feature-support/0-navbar.jpeg" alt="Find feature checker: Use sidebar" loading="lazy" decoding="async" /><figcaption>1. Use sidebar</figcaption></figure></li>
<li><figure class="docs-navigation-step"><img src="/examples-screenshots/ms2-app/navigation/email-feature-support/1-navbar.jpeg" alt="Find feature checker: Click emails" loading="lazy" decoding="async" /><figcaption>2. Click emails</figcaption></figure></li>
<li><figure class="docs-navigation-step"><img src="/examples-screenshots/ms2-app/navigation/email-feature-support/2-navbar.jpeg" alt="Find feature checker: Click an email" loading="lazy" decoding="async" /><figcaption>3. Click an email</figcaption></figure></li>
</ol>
</aside>

## View email feature support

Open an email in the dashboard and click on the `HTML/CSS Support` tab. You will see a list of detected features and the mail clients that support them.

![Access feature support](/examples-screenshots/ms2-app/navigation/email-feature-support/3-navbar.jpeg)

### Interpreting results
The main pie-chart shows the support levels for the detected features across a range of selected platforms, families, and mail client versions.

![Feature percentages](/examples-screenshots/ms2-app/email-feature-support/feature-percentages.jpeg)

Below this main figure is a list of detected features with an explanation of what they are and the mail clients that support them.

![Feature percentages](/examples-screenshots/ms2-app/email-feature-support/feature.jpeg)

### Filtering results
You can filter the support results by platform, family, and version. This can help you see how support varies across different devices and mail clients.

#### Detected features
You can filter the support results based on whether they are supported, partially supported, unknown, or not supported.

![Detected features](/examples-screenshots/ms2-app/email-feature-support/detected-features.jpeg)

#### Clients
You can filter by clients such as Gmail, Outlook, and Apple Mail.

![Feature percentages](/examples-screenshots/ms2-app/email-feature-support/clients.jpeg)

#### Platforms
You can filter by platforms such as Android, Windows, iOS and web browsers.

![Feature platforms](/examples-screenshots/ms2-app/email-feature-support/platforms.jpeg)

## View email feature support in code

```typescript
const { result } = await mailslurp.emailController.checkEmailBodyFeatureSupport({
  emailId: email.id
})
expect(result.detectedFeatures).toContain(EmailFeatureSupportResultDetectedFeaturesEnum.html_doctype)
expect(result.featurePercentages.find(it => it.status === EmailFeatureSupportStatusPercentageStatusEnum.SUPPORTED)?.percentage).toBeGreaterThan(50)
```

## Find broken links and images
Nobody wants an email with a missing image or a link that results in a 404. MailSlurp can help you find these issues and fix them before sending your emails.

### Detect dead links

```typescript
const result = await mailslurp.emailController.checkEmailBody({
  emailId: email.id
})
expect(result.hasIssues).toEqual(true)
expect(result.linkIssues.length).toEqual(1)
expect(result.linkIssues[0].url).toEqual("https://api.mailslurp.com/not-existing")
```

### Monitor missing images
Find missing images using the

```typescript
const result = await mailslurp.emailController.checkEmailBody({
  emailId: email.id
})
expect(result.hasIssues).toEqual(true)
expect(result.imageIssues.length).toEqual(1)
expect(result.imageIssues[0].url).toEqual("https://www.mailslurp.com/broken-image.png")
```

