{"id":20346236,"url":"https://github.com/zagoli/selfdestructingemails","last_synced_at":"2026-04-17T02:31:35.763Z","repository":{"id":177848976,"uuid":"660138704","full_name":"zagoli/SelfDestructingEmails","owner":"zagoli","description":"Emails with an embedded image that you can see one time","archived":false,"fork":false,"pushed_at":"2023-07-01T12:27:44.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-25T13:33:05.565Z","etag":null,"topics":["email","flask","python"],"latest_commit_sha":null,"homepage":"","language":"Python","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/zagoli.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}},"created_at":"2023-06-29T10:19:57.000Z","updated_at":"2023-07-08T06:27:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"7e4d1d95-ad1b-4775-a76c-347be484b271","html_url":"https://github.com/zagoli/SelfDestructingEmails","commit_stats":null,"previous_names":["zagoli/selfdestructingemails"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zagoli/SelfDestructingEmails","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zagoli%2FSelfDestructingEmails","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zagoli%2FSelfDestructingEmails/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zagoli%2FSelfDestructingEmails/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zagoli%2FSelfDestructingEmails/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zagoli","download_url":"https://codeload.github.com/zagoli/SelfDestructingEmails/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zagoli%2FSelfDestructingEmails/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31912338,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"online","status_checked_at":"2026-04-17T02:00:06.879Z","response_time":62,"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":["email","flask","python"],"created_at":"2024-11-14T22:12:12.921Z","updated_at":"2026-04-17T02:31:35.744Z","avatar_url":"https://github.com/zagoli.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Self-Destructing Emails\nThis repository contains a program that enables the sending of emails \nwith a special feature: the email's content, such as a coupon or any other image, \ncan only be viewed once.\n\n## Motivations\nHave you ever wondered if it's possible to send an email that can only be read once?\nIt seems challenging to achieve this with a regular text-based email, except by using AMP for emails.\nHowever, since AMP for emails is not widely supported, it's not a practical option.\n\nThe next best solution is to send an HTML email with embedded content, such as an image,\nthat can only be viewed a single time. This approach is feasible because, in an email,\nan image can be hosted externally, like this:\n\n```html\n\u003c!-- The following image will be displayed in almost all email clients --\u003e\n\u003cimg src=\"https://external-domain.com/image\" alt=\"an image\"/\u003e\n```\n\nBy controlling the server hosting the image, it becomes possible to serve that specific \nimage only once. As a result, the image will effectively \"self-destruct\" after it has been viewed!\n\n## Usage\nTo use the program, follow these steps:\n\n1. Install the required packages listed in the `requirements.txt` file.\n2. Configure the SMTP server by providing the necessary details in the `main.py` file.\n3. Adjust the `images_server_address` variable according to your setup. If running the program locally, you can set it to `http://localhost:8080`.\n4. Run the command `python main.py` to execute the program.\n5. Enter a valid email address when prompted, or type `stop` to terminate the program.\n\nI have tested this program successfully with Mozilla Thunderbird. \nHowever, there might be issues with other email clients, particularly if you are hosting\nthe server locally without using HTTPS. If the server is configured correctly on a remote\nmachine with a valid SSL certificate, it should work fine.\n\n## Notes\nPlease note that this code is experimental and lacks certain essential \nfeatures such as data persistence, sanity checks and input validation. Exercise caution while using it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzagoli%2Fselfdestructingemails","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzagoli%2Fselfdestructingemails","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzagoli%2Fselfdestructingemails/lists"}