Skip to main content

A postman helps you to send cold mails

Project description

cold-postman

cold_postman is a marketing tool to help users write cold mails in markdown and send them via a manageable csv file.

Installation

pip install cold_postman

Initialize the config

python -m cold_postman init db 
python -m cold_postman init config 

About config.yaml

batch_num: 10 # mails sent per batch
password: ''  # password 
smtp_port: 587 # port
smtp_server: smtp.example.com # smtp server
user: 'example@example.com' # user mail
from: 'Mr.Example' 
unsubscribe:
  link: mailto:example@example.com # The link for List-Unsubscibe.
  subject: Unsubscribe # The subject if is a mailto link.
  message: I'd like to unsubscribe. # Default message of the mail.
alter_name: '' # The alternative name if blank in first_name + last_name. 
sending_limits: # [Optional], Volume of sending limits. Please refer to the smtp provider. 
  warning: 100  # [Optional], Warn on every N MB has sent. Default=100.
  pause: 280 # [Optional], paused job on N MB has sent. Defaul=290. 

About control csv

Control csv is the receiver list. Columns decribed as below:

  • first_name: First name of the receiver.
  • last_name: Last name of the receiver.
  • email: Receiver's mail address.
  • last_sent: Timestamp of last contact.
  • enabled: (int) [1, 0], 1=enabled. 0=disabled, which will be skiped while executing.

Send Mail

Command to start the sending task:

# usage: __main__.py [-h] [-c CONFIG] [-d CRMDB] -m MESSAGE -t TITLE -s SIGNATURE [-a ATTACH]

# options:
#   -h, --help            show this help message and exit
#   -c CONFIG, --config CONFIG
#                         (Filepath) The file path of the config.
#   -d CRMDB, --crmdb CRMDB
#                         (Filepath) The file path of the crm DB.
#   -m MESSAGE, --message MESSAGE
#                         (Filepath) REQUIRED. The email content in markdown.
#   -t TITLE, --title TITLE
#                         (str) REQUIRED. The email title
#   -s SIGNATURE, --signature SIGNATURE
#                         (Filepath) REQUIRED. The signature in markdown
#   -a ATTACH, --attach ATTACH
#                         (Filepath) The attachment. 
#   -u UNSUBSCRIBE, --unsubscribe UNSUBSCRIBE
#                         (Bool) [True, False] Enable a unsubscribe link. Default=True
#   -i INTERVAL, --interval INTERVAL
#                         (Int) Interval (secs) between batchs. Default=10
python -m cold_postman -m message.md -t 'Subject of the Mail' -s signature.md -a attachment.zip

Prepare a markdown content

The markdown content is converted to rtf via markdown2, which supports all the stardard syntax.

The image wrapped in inline has to be written as following syntax.

![image_cid](file_path.png)

The alternative description will be applied as a cid in rtf, so please name it carefully and DO NOT be duplicated. To prevent from missing image, an absolute file path is recommended for attached image.

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

cold_postman-0.1.9.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

cold_postman-0.1.9-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file cold_postman-0.1.9.tar.gz.

File metadata

  • Download URL: cold_postman-0.1.9.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.13 Darwin/22.6.0

File hashes

Hashes for cold_postman-0.1.9.tar.gz
Algorithm Hash digest
SHA256 c23886bb2084eb208a93bc7892862a7e76ea0ac7f8c1babd60e4192f816d1242
MD5 6517a1518629f63b569cb1732cb18d69
BLAKE2b-256 47f1e9d68a5b20058e0bda530620c693709499f9a425bb95f5c42eed2ccceefd

See more details on using hashes here.

File details

Details for the file cold_postman-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: cold_postman-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 10.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.13 Darwin/22.6.0

File hashes

Hashes for cold_postman-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 fa7e03ffb207d6fdeabac1343877045adcbd5e7ede0db95b84fb450094f3a773
MD5 dccf8c383f53ccaf3021a6ea332f7821
BLAKE2b-256 e857398e921e52ec444ec3a6a5f22a1b4deda47b3829696ffa3608a9ca0c2686

See more details on using hashes here.

Supported by

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