Skip to main content

Command-line SMTP email sending tool in Python

Project description

MasterUpdate

littlemail

Littlemail is a straight-forward command-line SMTP email sending tool in Python, which sends one email per command. (If you send many emails, every sending will make a new connection with the smtp server.)

Installation

$ pip install littlemail

Usage

There is no way to reduce parameters provided in command-line, since that's the way of email. So, please refer to the inline help for options you need. Fortunately, many options have default value.

$ python -m littlemail -h  # inline help

Anyway, here is a minimal example and a few lines of explanation:

$ python -m littlemail -s test [-c hello] \
                -f 12345@qq.com \
                --to 54321@qq.com \
                --smtp smtp.qq.com [-p abcdefg]

-c means the email content, which is optional. That means you can send empty-content email. And this optional parameter enables the capability of littlemail to get content from pipe (input redirection), which might be easier for you to construct your message, such as:

$ python -m littlemail <...> < my_email_content.txt

-s represents subject, which is mandatory and cannot be empty.

-p stands for password, and it is optional. When it's missing, littlemail tries to get password from LITTLEMAIL_PASSWD environment variable.

When something goes wrong, try --debug.

API

There is an API you can invoke to send email in your code:

# import
from littlemail import send_email
# signature
def send_email(subject: str,
               *,
               text: str = '',
               contype: str = 'plain',
               alist: list[str] = [],
               to: list[str],
               cc: list[str] = [],
               bcc: list[str] = [],
               fromaddr: str,
               smtp: str,
               port: int = 587,
               timeout: int = 3,
               protocol: str = 'tls',
               passwd: str|None,
               debug: bool = False) -> None: ...

api_test.py is used as an example and testcase for you to try, have fun! ^___^

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

littlemail-0.33.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

littlemail-0.33-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file littlemail-0.33.tar.gz.

File metadata

  • Download URL: littlemail-0.33.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for littlemail-0.33.tar.gz
Algorithm Hash digest
SHA256 1cb4a87d7151aef13f03a520474d2fd5a58b1891b48ab569bbee0c3976c9ad39
MD5 e24e3ca9e626aaef0652570a276dd5b6
BLAKE2b-256 ea3f3644db517ae0c69fb9df5fd51dc42a808bcc0cc276cb408ac5d78afc2e0c

See more details on using hashes here.

File details

Details for the file littlemail-0.33-py3-none-any.whl.

File metadata

  • Download URL: littlemail-0.33-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for littlemail-0.33-py3-none-any.whl
Algorithm Hash digest
SHA256 b03bf00c2c14b7eb5ed8f882ab1fe7ba2a0952be3a687d6d85659efc8bd9cb0c
MD5 92ab105086878ba1c458275a975e989d
BLAKE2b-256 46b06f69722aec8563f60e465dad1942c174a42e84fc868afb3735fc5fdcee9e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page