Skip to content

Commit 05da85f

Browse files
authored
🎉 Launch the MVP 🔥 (#17)
LAUNCH!
1 parent 4efaf12 commit 05da85f

40 files changed

+2465
-4
lines changed

.babelrc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"presets": ["env"]
3+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
name: "\U0001F41B I found a BUG!!!"
3+
about: Help us fix a bug to improve bulk-mail-cli.
4+
5+
---
6+
7+
**Briefly describe the bug**
8+
A clear and concise description of what the bug is.
9+
10+
---
11+
12+
**What should we do to reproduce this bug?**
13+
Steps to reproduce the behavior:
14+
1. Go to '...'
15+
2. Click on '....'
16+
3. Scroll down to '....'
17+
4. See error
18+
19+
---
20+
21+
**Expected behavior**
22+
A clear and concise description of what you expected to happen.
23+
24+
---
25+
26+
**Screenshots**
27+
If applicable, add screenshots to help explain your problem.
28+
29+
---
30+
31+
**Environment (please complete the following information):**
32+
- **OS:** [e.g. MacOS]
33+
- **OS version:** [e.g. 18.0.0]
34+
- **bulk-mail-cli version:** run `bulkmail -v`
35+
36+
- Also try running `uname -a` and paste the outcome below.
37+
```
38+
Paste here.
39+
```
40+
41+
---
42+
43+
**Additional context**
44+
Add any other context about the problem here.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
name: "\U0001F4AC Question"
3+
about: Need help with bulk-mail-cli? We're here!
4+
5+
---
6+
7+
# Stay calm and just ask!
8+
**Give detailed information of what your environment is, what version do you use, etc...** while asking questions.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
name: "\U0001F5E3 Start a Discussion"
3+
about: Dicuss shortcomings and enhancements for bulk-mail-cli.
4+
5+
---
6+
7+
Type in your opinion about any bulk-mail-cli stuffs.

.gitignore

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@ logs
44
npm-debug.log*
55
yarn-debug.log*
66
yarn-error.log*
7+
.sideview
8+
9+
# Extras
10+
dist*
11+
package-lock.json*
12+
*.lock
13+
junkies*
714

815
# Runtime data
916
pids
@@ -33,7 +40,7 @@ bower_components
3340
build/Release
3441

3542
# Dependency directories
36-
node_modules/
43+
node_modules*
3744
jspm_packages/
3845

3946
# TypeScript v1 declaration files

.npmignore

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Extras
2+
junkies*
3+
.github*
4+
.gitignore*
5+
.babelrc*
6+
.sideview
7+
.vscode
8+
9+
# FOR NPM PACKAGE
10+
src/*
11+
!src/dist/
12+
13+
# node_modules
14+
node_modules/*
15+
!node_modules/bulkmailcli_*/

.vscode/settings.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"workbench.colorCustomizations": {
3+
// "titleBar.activeBackground": "#ffffff",
4+
// "titleBar.activeForeground":"#000",
5+
// "titleBar.border": "#0084ffcb"
6+
}
7+
}

README.md

