# PapercutSmtpHostingExtension Methods

- Package: [CommunityToolkit.Aspire.Hosting.PapercutSmtp](/reference/api/csharp/communitytoolkit.aspire.hosting.papercutsmtp.md)
- Type: [PapercutSmtpHostingExtension](/reference/api/csharp/communitytoolkit.aspire.hosting.papercutsmtp/papercutsmtphostingextension.md)
- Kind: `Methods`
- Members: `1`

Provides extension methods for adding Papercut SMTP to an `Hosting.IDistributedApplicationBuilder`.

## AddPapercutSmtp(IDistributedApplicationBuilder, string, int?, int?)

- Name: `AddPapercutSmtp(IDistributedApplicationBuilder, string, int?, int?)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<PapercutSmtpContainerResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d9dc6fc02412d7398c5722840513d99965a6e98f/src/CommunityToolkit.Aspire.Hosting.PapercutSmtp/PapercutSmtpHostingExtension.cs#L28-L48)

Adds Papercut SMTP to the application model.

```csharp
public static class PapercutSmtpHostingExtension
{
    public static IResourceBuilder<PapercutSmtpContainerResource> AddPapercutSmtp(
        this IDistributedApplicationBuilder builder,
        string name,
        int? httpPort = null,
        int? smtpPort = null)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IDistributedApplicationBuilder`)
  The `Hosting.IDistributedApplicationBuilder` to add the resource to.
- `name` (`string`)
  The name of the resource.
- `httpPort` (`int?`) `optional`
  The HTTP port number for the Papercut SMTP web console.
- `smtpPort` (`int?`) `optional`
  The SMTP port number for the Papercut SMTP container.

## Returns

`IResourceBuilder<PapercutSmtpContainerResource>` -- A reference to the `ApplicationModel.IResourceBuilder`1`.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.
