nenzmail 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,106 @@
1
+ Metadata-Version: 2.4
2
+ Name: nenzmail
3
+ Version: 1.0.0
4
+ Summary: Free disposable email API client — create temp inboxes, receive emails, and send emails. No auth required.
5
+ Author: NenzMail
6
+ License: MIT
7
+ Project-URL: Homepage, https://nenzmail.xyz
8
+ Project-URL: Repository, https://github.com/AyuTriphasari/nenzmail
9
+ Project-URL: Bug Tracker, https://github.com/AyuTriphasari/nenzmail/issues
10
+ Keywords: temp-mail,tempmail,disposable-email,throwaway-email,burner-email,anonymous-email,email-api,send-email,nenzmail,temporary-email
11
+ Classifier: Development Status :: 5 - Production/Stable
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.8
16
+ Classifier: Programming Language :: Python :: 3.9
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Topic :: Communications :: Email
21
+ Requires-Python: >=3.8
22
+ Description-Content-Type: text/markdown
23
+
24
+ # NenzMail — Free Disposable Email API Client (Python)
25
+
26
+ Send and receive disposable emails from your Python apps. **No authentication, no API keys, no signup.** Uses only the standard library — no dependencies.
27
+
28
+ ## Install
29
+
30
+ ```bash
31
+ pip install nenzmail
32
+ ```
33
+
34
+ ## Quick Start
35
+
36
+ ```python
37
+ import nenzmail
38
+
39
+ # Create a temp inbox
40
+ inbox = nenzmail.create_inbox()
41
+ print(inbox['email']) # purplecat209@nenzmail.xyz
42
+
43
+ # Check for emails
44
+ result = nenzmail.get_emails(inbox['email'])
45
+ print(result['emails'])
46
+
47
+ # Read full email
48
+ email = nenzmail.get_email(result['emails'][0]['id'])
49
+
50
+ # Send an email — free!
51
+ nenzmail.send_email(
52
+ from_addr=inbox['email'],
53
+ to='friend@gmail.com',
54
+ subject='Hello from NenzMail',
55
+ text='This was sent from a free temp inbox!',
56
+ )
57
+
58
+ # Delete inbox when done
59
+ nenzmail.delete_inbox(inbox['email'])
60
+ ```
61
+
62
+ ## API
63
+
64
+ ### `create_inbox(domain='nenzmail.xyz', username=None)`
65
+ Create a new temporary inbox. Auto-deletes after 1 hour.
66
+ - `domain` — `nenzmail.xyz` (default), `nzmail.xyz`, or `zlkcyber.xyz`
67
+ - `username` — Custom username (3-30 chars: letters, numbers, `_` or `-`)
68
+
69
+ ### `get_emails(address)`
70
+ List all emails in an inbox. Returns `{'emails': [...]}`.
71
+
72
+ ### `get_email(email_id)`
73
+ Read full email content (HTML + text).
74
+
75
+ ### `send_email(from_addr, to, subject, text='', html='', reply_to=None)`
76
+ Send an email from your inbox to any address. Rate limited: 20/hr per inbox.
77
+
78
+ ### `delete_inbox(address)`
79
+ Delete an inbox immediately.
80
+
81
+ ### `get_sent_emails(address)`
82
+ Get sent emails (outbox) for an inbox.
83
+
84
+ ### `check_username(username, domain='nenzmail.xyz')`
85
+ Check if a custom username is available.
86
+
87
+ ### `get_domains()`
88
+ List available domains.
89
+
90
+ ## Features
91
+
92
+ - 🆓 **100% Free** — no costs, no credit card
93
+ - 🔓 **No Auth** — no API keys, no tokens
94
+ - 📧 **Send & Receive** — most temp mail only receives
95
+ - ⏱️ **Auto-Delete** — inboxes expire after 1 hour
96
+ - 📦 **Zero Dependencies** — uses only Python standard library
97
+
98
+ ## Links
99
+
100
+ - [API Docs](https://nenzmail.xyz/api-docs)
101
+ - [Free Send Email](https://nenzmail.xyz/send-email-free)
102
+ - [GitHub](https://github.com/AyuTriphasari/nenzmail)
103
+
104
+ ## License
105
+
106
+ MIT
@@ -0,0 +1,83 @@
1
+ # NenzMail — Free Disposable Email API Client (Python)
2
+
3
+ Send and receive disposable emails from your Python apps. **No authentication, no API keys, no signup.** Uses only the standard library — no dependencies.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ pip install nenzmail
9
+ ```
10
+
11
+ ## Quick Start
12
+
13
+ ```python
14
+ import nenzmail
15
+
16
+ # Create a temp inbox
17
+ inbox = nenzmail.create_inbox()
18
+ print(inbox['email']) # purplecat209@nenzmail.xyz
19
+
20
+ # Check for emails
21
+ result = nenzmail.get_emails(inbox['email'])
22
+ print(result['emails'])
23
+
24
+ # Read full email
25
+ email = nenzmail.get_email(result['emails'][0]['id'])
26
+
27
+ # Send an email — free!
28
+ nenzmail.send_email(
29
+ from_addr=inbox['email'],
30
+ to='friend@gmail.com',
31
+ subject='Hello from NenzMail',
32
+ text='This was sent from a free temp inbox!',
33
+ )
34
+
35
+ # Delete inbox when done
36
+ nenzmail.delete_inbox(inbox['email'])
37
+ ```
38
+
39
+ ## API
40
+
41
+ ### `create_inbox(domain='nenzmail.xyz', username=None)`
42
+ Create a new temporary inbox. Auto-deletes after 1 hour.
43
+ - `domain` — `nenzmail.xyz` (default), `nzmail.xyz`, or `zlkcyber.xyz`
44
+ - `username` — Custom username (3-30 chars: letters, numbers, `_` or `-`)
45
+
46
+ ### `get_emails(address)`
47
+ List all emails in an inbox. Returns `{'emails': [...]}`.
48
+
49
+ ### `get_email(email_id)`
50
+ Read full email content (HTML + text).
51
+
52
+ ### `send_email(from_addr, to, subject, text='', html='', reply_to=None)`
53
+ Send an email from your inbox to any address. Rate limited: 20/hr per inbox.
54
+
55
+ ### `delete_inbox(address)`
56
+ Delete an inbox immediately.
57
+
58
+ ### `get_sent_emails(address)`
59
+ Get sent emails (outbox) for an inbox.
60
+
61
+ ### `check_username(username, domain='nenzmail.xyz')`
62
+ Check if a custom username is available.
63
+
64
+ ### `get_domains()`
65
+ List available domains.
66
+
67
+ ## Features
68
+
69
+ - 🆓 **100% Free** — no costs, no credit card
70
+ - 🔓 **No Auth** — no API keys, no tokens
71
+ - 📧 **Send & Receive** — most temp mail only receives
72
+ - ⏱️ **Auto-Delete** — inboxes expire after 1 hour
73
+ - 📦 **Zero Dependencies** — uses only Python standard library
74
+
75
+ ## Links
76
+
77
+ - [API Docs](https://nenzmail.xyz/api-docs)
78
+ - [Free Send Email](https://nenzmail.xyz/send-email-free)
79
+ - [GitHub](https://github.com/AyuTriphasari/nenzmail)
80
+
81
+ ## License
82
+
83
+ MIT
@@ -0,0 +1,106 @@
1
+ Metadata-Version: 2.4
2
+ Name: nenzmail
3
+ Version: 1.0.0
4
+ Summary: Free disposable email API client — create temp inboxes, receive emails, and send emails. No auth required.
5
+ Author: NenzMail
6
+ License: MIT
7
+ Project-URL: Homepage, https://nenzmail.xyz
8
+ Project-URL: Repository, https://github.com/AyuTriphasari/nenzmail
9
+ Project-URL: Bug Tracker, https://github.com/AyuTriphasari/nenzmail/issues
10
+ Keywords: temp-mail,tempmail,disposable-email,throwaway-email,burner-email,anonymous-email,email-api,send-email,nenzmail,temporary-email
11
+ Classifier: Development Status :: 5 - Production/Stable
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.8
16
+ Classifier: Programming Language :: Python :: 3.9
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Topic :: Communications :: Email
21
+ Requires-Python: >=3.8
22
+ Description-Content-Type: text/markdown
23
+
24
+ # NenzMail — Free Disposable Email API Client (Python)
25
+
26
+ Send and receive disposable emails from your Python apps. **No authentication, no API keys, no signup.** Uses only the standard library — no dependencies.
27
+
28
+ ## Install
29
+
30
+ ```bash
31
+ pip install nenzmail
32
+ ```
33
+
34
+ ## Quick Start
35
+
36
+ ```python
37
+ import nenzmail
38
+
39
+ # Create a temp inbox
40
+ inbox = nenzmail.create_inbox()
41
+ print(inbox['email']) # purplecat209@nenzmail.xyz
42
+
43
+ # Check for emails
44
+ result = nenzmail.get_emails(inbox['email'])
45
+ print(result['emails'])
46
+
47
+ # Read full email
48
+ email = nenzmail.get_email(result['emails'][0]['id'])
49
+
50
+ # Send an email — free!
51
+ nenzmail.send_email(
52
+ from_addr=inbox['email'],
53
+ to='friend@gmail.com',
54
+ subject='Hello from NenzMail',
55
+ text='This was sent from a free temp inbox!',
56
+ )
57
+
58
+ # Delete inbox when done
59
+ nenzmail.delete_inbox(inbox['email'])
60
+ ```
61
+
62
+ ## API
63
+
64
+ ### `create_inbox(domain='nenzmail.xyz', username=None)`
65
+ Create a new temporary inbox. Auto-deletes after 1 hour.
66
+ - `domain` — `nenzmail.xyz` (default), `nzmail.xyz`, or `zlkcyber.xyz`
67
+ - `username` — Custom username (3-30 chars: letters, numbers, `_` or `-`)
68
+
69
+ ### `get_emails(address)`
70
+ List all emails in an inbox. Returns `{'emails': [...]}`.
71
+
72
+ ### `get_email(email_id)`
73
+ Read full email content (HTML + text).
74
+
75
+ ### `send_email(from_addr, to, subject, text='', html='', reply_to=None)`
76
+ Send an email from your inbox to any address. Rate limited: 20/hr per inbox.
77
+
78
+ ### `delete_inbox(address)`
79
+ Delete an inbox immediately.
80
+
81
+ ### `get_sent_emails(address)`
82
+ Get sent emails (outbox) for an inbox.
83
+
84
+ ### `check_username(username, domain='nenzmail.xyz')`
85
+ Check if a custom username is available.
86
+
87
+ ### `get_domains()`
88
+ List available domains.
89
+
90
+ ## Features
91
+
92
+ - 🆓 **100% Free** — no costs, no credit card
93
+ - 🔓 **No Auth** — no API keys, no tokens
94
+ - 📧 **Send & Receive** — most temp mail only receives
95
+ - ⏱️ **Auto-Delete** — inboxes expire after 1 hour
96
+ - 📦 **Zero Dependencies** — uses only Python standard library
97
+
98
+ ## Links
99
+
100
+ - [API Docs](https://nenzmail.xyz/api-docs)
101
+ - [Free Send Email](https://nenzmail.xyz/send-email-free)
102
+ - [GitHub](https://github.com/AyuTriphasari/nenzmail)
103
+
104
+ ## License
105
+
106
+ MIT
@@ -0,0 +1,7 @@
1
+ README.md
2
+ nenzmail.py
3
+ pyproject.toml
4
+ nenzmail.egg-info/PKG-INFO
5
+ nenzmail.egg-info/SOURCES.txt
6
+ nenzmail.egg-info/dependency_links.txt
7
+ nenzmail.egg-info/top_level.txt
@@ -0,0 +1 @@
1
+ nenzmail
@@ -0,0 +1,162 @@
1
+ """
2
+ NenzMail — Free disposable email API client for Python.
3
+ No authentication required. Inboxes auto-delete after 1 hour.
4
+
5
+ Example:
6
+ import nenzmail
7
+ inbox = nenzmail.create_inbox()
8
+ emails = nenzmail.get_emails(inbox['email'])
9
+ nenzmail.send_email(from=inbox['email'], to='friend@gmail.com',
10
+ subject='Hi', text='Hello!')
11
+ """
12
+
13
+ import json
14
+ import urllib.request
15
+ import urllib.error
16
+ import urllib.parse
17
+ from typing import Optional, List, Dict, Any
18
+
19
+ BASE_URL = "https://api.nenzmail.xyz"
20
+
21
+
22
+ def _request(method: str, path: str, body: Optional[dict] = None) -> Any:
23
+ url = f"{BASE_URL}{path}"
24
+ data = json.dumps(body).encode() if body else None
25
+ req = urllib.request.Request(url, data=data, method=method)
26
+ req.add_header("Content-Type", "application/json")
27
+ req.add_header("User-Agent", "nenzmail-python/1.0")
28
+ try:
29
+ with urllib.request.urlopen(req, timeout=30) as resp:
30
+ return json.loads(resp.read())
31
+ except urllib.error.HTTPError as e:
32
+ err_body = e.read().decode()[:200]
33
+ try:
34
+ err_json = json.loads(err_body)
35
+ raise Exception(err_json.get("error", f"HTTP {e.code}")) from e
36
+ except (json.JSONDecodeError, ValueError):
37
+ raise Exception(f"HTTP {e.code}: {err_body}") from e
38
+
39
+
40
+ def create_inbox(domain: str = "nenzmail.xyz", username: Optional[str] = None) -> Dict:
41
+ """
42
+ Create a new temporary inbox. Auto-deletes after 1 hour.
43
+
44
+ Args:
45
+ domain: Domain for the inbox (nenzmail.xyz, nzmail.xyz, zlkcyber.xyz)
46
+ username: Custom username (3-30 chars: letters, numbers, _ or -)
47
+
48
+ Returns:
49
+ Dict with 'email', 'expiresAt', 'ttl'
50
+ """
51
+ body = {"domain": domain}
52
+ if username:
53
+ body["username"] = username
54
+ return _request("POST", "/api/inbox/create", body)
55
+
56
+
57
+ def get_emails(address: str) -> Dict:
58
+ """
59
+ List all emails in an inbox.
60
+
61
+ Args:
62
+ address: The inbox email address
63
+
64
+ Returns:
65
+ Dict with 'emails' list (id, from, subject, date, hasAttachments)
66
+ """
67
+ return _request("GET", f"/api/inbox/{urllib.parse.quote(address)}/emails")
68
+
69
+
70
+ def get_email(email_id: str) -> Dict:
71
+ """
72
+ Read full email content (HTML + text).
73
+
74
+ Args:
75
+ email_id: The email ID
76
+
77
+ Returns:
78
+ Dict with 'email' object (id, from, to, subject, html, text, date)
79
+ """
80
+ return _request("GET", f"/api/email/{urllib.parse.quote(email_id)}")
81
+
82
+
83
+ def send_email(
84
+ from_addr: str,
85
+ to: str,
86
+ subject: str,
87
+ text: str = "",
88
+ html: str = "",
89
+ reply_to: Optional[str] = None,
90
+ ) -> Dict:
91
+ """
92
+ Send an email from your NenzMail inbox to any address.
93
+ Rate limited: 20/hr per inbox. Sender inbox must be active.
94
+
95
+ Args:
96
+ from_addr: Your NenzMail inbox address
97
+ to: Recipient email address
98
+ subject: Email subject
99
+ text: Plain text body
100
+ html: HTML body (optional)
101
+ reply_to: Reply-to address (optional)
102
+
103
+ Returns:
104
+ Dict with 'success', 'id', 'subdomain', 'fromEmail'
105
+ """
106
+ body = {"from": from_addr, "to": to, "subject": subject, "text": text}
107
+ if html:
108
+ body["html"] = html
109
+ if reply_to:
110
+ body["replyTo"] = reply_to
111
+ return _request("POST", "/api/send", body)
112
+
113
+
114
+ def delete_inbox(address: str) -> Dict:
115
+ """
116
+ Delete an inbox immediately.
117
+
118
+ Args:
119
+ address: The inbox email address
120
+
121
+ Returns:
122
+ Dict with 'success': True
123
+ """
124
+ return _request("DELETE", f"/api/inbox/{urllib.parse.quote(address)}")
125
+
126
+
127
+ def get_sent_emails(address: str) -> Dict:
128
+ """
129
+ Get sent emails (outbox) for an inbox.
130
+
131
+ Args:
132
+ address: The inbox email address
133
+
134
+ Returns:
135
+ Dict with 'emails' list
136
+ """
137
+ return _request("GET", f"/api/inbox/{urllib.parse.quote(address)}/sent")
138
+
139
+
140
+ def check_username(username: str, domain: str = "nenzmail.xyz") -> Dict:
141
+ """
142
+ Check if a custom username is available.
143
+
144
+ Args:
145
+ username: Desired username (3-30 chars)
146
+ domain: Domain to check
147
+
148
+ Returns:
149
+ Dict with 'available', 'email', 'error'
150
+ """
151
+ qs = f"?domain={urllib.parse.quote(domain)}" if domain else ""
152
+ return _request("GET", f"/api/inbox/check/{urllib.parse.quote(username)}{qs}")
153
+
154
+
155
+ def get_domains() -> Dict:
156
+ """
157
+ Get available domains.
158
+
159
+ Returns:
160
+ Dict with 'domains' list and 'default' domain
161
+ """
162
+ return _request("GET", "/api/domains")
@@ -0,0 +1,38 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "nenzmail"
7
+ version = "1.0.0"
8
+ description = "Free disposable email API client — create temp inboxes, receive emails, and send emails. No auth required."
9
+ readme = "README.md"
10
+ license = { text = "MIT" }
11
+ authors = [{ name = "NenzMail" }]
12
+ keywords = [
13
+ "temp-mail", "tempmail", "disposable-email", "throwaway-email",
14
+ "burner-email", "anonymous-email", "email-api", "send-email",
15
+ "nenzmail", "temporary-email"
16
+ ]
17
+ requires-python = ">=3.8"
18
+ dependencies = []
19
+ classifiers = [
20
+ "Development Status :: 5 - Production/Stable",
21
+ "Intended Audience :: Developers",
22
+ "License :: OSI Approved :: MIT License",
23
+ "Programming Language :: Python :: 3",
24
+ "Programming Language :: Python :: 3.8",
25
+ "Programming Language :: Python :: 3.9",
26
+ "Programming Language :: Python :: 3.10",
27
+ "Programming Language :: Python :: 3.11",
28
+ "Programming Language :: Python :: 3.12",
29
+ "Topic :: Communications :: Email",
30
+ ]
31
+
32
+ [project.urls]
33
+ Homepage = "https://nenzmail.xyz"
34
+ Repository = "https://github.com/AyuTriphasari/nenzmail"
35
+ "Bug Tracker" = "https://github.com/AyuTriphasari/nenzmail/issues"
36
+
37
+ [tool.setuptools]
38
+ py-modules = ["nenzmail"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+