{"id":18689314,"url":"https://github.com/derstimmler/csharpulmdsl","last_synced_at":"2026-04-10T16:41:06.823Z","repository":{"id":40502705,"uuid":"492325921","full_name":"DerStimmler/CSharpUlmDsl","owner":"DerStimmler","description":"C# client for fetching emails from the temp mail service ulm-dsl.","archived":false,"fork":false,"pushed_at":"2023-05-18T21:42:38.000Z","size":73,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-28T16:38:53.768Z","etag":null,"topics":["api","client","csharp","dotnet","free","library","mail","mit","nuget","package","temp","tempmail","ulmdsl"],"latest_commit_sha":null,"homepage":"https://github.com/DerStimmler/CSharpUlmDsl","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DerStimmler.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-14T21:09:59.000Z","updated_at":"2024-09-10T16:46:53.000Z","dependencies_parsed_at":"2024-11-07T10:44:28.221Z","dependency_job_id":"9bd7933b-f556-4bb7-9cdb-5db7eab7576f","html_url":"https://github.com/DerStimmler/CSharpUlmDsl","commit_stats":{"total_commits":33,"total_committers":1,"mean_commits":33.0,"dds":0.0,"last_synced_commit":"bfa95eec23ae4e4e5b2378eb1c9f78cfd71bf5dd"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DerStimmler%2FCSharpUlmDsl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DerStimmler%2FCSharpUlmDsl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DerStimmler%2FCSharpUlmDsl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DerStimmler%2FCSharpUlmDsl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DerStimmler","download_url":"https://codeload.github.com/DerStimmler/CSharpUlmDsl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239550304,"owners_count":19657538,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","client","csharp","dotnet","free","library","mail","mit","nuget","package","temp","tempmail","ulmdsl"],"created_at":"2024-11-07T10:43:06.711Z","updated_at":"2026-04-10T16:41:06.780Z","avatar_url":"https://github.com/DerStimmler.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CSharpUlmDsl\n\n[![dotnet](https://img.shields.io/badge/platform-.NET-blue)](https://www.nuget.org/packages/CSharpUlmDsl/)\n[![nuget version](https://img.shields.io/nuget/v/CSharpUlmDsl)](https://www.nuget.org/packages/CSharpUlmDsl/)\n[![nuget downloads](https://img.shields.io/nuget/dt/CSharpUlmDsl)](https://www.nuget.org/packages/CSharpUlmDsl/)\n![build](https://github.com/DerStimmler/CSharpUlmDsl/actions/workflows/build.yml/badge.svg)\n[![codecov](https://codecov.io/gh/DerStimmler/CSharpUlmDsl/branch/master/graph/badge.svg?token=HL0P0ND9ZF)](https://codecov.io/gh/DerStimmler/CSharpUlmDsl)\n[![GitHub license](https://img.shields.io/github/license/DerStimmler/CSharpUlmDsl)](https://github.com/DerStimmler/CSharpUlmDsl/blob/master/LICENSE.md)\n\nC# client for fetching emails from the temp mail service [ulm-dsl](https://ulm-dsl.de/).\n\n## Installation\n\nAvailable on [NuGet](https://www.nuget.org/packages/CSharpUlmDsl/).\n\n```bash\ndotnet add package CSharpUlmDsl\n```\n\nor\n\n```powershell\nPM\u003e Install-Package CSharpUlmDsl\n```\n\n## Usage\n\nThe following examples use the email address `max.mustermann@ulm-dsl.de`. Just replace the inbox name `max.mustermann`\nto match your address.\n\nNote that you have to fetch your inbox once before you can receive emails at your address. Your address stays active for 14 days. This period renews for every request.\n\n### Initialization\n\nFirst create an instance of `UlmDslClient` by passing an instance of `HttpClient` to its constructor.\n\n```csharp\nvar httpClient = new HttpClient();\n\nvar client = new UlmDslClient(httpClient);\n```\n\n### Get Inbox\n\nYou can fetch the basic information **except the body** for all emails in an inbox by calling the `GetInbox`\n/ `GetInboxAsync` methods and passing the inbox name.\n\n```csharp\nvar emails = client.GetInbox(\"max.mustermann\");\n```\n\n```csharp\nvar emails = await client.GetInboxAsync(\"max.mustermann\");\n```\n\n### Get Mail by Id\n\nYou can get all available information for a specific email by calling the `GetMailById` / `GetMailByIdAsync` methods and\npassing the inbox name and email identifier.\n\n```csharp\nvar email = client.GetMailById(\"max.mustermann\", 7);\n```\n\n```csharp\nvar email = await client.GetMailByIdAsync(\"max.mustermann\", 7);\n```\n\n### Get Mails\n\nYou can get all available information for all emails in an inbox by calling the `GetMails` / `GetMailsAsync` methods and\npassing the inbox name.\n\n```csharp\nvar emails = client.GetMails(\"max.mustermann\");\n```\n\n```csharp\nvar emails = await client.GetMailsAsync(\"max.mustermann\");\n```\n\n### Dependency Injection\n\nYou can register the `UlmDslClient` in your Startup with a typed `HttpClient`.\n\n```csharp\nbuilder.Services.AddHttpClient\u003cUlmDslClient\u003e();\n```\n\nThen inject the client wherever you like. E.g. in a controller:\n\n```csharp\n[Route(\"Home\")]\n[ApiController]\npublic class HomeController : ControllerBase\n{\n    private readonly UlmDslClient _client;\n\n    public HomeController(UlmDslClient client)\n    {\n        _client = client;\n    }\n}\n```\n\n### API rate limits\n\nThe api is limited to about 100 requests per minute. So you should keep in mind when this client fires requests:\n\n- When you fetch your inbox only a single request gets fired.\n- When you fetch a specific email by id, two requests get fired. One for the basic information e.g. the sender and\n  receiver and one for the email body.\n- When you fetch all emails a first request gets fired for the basic information of all emails and then another request\n  per email to retrieve each email body.\n\nSo based on your inbox size you should think twice before you fetch all emails. Maybe it's better to just fetch the\ninbox and then retrieve a single email by id.\n\n## Related\n\nHere are some related projects:\n\n- [ts-ulm-dsl](https://github.com/DerStimmler/ts-ulm-dsl): Typescript version of this library\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fderstimmler%2Fcsharpulmdsl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fderstimmler%2Fcsharpulmdsl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fderstimmler%2Fcsharpulmdsl/lists"}