GithubHelp home page GithubHelp logo

kumarabhirup / bulk-mail-cli Goto Github PK

View Code? Open in Web Editor NEW
118.0 11.0 22.0 353 KB

Do quick, hassle-free email marketing with this small but very powerful tool! ๐Ÿ”ฅ

Home Page: https://bulkmail.now.sh

License: GNU General Public License v3.0

JavaScript 0.37% TypeScript 99.63%
mailer mailchimp cli bulk-email javascript nodejs nodemailer emailjs terminal npm-package

bulk-mail-cli's Introduction

bulk-mail-cli's People

Contributors

kumarabhirup avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bulk-mail-cli's Issues

Cannot read property 'selectedText' of undefined

Briefly describe the bug
Screenshot 2019-05-26 at 6 34 36 PM


What should we do to reproduce this bug?
Steps to reproduce the behavior:

  1. Install bulk-mail-cli on an Amazon ec2 server
  2. Run bulkmail mail

Environment (please complete the following information):

  • OS: Amazon ec2 Linux Server (sshed through MacOS Mojave)

  • bulk-mail-cli version: v1.0.1

  • Also try running uname -a and paste the outcome below.

Linux ip-172-31-41-114.us-east-2.compute.internal 4.14.114-105.126.amzn2.x86_64 #1 SMP Tue May 7 02:26:40 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Additional context
Needs a fix.

UnhandledPromiseRejectionWarning: ERROR

Run bulkmail config --auth and enter wrong credentials to reproduce the following errors at commit 1f57cac.

(node:5174) UnhandledPromiseRejectionWarning: ERROR
(node:5174) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:5174) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Good luck debugging! ๐Ÿ”ข

JSON file goes wild: Change settings two times to see a new bracket at end of settings.json file

Just run this once:

setSetting("username", "Kumar Abhirup")
setSetting("username", "new Kumar Abhirup")

You will see your .config/settings.json JSON file go wild:

{"lang":"cn","username":"Kumar Abhirup"} // Before
{"lang":"cn","username":"new Kumar Abhirup"}} // After

See how that extra bracket breaks everything.

If you made your settings variable in BulkMailCli_settings from var to const, more absurd things are seen. Just like this:

{"lang":"cn","username":"new Kumar Abhirup"}"7890} // WTF???

This needs to be fixed somehow in PR #2

Make Ctrl+C work for every processes

Everytime an input process starts, it simply doesn't cancel by Ctrl+C. Thus, leading to frustration and to completely quit the terminal and start from scratch. Urgent!

Invalid credentials message when displayed when no Internet in use

Briefly describe the bug
Instead of showing a message of Lost connection, it says Invalid credentials when machine is NOT CONNECTED TO THE INTERNET.


What should we do to reproduce this bug?
Steps to reproduce the behavior:

  1. Shut your internet
  2. Put valid credentials in auth an session.
  3. See that wild error

Expected behavior
An error, namely Lost connection should have appeared.


Environment (please complete the following information):

  • OS: MacOS Mojave

  • OS version: 18.0.0

  • bulk-mail-cli version: v0.0.5

  • Also try running uname -a and paste the outcome below.

Darwin Kumar 18.0.0 Darwin Kernel Version 18.0.0: Wed Aug 22 20:13:40 PDT 2018; root:xnu-4903.201.
2~1/RELEASE_X86_64 x86_64

Additional context
CATCH THE ERROR YOU GET DYNAMICALLY.

`settings.json` can only be found at the root of bulk-mail-cli repo

If I ran bulkmail in a folder which is not bulk-mail-cli, i.e Desktop or Documents,

I see this error:

(node:1330) UnhandledPromiseRejectionWarning: Error: Cannot find module '/Users/iqubex/Desktop/.config/settings.json'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
    at Function.Module._load (internal/modules/cjs/loader.js:507:25)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at new BulkMailCli_settings (/Users/iqubex/Sites/bulk-mail-cli/src/dist/src/utils/settings.util.js:45:24)
    at _callee$ (/Users/iqubex/Sites/bulk-mail-cli/src/dist/src/utils/settings.util.js:97:44)
    at tryCatch (/Users/iqubex/Sites/bulk-mail-cli/node_modules/regenerator-runtime/runtime.js:62:40)
    at Generator.invoke [as _invoke] (/Users/iqubex/Sites/bulk-mail-cli/node_modules/regenerator-runtime/runtime.js:296:22)
    at Generator.prototype.(anonymous function) [as next] (/Users/iqubex/Sites/bulk-mail-cli/node_modules/regenerator-runtime/runtime.js:114:21)
    at step (/Users/iqubex/Sites/bulk-mail-cli/src/dist/src/utils/settings.util.js:17:191)
(node:1330) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:1330) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

It is probably because of the use of process.cwd() method for assigning the SETTINGS_PATH variable.

THIS IS SO SILLY BUG!!

bulk-mail-cli v2

After many requests by 10+ people about feature requests that'll make bulk-mail-cli a very useful and trusted application for mail delivery, I am considering about compiling all the advancements together and call it "bulk-mail-cli v2".

I am glad to introduce @aorelhas and @sanfernoronha as two new maintainers of this project. We three will take the project forward for building the "bulk-mail-cli v2".

Here are the features you'll see in bulk-mail-cli v2 ๐Ÿ’ช

  • Major change: bulk-mail-cli v2 will be less GUI based. That is, bulk-mail-cli v2 will work on configuration files so that automation could be done on cloud servers.
  • Feature: Mail Intervals
  • Feature: Randomize several words in Subject and Mail body by using ${hi|hello} syntax.
  • Feature: Allow users to attach files up to 25MB.

