I am developing a node.js app. In my app, I need to send blast emails and SMS to users satisfying a particular criteria. I use Gmail SMTP for emails and a third party vendor for SMS. I'm assuming firing the API's for email and sms services in a loop is dangerous. What's the right way do it?
Email and SMS queuing in NodeJS
2.8k Views Asked by Jaseem Abbas At
2
There are 2 best solutions below
2
Kishan
On
You can use kue npm library for creating queue of your email or sms tasks it runs parallels. https://medium.com/@techsuneel99/how-to-send-50000-emails-at-once-in-queue-node-js-b633ef9b3b30
Related Questions in NODE.JS
- How to solve CERT_UNTRUSTED error in nodemailer
- Run a loop over a callback, node js
- Implementing prerender.io middleware in sails.js
- Token based authorization in nodejs/ExpressJs and Angular(Single Page Application)
- formatting path string in javascript
- One to One screensharing using WEBRTC
- Create polygon from grid (for collisions)
- Strange npm behavior when installing packages like grunt
- Convert JSON.gz to JSON in node js
- "Your npm version is outdated." but it's not. While install yo
- Why put methods on the prototype of a class instead of declaring them in the constructor?
- Node JS Async Response
- mongoose get property from nested schema after `group`
- Cannot Receive Incoming call on Twilio android Client
- How can I change a specific line in a file with node js?
Related Questions in EMAIL
- how to send email from localhost using codeigniter?
- PowerShell EWS Save as for e-mails
- I want to develop an automated email application in asp.net with c#
- Not able to send email in java using SMTP,its blocked by firewall in my office.Is there any other method by which we can send mail?
- Postfix - cannot connect to server to receive email
- PHPMailer send mail with array ( $_POST['email'] )
- Could Not Instantiate Mail Function - PHPMailer - With Attachments - Only Google Chrome
- encrypted email with entrust certificate is not opening with MS Outlook
- Disconnect Client connected to cgi application
- send a message using freemarker
- Using advanced ccs icons in email signatures
- How can I fetch emails on Android?
- Issue with email form and php script
- HTML Control Form with PHP - Errors
- javax.mail.getValidSentAddresses()
Related Questions in SMTP
- I want to develop an automated email application in asp.net with c#
- Sending emails from a (distributable) desktop application
- How to determine the smtp server save send mails or not?
- add smtp to php mail function using phpmailer
- Camel route, unparsed date
- Why does this python script work on Ubuntu but not Raspbian?
- Getting Null Pointer Exception while sending mail in JAVA
- Spring Integration: SMTP server
- Django & Amazon SES SMTP. Cannot send email
- logging.handlers.SMTPHandler raises smtplib.SMTPAuthenticationError
- to send email with different 'from' email address using gmail smtp server in django
- how dynamically signin to a pop3 email is possible?
- Amazon Simple Email Service (SES) - Should I use SMTP Interface or SES API?
- Sendemail on Linux Debian Wheezy gives errors on gmail and gmx accounts
- Send-MailMessage : The SMTP server requires a secure connection... The server response was: 5.5.1 Authentication Required.
Related Questions in SMS-GATEWAY
- Twilio Receiving SMS codeigniter
- How to send SMS to mobile phone from java program- Using free APIs or WebServices
- xml_data to pass PHP variables
- Email and SMS queuing in NodeJS
- NoSuchPortException in smslib
- Send SMS to multiple numbers using PHP?
- SMSC is having multiple connections with client But , Client has one connection with SMSC
- SMS Gateway Design Fast2SMS
- Unable to receive call on VoIP number using GoIP 4
- Bad Request while sending SMS from php
- How to send an sms to a phone number using php- Codeigniter?
- Database structure is from newer Gammu version
- I can't send SMS on indian numbers from my Twilio account
- Cannot sending sms with gammu
- Permission denied for relation table outbox
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
The time spent is obviously proportional to N, being N the size of your set. As much users you have, longer it takes. Keep in mind that requests over the network are not blocking in any case.
Anyway, unless it risks N to be thousands or millions of items, you can do it in a loop and attach a proper callback to handle responses/errors.
Otherwise, you can send an email/sms and schedule the same operation for the next element using
nextTick(see nodejs documentation for further details). This way you'll spread all the activities over several iterations of the event loop.