Supported email providers in Ninjemail
mainNinjemail currently supports automated account creation for the following email providers:
- Gmail
- Outlook/Hotmail
- Yahoo
More providers are planned for future updates.
repository·main·Indexed 43 days ago
https://github.com/david96182/ninjemailA Python library for automating the creation of email accounts on Gmail, Outlook, Hotmail, and Yahoo. It features browser automation, proxy management, captcha solving via capsolver and nopecha, and SMS verification through services like getsmscode, smspool, and 5sim.
Ninjemail currently supports automated account creation for the following email providers:
More providers are planned for future updates.
To install Ninjemail, clone the repository and install the dependencies via pip:
git clone https://github.com/david96182/ninjemail.gitcd ninjemailpip install -r requirements.txtgit clone https://github.com/david96182/ninjemail.git
cd ninjemail
pip install -r requirements.txtNinjemail uses pytest for testing.
To run the full test suite:
pytestTo generate a code coverage report using pytest-cov:
pytest --covpytest
pytest --covTo perform phone verification during account creation, you must provide API credentials for an SMS service provider via the sms_keys argument when initializing the Ninjemail object.
Ninjemail supports the following SMS providers:
Requires a user and a token.
Requires a token.
Requires a token.
# Example: Using getsmscode.com
ninja = Ninjemail(sms_keys={"getsmscode": {"user": "YOUR_USERNAME", "token": "YOUR_TOKEN"}})
# Example: Using smspool.net
ninja = Ninjemail(sms_keys={"smspool": {"token": "YOUR_TOKEN"}})
# Example: Using 5sim
ninja = Ninjemail(sms_keys={"5sim": {"token": "YOUR_TOKEN"}})Call create_gmail_account to automate Gmail account creation.
Parameters:
username (str): Desired username.password (str): Desired password.first_name (str): Account holder's first name.last_name (str): Account holder's last name.birthdate (str): Format MM-DD-YYYY.use_proxy (bool): Whether to use a proxy.Returns: A tuple containing (email, password) of the created account.
email, password = ninja.create_gmail_account(
username="",
password="",
first_name="",
last_name="",
birthdate="",
use_proxy=True
)Import Ninjemail from the ninjemail module. You can initialize the class with several configuration options to handle browsers, captchas, SMS services, and proxies.
Parameters:
browser (str): The browser to use. Supported values: firefox (default), chrome, and undetected-chrome.captcha_keys (dict): API keys for captcha solvers. Supported services: capsolver, nopecha.sms_keys (dict): API keys for SMS services. Format: {"service_name": {"user": "USERNAME", "token": "TOKEN"}}. Supported services: getsmscode, smspool, 5sim.proxies (list[str]): A list of proxy strings in http://ip:port or http://username:password@ip:port format. Note: Authentication proxies are currently only supported for chrome and undetected-chrome.auto_proxy (bool): If True, Ninjemail will automatically retrieve and rotate free proxies.from ninjemail import Ninjemail
ninja = Ninjemail(
browser="firefox",
captcha_keys={"capsolver": "YOUR_API_KEY", "nopecha": "YOUR_API_KEY"},
sms_keys={"getsmscode": {"user": "USERNAME", "token": "TOKEN"}},
proxies=['http://ip:port', 'http://ip2:port2'],
auto_proxy=True
)Call create_outlook_account to automate account creation. If parameters are omitted, Ninjemail generates random values.
Parameters:
username (str): Desired username.password (str): Desired password.first_name (str): Account holder's first name.last_name (str): Account holder's last name.country (str): Country of residence.birthdate (str): Format MM-DD-YYYY.hotmail (bool): If True, creates a Hotmail account. Defaults to False (Outlook).use_proxy (bool): Whether to use a proxy. Defaults to True.Returns: A tuple containing (email, password) of the created account.
email, password = ninja.create_outlook_account(
username="",
password="",
first_name="",
last_name="",
country="",
birthdate="",
hotmail=False,
use_proxy=True
)Call create_yahoo_account to automate Yahoo account creation.
Parameters:
username (str): Desired username.password (str): Desired password.first_name (str): Account holder's first name.last_name (str): Account holder's last name.birthdate (str): Format MM-DD-YYYY.use_proxy (bool): Whether to use a proxy.Returns: A tuple containing (email, password) of the created account.
email, password = ninja.create_yahoo_account(
username="",
password="",
first_name="",
last_name="",
birthdate="",
use_proxy=True
)Ninjemail logs activities to a file named ninjemail.log located in the logs directory.
Log format: [timestamp] [log_level]: log_message.
Supported log levels:
DEBUGINFOWARNINGERRORCRITICAL