{"id":50974874,"url":"https://github.com/eznix86/inboxed","last_synced_at":"2026-06-19T06:33:02.362Z","repository":{"id":357588588,"uuid":"1237592630","full_name":"eznix86/inboxed","owner":"eznix86","description":"Native Mac OS Mail  Server/Client For Development alternative to Mailpit/Maildev","archived":false,"fork":false,"pushed_at":"2026-05-13T11:09:46.000Z","size":893,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-13T13:14:15.936Z","etag":null,"topics":["macos","mailer","swift"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eznix86.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-13T10:21:22.000Z","updated_at":"2026-05-13T12:22:33.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/eznix86/inboxed","commit_stats":null,"previous_names":["eznix86/inboxed"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/eznix86/inboxed","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eznix86%2Finboxed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eznix86%2Finboxed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eznix86%2Finboxed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eznix86%2Finboxed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eznix86","download_url":"https://codeload.github.com/eznix86/inboxed/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eznix86%2Finboxed/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34520431,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-19T02:00:06.005Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["macos","mailer","swift"],"created_at":"2026-06-19T06:33:02.044Z","updated_at":"2026-06-19T06:33:02.353Z","avatar_url":"https://github.com/eznix86.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Inboxed\n\n![inboxed screenshot](./art/inboxed.png)\n\nInboxed is a native macOS Mail catcher for local development. It runs a local SMTP server, captures outbound emails from your apps, and previews plain text, HTML, raw MIME content, and SMTP logs without forwarding anything outside your machine.\n\n## Features\n\n| Feature | Details |\n|---|---|\n| Local SMTP server | Listens on `localhost:1025` by default |\n| Native | Only use Swift and Swift UI |\n| Notifications | Shows a macOS notification when an email is captured |\n| Logs | Includes a live SMTP traffic/log view |\n\n## Requirements\n\n- macOS 14+\n- Xcode 26+ or the matching command line tools\n- Swift Package Manager\n\n## Run Locally\n\nFrom the project directory:\n\n```bash\nswift build\nswift run Inboxed\n```\n\n`swift run Inboxed` is useful for development. macOS notifications are only enabled when Inboxed is launched from an `.app` bundle.\n\nFor an app-bundle style local run:\n\n```bash\nsh build.sh\n```\n\nThe app starts the SMTP server automatically. The current status and port are shown in the sidebar footer.\n\n## SMTP Configuration\n\nConfigure your app's mailer with:\n\n| Setting | Value |\n|---|---|\n| Host | `localhost` |\n| Port | `1025` by default |\n| TLS | Off |\n| Auth | None |\n\nTo change the port, open **Inboxed \u003e Settings** or press `Cmd + ,`. If the server is running, saving a new port restarts the listener automatically.\n\n## Send a Test Email\n\nPlain text:\n\n```bash\npython3 - \u003c\u003c'PYEOF'\nimport smtplib\nfrom email.mime.text import MIMEText\n\nmsg = MIMEText('Hello from Inboxed!', 'plain')\nmsg['Subject'] = 'Test Email'\nmsg['From'] = 'dev@local.test'\nmsg['To'] = 'you@local.test'\n\nwith smtplib.SMTP('localhost', 1025) as smtp:\n    smtp.send_message(msg)\n\nprint('Sent!')\nPYEOF\n```\n\nHTML + plain text multipart:\n\n```bash\npython3 - \u003c\u003c'PYEOF'\nimport smtplib\nfrom email.mime.multipart import MIMEMultipart\nfrom email.mime.text import MIMEText\n\nmsg = MIMEMultipart('alternative')\nmsg['Subject'] = 'HTML Test Email'\nmsg['From'] = 'dev@local.test'\nmsg['To'] = 'you@local.test'\n\nmsg.attach(MIMEText('This is the plain text fallback.', 'plain'))\nmsg.attach(MIMEText('''\n\u003c!doctype html\u003e\n\u003chtml\u003e\n\u003cbody style=\"font-family:-apple-system;padding:32px;background:#f6f7fb;\"\u003e\n  \u003cdiv style=\"max-width:560px;margin:auto;background:white;border-radius:16px;padding:28px;\"\u003e\n    \u003ch1\u003eInboxed HTML Preview\u003c/h1\u003e\n    \u003cp\u003eThis email is rendered inside Inboxed.\u003c/p\u003e\n    \u003ca href=\"https://example.com\"\u003eExternal link test\u003c/a\u003e\n  \u003c/div\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n''', 'html'))\n\nwith smtplib.SMTP('localhost', 1025) as smtp:\n    smtp.send_message(msg)\n\nprint('Sent!')\nPYEOF\n```\n\n## Release Builds\n\nRelease builds are currently unsigned. After downloading and unzipping a release, you can ad-hoc sign it locally:\n\n```bash\ncodesign --force --deep --sign - \"Inboxed.app\"\n```\n\nIf macOS still blocks the app because it was downloaded from the internet, remove the quarantine attribute and sign again:\n\n```bash\nxattr -dr com.apple.quarantine \"Inboxed.app\"\ncodesign --force --deep --sign - \"Inboxed.app\"\nopen \"Inboxed.app\"\n```\n\n## Notes\n\n- Inboxed is meant for local development only.\n- Emails are kept in memory for the current app session.\n- Inboxed never forwards or delivers email to real recipients.\n\n## Credits\n\n- App icon by [akid3v](https://macosicons.com/u/akid3v) via [macOSicons](https://macosicons.com/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feznix86%2Finboxed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feznix86%2Finboxed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feznix86%2Finboxed/lists"}