Possible features I thinking about including, but need some discussion before making those features.

  • A system where --continue command-line flag would continue sending mails from where it left.
  • Feature: --num-start-from and --num-end-with flags to choose from the CSV about how many people to mail.
  • Feature: (configurable) pause between transmission of two mails random, by supplying two parameters - min pause time and max pause time. E.g. 10 secs and 20 secs, and the real-time paused is a randomly chosen value between 10 and 20 secs.

Thanks to C. Conrad for the valuable feedback.

Rest all the features from v1 will be implemented in v2. We hope to create it soon. ๐Ÿ”ฅ

Deprecation warning

(node:42480) [DEP0128] DeprecationWarning: Invalid 'main' field in '/usr/local/lib/node_modules/bulk-mail-cli/node_modules/simplesmtp/package.json' of './lib/smtp'. Please either fix that or report it to the module author
(Use node --trace-deprecation ... to show where the warning was created)

Mails from custom services hit spam box!

Briefly describe the bug
When a mail is sent using Gmail service, mail hits inbox.
But when custom mails [email protected] are used, mails often hit spam box.
Mails might go in spam if too many mails are sent at once due to highspeed internet.


Expected behavior
All non-promotional mails should reach inbox.


Environment (please complete the following information):

  • OS: MacOS Mojave

  • OS version: 18.0.0

  • bulk-mail-cli version: v0.0.5

  • Also try running uname -a and paste the outcome below.

Darwin Kumar 18.0.0 Darwin Kernel Version 18.0.0: Wed Aug 22 20:13:40 PDT 2018; root:xnu-4903.201.
2~1/RELEASE_X86_64 x86_64

Additional context
You may solve this problem by creating a couple-seconds interval time for each mail to send.

feat: Scheduler

I'd like my mails to only be sent at certain hours for example: between 9 AM and 5 PM.

Non-Compatible with SSE from Amazon (AWS) Error below

{
"credentials": {
"email": "[email protected]",
"host": "email-smtp.us-west-1.amazonaws.com", // depends on what service you are using
"username":"A*****************************",
"password":"XXXXXXXXXXXXXXXXXXXXXXXXX",
"port": 587, // 465 / 587
"secureConnection": true // boolean: true | false
},
"mail": {
"subject": "Good morning {{fname}} {{lname}}! Just wanted to say hi!",
"from": "INGLES UNIVERSAL [email protected]", // keep the format
"to": "leads.csv", // path to csv (relative to where this file is)
"theme": "themes/Newsletter/theme.html", // path to csv (relative to where this file is)
"attachments": [
// relative path to the attachment files. Keep this array empty if no attachments.
// SEE THE EXAMPLES BELOW.
{
"filename": "{{fname}}'s Demo CSV.csv", // You may use string patterns in fileName
"path": "leads.csv" // You may use string patterns in path too!
},
{
"filename": "{{fname}} {{lname}}'s Resume.pdf",
"path": "https://raw.githubusercontent.com/KumarAbhirup/resume/master/Kumar%20Abhirup%20CV.pdf"
}
]
},
"configuration": {
"mailInterval": "*/10 * * * * *", // Cron Expression: To mail every 10 seconds [ >= 10 seconds recommended ]
"verbose": true // boolean: True if you want a log of the live process in the terminal.
}
}

ERROR SHOWN: Attempts to connect your email account has failed.

sending from multiple smtp servers

hello, i will like to know if this project has the ability to send from multiple smtp servers

for example, if i add 1000 emails and i want to add multiple smtp so each smtp should send 90 email each.
thanks

feat: Rate limit

Some ISP prevents you from sending so many mails in a given window of time.

I think it would be good for those to have a way to limit the mail per hour or something.

Error after installing bulk-mail-cli on Linux Mint 20.3 Cinnamon

Hello amazing people! So I've just installed bulk-mail-cli using "npm i -g bulk-mail-cli" and the process completed successfully but then I saw this message at the bottom of the terminal window. Has anyone seen the same? should i worry about it? and how do I fix this? thanks a ton!

The Error Message:

(node:140396) [DEP0128] DeprecationWarning: Invalid 'main' field in '/home/shangwe/.nvm/versions/node/v17.6.0/lib/node_modules/bulk-mail-cli/node_modules/simplesmtp/package.json' of './lib/smtp'. Please either fix that or report it to the module author
(Use node --trace-deprecation ... to show where the warning was created)

When I use "node --trace-deprecation ...` to trace the warning. I get....

shangwe@shangwe-Inspiron-3542:~$ node --trace-deprecation
Welcome to Node.js v17.6.0.
Type ".help" for more information.

BulkMailCli_settings module not found

Screenshots
bug1
bug2


Environment (please complete the following information):

  • OS: Linux Kali 3
  • bulk-mail-cli version: Unknown
  • Node version: v8.11.2

Additional context
The information about this bug was given by a user on Twitter.

feat: Front-end

It'd be great if non-IT users could have some kind of back office to send their mails:

  • A button to import a CSV that contains a batch of mails
  • An editor where the mails would go and could easily be edited
  • An editor where the mail template would go
  • Some settings button to set up CRON etc.
  • Notifications

If you set up some kind of web socket that would be pretty easy for the front-end to follow ?

GDPR and Privacy

Hello!
thank you for the interesting project!

Are the Privacy and the GDPR rules mainteined in the command line process?

thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.