Lines changed: 210 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,211 @@
1-
> **This project is under development. To start contributing to it, see the [Development](https://github.com/KumarAbhirup/bulk-mail-cli/tree/development) branch.**
1+
<div align="center">
22

3-
# bulk-mail-cli
4-
Send bulk non-spammy emails right from your terminal!
3+
<br />
4+
5+
<img width="650" src="https://lh3.googleusercontent.com/VsKPqXDv-xwuXa0Lk9yJkyjf3ors01XQRWzb0ga1FcQ30Cxwbwn9iUWPP6jtLxJtOmF75OlCShKI0Jk2cxg4opyr3tk3M4P0DFXXmhVy2kw9NvwWIxtTPSMQnvGK2t3Ij0F1UNBgDy0BY0Xn0egLqcshwdMHN7dSiB_RNt2qSB_d1v3rlU6GwxRfEZ1Kb5E3z_vIgXP43MI3TaeIkRc30Dn3mY9-TcaCuQIxVzdUj2ThCZ--Rxad4-rGG9gGWLv4JqQ3HeKPKFswrWgMrDTywFU9IW7Qn_scus3S8W3unCHH3PkuW7LgeUe14YaYzfrxDfhz-6jOp2ik3z4d-maNsIHz2rxqNBNZ2gqpg_nRXgEt19sUQjeEQbip7V5ZazRPD6ufc5TqzUKIHO9xmIVF1WGY_V2u7f98ufxRVl4PLxi-As7JF5kWC5PIHP0GLByHY58rgfEuoNyrPdmy6pe9kuQ-WTJzlGauIFxWuY5wZercjh3TJ-C1cX_VIorR9qb5-TC0c0zKFSmNZbUf8nh0WoR0LBuleSxEimtLgvCedziIuwIhiR4K9XDzL3zjB38Q03AiS1cTti2zafSABT4qpJhaKDAwSVFlRnAltS0Pn4FTQTD7aD7MT5FtgNz7E3IahWMZCgWNDv71KXc3R0Q2Ki3Awy8AUHltPwMBiscjU-3x2vHgMQVIsnymm0suFqFn-AUAu_PfYoh9y_8VIX8ZpfKYuFSD3yiwqC8Y=w1280-h305-no" alt="bulk-mail-cli by Kumar Abhirup">
6+
7+
[![Type](https://img.shields.io/badge/type-CLI-yellow.svg?style=flat-square)](https://www.npmjs.com/package/bulk-mail-cli)
8+
[![stage](https://img.shields.io/badge/stage-Launched%20%F0%9F%94%A5-000000.svg?style=flat-square)](https://github.com/KumarAbhirup/bulk-mail-cli/tree/development)
9+
[![npm](https://img.shields.io/badge/npm-bulk--mail--cli-CB3837.svg?style=flat-square)](https://www.npmjs.com/package/bulk-mail-cli)
10+
[![Version](https://img.shields.io/badge/version-v1.0.0-green.svg?style=flat-square)](https://www.npmjs.com/package/bulk-mail-cli)
11+
[![Prefers](https://img.shields.io/badge/prefers-Global%20Installation-blue.svg?style=flat-square)](https://www.npmjs.com/package/bulk-mail-cli)
12+
[![Twitter](https://img.shields.io/twitter/follow/kumar_abhirup.svg?style=social&label=@kumar_abhirup)](https://twitter.com/kumar_abhirup/)
13+
<!-- [![GitHub stars](https://img.shields.io/github/stars/KumarAbhirup/bulk-mail-cli.svg?style=social&label=Stars)](https://github.com/KumarAbhirup/bulk-mail-cli) -->
14+
15+
</div>
16+
17+
<br /><br />
18+
19+
# 📦 `bulk-mail-cli`
20+
### **Do quick, hassle-free email marketing with this small but very powerful tool! 🔥**
21+
#### It sends automated, dynamic and beautifully designed HTML emails to your mailing list via your terminal! 😎
22+
23+
---
24+
25+
Ever felt a quick need to shoot a fabulous mail to your subscribers? Without any inconvenience of creating complex campaigns with MailChimp and MailGun? Just open your terminal, input the CSV and HTML file with dynamic text, and just shoot the mails with **bulk-mail-cli**!
26+
27+
<br /><br />
28+
29+
# 🦋 Introduction
30+
Following [YouTube video](https://youtu.be/QePfMnliSqc) is a tutorial of using `bulk-mail-cli` like a PRO!
31+
32+
[![Introduction to bulk-mail-cli](https://i.ibb.co/HghKJsr/Screenshot-2019-01-29-at-8-35-28-PM.jpg)](http://www.youtube.com/watch?v=QePfMnliSqc "Introduction to bulk-mail-cli")
33+
34+
<br /><br />
35+
36+
# 👌 Use it in just 3 steps!...
37+
38+
<div align="center">
39+
40+
<img align="center" width="100%" src="https://lh3.googleusercontent.com/QOwJMld-dL97r4oD8si7ol2KXcYB-KMOwwHGTcfEtl35RENLq7J6lHW3hIBfjG1D6X9ykr21Y7xWhbnL7EpPC6Gbcx127OrRIv9tSDPA9tJbNENtSbZhwPZAJ1faUnFcVaOG54bAhL0BjV5kH6PqTxHzpSWvYbejVf2nhD3LX7fw6dOvVUjLAgRvMEu1dN-PbPHfdz9sHTvSBUdCP-IwUlDLwJ4kdaqhJOaueL26qRqeoqFbjrKxstzcnnVd0p1mnmd5llJqoISEbi-KtQZMSCNpN42DNDlBj8Xh1e5dWAKHuDjV69_adX5-sUHV0eMRoOFWBBU-jiZ5BdoXWIWlPmCblwDWpnE3sOgoBU4zZIfzeziI2pmDGGLaPTrnTCcBc7UvHJBjFnF6b7rVqibO-jFiLjO9UKFW2LDKD0RwqUK_-YbOvabI9Doe6WbYFk1RoHMkVmeYkjKdk9HujaMAvpM3oeF-KnMO4BcaUrJnVBimnsMlVtkx_9GRty4p0pFb1C54ex2eYVEVGWk3jguK0YlJnowzn0nVyXyAmEGmSpQMRGUlODPSJoYzD9IMPhDR2hxByVoOvCY7JHjhiU7ZjONVqVThw1vxrfDb6vEmn95xuufhkKusSvFQZuOYlK5PYjoGFfmlt9Gu4vE55G4bRRAQc0bs59gh-S1qLY72imcJLm-m6JP9WervRSKJSuvjMpLvnDX3CulTIPBKklJhSCDJC8D4mltVN_W33A=w800-h720-no" alt="bulk-mail-cli upcoming features">
41+
42+
</div>
43+
44+
<br />
45+
46+
> **Note:** This project is yet an MVP (Minimum Viable Product). Right now, it doesn't work on Windows machines. Working to make it cross-platform. **SORRY TO KEEP YOU WAITING!**
47+
48+
<br /><br />
49+
50+
# 💃 Documentation
51+
52+
## Install `bulk-mail-cli`
53+
54+
Assuming that you have `node` and `npm` installed... Run the following in your terminal.
55+
```
56+
$ npm i -g --only=prod bulk-mail-cli
57+
```
58+
59+
<br />
60+
61+
## Get help
62+
Just run `bulkmail` in your terminal to see what commands and flags you can use to do awesome things.
63+
64+
<br />
65+
66+
## Generate demo Mail Templates and a CSV file
67+
To generate demo files, paste the following command.
68+
```
69+
$ bulkmail demo
70+
```
71+
72+
<br />
73+
74+
## Writing data in CSV
75+
76+
### List emails the right way!
77+
If you use **WordPress**, you may just import the CSV file of users by using [this plugin](https://wordpress.org/plugins/users-customers-import-export-for-wp-woocommerce/).
78+
- When you use that plugin, just change the `user-email` column name of the CSV file to just `email` so that to ensure no errors.
79+
80+
If you are feeding data from any other source or by manual means, **please for the GOD's SAKE ensure that you list emails only under the `email` column.**
81+
82+
If the CSV file has emails fed in some other coulumn name (such as `user-email`, `allEmails`, etc)... `bulk-mail-cli` would simply throw an error to **not work at all.**
83+
84+
### Dynamic data 🎉
85+
**This feature was introduced in v0.9.0**
86+
87+
You may add any other column featuring custom data. Namely `fname`, `lname`, `address`, etc... to use in the Subject and Body of your campaign mail.
88+
89+
<br />
90+
91+
## Making custom dynamic HTML Mail Templates
92+
93+
### Grab the sample templates
94+
- For most use cases, the `bulkmail demo` served HTML templates will do the work. But if they don't satisfy your needs, you may check for more designs online!
95+
- When using a `bulkmail demo` served HTML template, ensure that you edit and tailor the email template file according to your needs.
96+
97+
### Display custom CSV data (Dynamic) 🎉
98+
- Wanna display the `fname` field of the user you listed in CSV file? Just add `({#fname#})` anywhere you want in the HTML template!
99+
- You may add any fieldname that exists in the CSV file, or else the dynamic text won't render.
100+
101+
### Correct use of Dynamic Text
102+
&nbsp; &nbsp; **`({# customfield#})`**<br />
103+
&nbsp; &nbsp; **`({#customfield #})`**<br />
104+
&nbsp; &nbsp; **`({# customfield #})`**<br />
105+
&nbsp; &nbsp; **`({customfield})`**<br />
106+
&nbsp; &nbsp; **`({#customfield#})`**<br />
107+
108+
<br />
109+
110+
## Shoot the mails after you curate data
111+
**If you are to send mails using Gmail,** just turn on the `less secure apps` option [here](https://myaccount.google.com/lesssecureapps)...
112+
113+
Done tweaking with Templates and CSV file? Done doing those configurations? It is time to send the mails!
114+
```
115+
$ bulkmail mail
116+
```
117+
Wait, `bulkmail mail` is not all. The CLI will then ask you for **Service Credentials** that you need to fill in order to complete the process. It will also ask for the path of the HTML email template and the CSV file.
118+
119+
Somewhat similar to what you see below:
120+
```
121+
$ bulkmail mail
122+
123+
Service credentials...
124+
service: gmail/yahoo/custom
125+
126+
password: •••••••••••••••••
127+
128+
Connection successful! 😀
129+
130+
Path to CSV: <you can use bash's auto navigating feature>
131+
Path to Mail Template: <you can use bash's auto navigating feature>
132+
133+
From text: John Doe <[email protected]>
134+
Subject: Hi ({#fname#})! Here's your mail.
135+
136+
Mass Mailer started 👻
137+
[-------------------------------------------------->] 100%
138+
139+
Mails sent to everyone successfully in 9.43 seconds.
140+
141+
Thank you for using bulk-mail-cli 😀
142+
```
143+
**Credentials are asked only for the first time.**
144+
145+
<br />
146+
147+
## Change your Service Credentials
148+
Just type in the given command and see `bulk-mail-cli` automatically asking for the credentials again!
149+
```
150+
$ bulkmail config --auth
151+
```
152+
153+
<br />
154+
155+
## Upcoming
156+
- Time Interval after every mail.
157+
- Internationalization. Will soon be available in 4-5 major languages.
158+
- UX and Performance improvement.
159+
160+
**LET US DEVELOP THIS PROJECT TOGETHER. WANNA CONTRIBUTE?**
161+
162+
<br /><br />
163+
164+
# 👮 Wanna contribute?
165+
166+
<div align="center">
167+
168+
<img align="center" width="100%" src="https://firststatesuper.com.au/content/dam/ftc/image/member/people-coins-piggy-bank_art_mod.jpg" alt="bulk-mail-cli upcoming features">
169+
170+
</div>
171+
172+
<br />
173+
174+
## `Step 1` 🍴
175+
Fork this project.
176+
<br />
177+
<br />
178+
## `Step 2` 🔁
179+
Clone the forked project on your local machine.
180+
<br />
181+
<br />
182+
## `Step 3` 🗽
183+
Create a new branch in cloned project named `PR/{whatever}` and work there.
184+
<br />
185+
<br />
186+
## ️️️️️️`Step 4` ✏️
187+
Run `npm i` in the project directory.
188+
<br />
189+
<br />
190+
## `Step 5` 🎩
191+
Do the magic you wanted to.
192+
<br />
193+
<br />
194+
## `Step 6` ✏️
195+
Run `npm run build` to check if everything works good so far.
196+
<br />
197+
<br />
198+
## `Step 7` 🏹
199+
And if you are done, just shoot a Pull Request at `development` branch of `bulk-mail-cli`...
200+
<br />
201+
<br />
202+
## `The hurray kinda step` 😉 🎉
203+
Get your Pull Request merged...
204+
205+
<br /><br />
206+
207+
# 📝 License
208+
209+
**GPL © [Kumar Abhirup](https://www.twitter.com/kumar_abhirup)**
210+
<br />
211+
_Follow me 👋 **on Twitter**_[![Twitter](https://img.shields.io/twitter/follow/kumar_abhirup.svg?style=social&label=@kumar_abhirup)](https://twitter.com/kumar_abhirup/)

index.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
// This file is just used for exporting PROJECT_DIR variable.
2+
module.exports = {
3+
PROJECT_DIR : __dirname
4+
}

node_modules/BulkMailCli_settings/index.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)