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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | c23886bb2084eb208a93bc7892862a7e76ea0ac7f8c1babd60e4192f816d1242 |
|
MD5 | 6517a1518629f63b569cb1732cb18d69 |
|
BLAKE2b-256 | 47f1e9d68a5b20058e0bda530620c693709499f9a425bb95f5c42eed2ccceefd |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa7e03ffb207d6fdeabac1343877045adcbd5e7ede0db95b84fb450094f3a773 |
|
MD5 | dccf8c383f53ccaf3021a6ea332f7821 |
|
BLAKE2b-256 | e857398e921e52ec444ec3a6a5f22a1b4deda47b3829696ffa3608a9ca0c2686 |