Node.js - SEND Emails Using Nodemailer | Gmail | OAuth2

  Рет қаралды 19,364

Melvin Adekanye

Melvin Adekanye

Күн бұрын

Hey guys and gurls. Here's how to send emails using Node.js, nodemailer and Google's Gmail API along with OAuth2 (no need for username or password). This is for sure a banger tutorial. Super easy to follow and of course a must-know for any web application.
Download Node.Js
nodejs.org/en/
NodeMailer
nodemailer.com...
Authorized Redirect URL
developers.goo...
Google Cloud
cloud.google.com/
Source Code
rhymbil.netlif...
Until next time
RhymBil Out

Пікірлер: 123
@pascal12355
@pascal12355 2 жыл бұрын
5:06 Shouldn't you need to check the "Auto-refresh the token before it expires." option ?
@ShivShankar000
@ShivShankar000 Жыл бұрын
a small advice to friends. at 4.50 it was not working as shown in video. so i added a new redirect uri same uri but remove last / sign. And Thanks Sir. It helped
@MelvinAdekanye
@MelvinAdekanye Жыл бұрын
Thanks for passing along the advice!
@ozzyfromspace
@ozzyfromspace 3 жыл бұрын
Nah, bro. JoeMama's not awesome. YOU'RE AWESOME!! This legit just saved me a whole night of insane trial and error 🏆✨. And now I've gotta sub, I don't have a choice, it's not up to me, the gods have spoken 😂🙌🏽. Keep it up bro. Oh, and your chill but not corny onscreen personality is 💙🔥
@MelvinAdekanye
@MelvinAdekanye 3 жыл бұрын
Thanks Ozzy! Truly appreciate it.
@yuchenkuang
@yuchenkuang 8 ай бұрын
Your tutorials are really great! I'm in the process of implementing a ContactMe module on my profile but I've been stuck with this problem all day!
@MelvinAdekanye
@MelvinAdekanye 6 ай бұрын
Glad I could help!
@ElChanchoGanador
@ElChanchoGanador Жыл бұрын
Error: No refresh token or refresh handler callback is set.ERROR any help?
@ItzJanix
@ItzJanix 3 жыл бұрын
"let's Call Him Joe... Joe MAMA 🤣🤣"
@malksmogendavid4470
@malksmogendavid4470 3 жыл бұрын
that caught me off guard... hilarious
@puriajahanbani6636
@puriajahanbani6636 2 жыл бұрын
That was awesome! The `Joe mama` part made me laugh loudly.
@Marc1920x1080p
@Marc1920x1080p 10 ай бұрын
Dear Melvin, thank you for this great video. May i ask you a question? This setup seems to work only for developing. Since i have published the app as you suggested, i get this epic "invalid grant" error from production backend, whereas in development everything works fine. Do you have any idea, what to do? I would appreciate it very much. Cheers, Marc
@cdexzswzaqME
@cdexzswzaqME 6 ай бұрын
did you figure out how to solve this issue
@Marc1920x1080p
@Marc1920x1080p 6 ай бұрын
@@cdexzswzaqME no. Finally i have switched to Mandrill (Mailchimp) Service, which is very reliable for production and works like a charm. Cost about 40$ per month
@aarondz789
@aarondz789 2 жыл бұрын
Thanks!And, i got a error about option object: Error: Options "privateKey" and "user" are required for service account!
@raba650
@raba650 3 жыл бұрын
If the oath will be used for a contact form to send emails, wouldn’t a service account be more fit in this use case scenario?
@yashojha5033
@yashojha5033 2 жыл бұрын
stuck in same stuff.
@raba650
@raba650 2 жыл бұрын
@@yashojha5033 I just switched to emailjs. Nodemailer with Oauth2 didn’t work in production only development. Terrible.
@dhanushsriramula2888
@dhanushsriramula2888 4 ай бұрын
Bro, can we able to send email from user gmail using my website?
@juressic3881
@juressic3881 2 жыл бұрын
I've got 401 unauthorized, and then realized there was spaces in my CLIENT ID. THANKS, THIS TUT IS CRAZY
@MelvinAdekanye
@MelvinAdekanye 2 жыл бұрын
That's great! Glad you figured it out.
@bossgamer9411
@bossgamer9411 2 жыл бұрын
Hi RhymBil, super clear video. Just not sure why I'm getting 'Error: Can't create new access token for user'. I've tried changing my client id and secrets, new refresh tokens but nothing has worked. Any idea what might be wrong?
@MelvinAdekanye
@MelvinAdekanye 2 жыл бұрын
I appreciate it. This thread might help: stackoverflow.com/questions/45665349/trying-to-use-nodemailer-to-send-emails-using-gmail-and-am-receiving-the-error
@Elrawaa
@Elrawaa 3 жыл бұрын
Hi bro i enjoy watching your videos. I want to know if i can know : for example when some amazon product is posted ?
@MelvinAdekanye
@MelvinAdekanye 3 жыл бұрын
That's awesome to hear. Thank you. Ooo. Are you wanting to make a program that sends emails when an amazon product is posted/updated?
@NaveenKumar-os8dv
@NaveenKumar-os8dv 2 жыл бұрын
How can I make others send the mail?? Like someone is already logged in to my site, and they want to send mail from there, how can it be done?
@victovicto8172
@victovicto8172 Жыл бұрын
dude you helped me a lot! thank you so much
@MelvinAdekanye
@MelvinAdekanye Жыл бұрын
Happy to hear it!
@akrazzy9236
@akrazzy9236 2 жыл бұрын
You were so funny back in 2019 xd
@MelvinAdekanye
@MelvinAdekanye 2 жыл бұрын
Were?!? Hahaha. Thanks I appreciate it.
@hoangduytran3266
@hoangduytran3266 2 жыл бұрын
Authorization Error Error 400: invalid_scope Some requested scopes were invalid. Do you help me?
@cdexzswzaqME
@cdexzswzaqME 6 ай бұрын
Can we use this same process for production
@MelvinAdekanye
@MelvinAdekanye 6 ай бұрын
Yep! I've used it as well in prod.
@AbdurRahim-wb1yf
@AbdurRahim-wb1yf 7 ай бұрын
Can I send also outlook and Gmail also?
@MelvinAdekanye
@MelvinAdekanye 6 ай бұрын
You you can with Outlook. Would you like to see a tutorial with outlook? Here's the API page for outlook: learn.microsoft.com/en-us/graph/outlook-mail-concept-overview
@nico2669100
@nico2669100 Жыл бұрын
Helped Me alot, thx
@MelvinAdekanye
@MelvinAdekanye Жыл бұрын
Glad to hear!
@juressic3881
@juressic3881 2 жыл бұрын
Part of the function 'transport.sendMail' won't call when the function is inside a middleware.. Please help!
@MelvinAdekanye
@MelvinAdekanye 2 жыл бұрын
For sure. Email me with your question.
@clepzzz
@clepzzz 2 жыл бұрын
Hi RhymBil, I did same steps and achieved to send emails on January 4. However I encountered with "invalid_grant, bad request" error. I achieved to send emails again after generate a new refresh token. Why did this happen? Do I need to generate a new refresh token after some time manually by clicking 'exchange authorization code for tokens' button and then replace new generated refresh token with old?
@MelvinAdekanye
@MelvinAdekanye 2 жыл бұрын
Hmm. This is a good question. I also encountered the same issue. But once I got a new token (similar to your situation). I didn't seem to have the issue again. As far as I've experienced, it's only happened once, but definitely a question I'm going to have to look into. Thanks for the great question.
@NITHINPB
@NITHINPB Жыл бұрын
@@MelvinAdekanye Hey, did you get time to look into this ? i am implementing this and it works fine now. But i am exprecting this error soon, since refresh_token has an expiry
@iacrabat7367
@iacrabat7367 3 жыл бұрын
You are a savior thank you man
@MelvinAdekanye
@MelvinAdekanye 3 жыл бұрын
Glad I could help!
@shannudeepufans
@shannudeepufans 3 жыл бұрын
How to fetch data if we use push() method?? Firebase web Source code please
@abuumar8794
@abuumar8794 Жыл бұрын
its worked for me. ❤
@MelvinAdekanye
@MelvinAdekanye Жыл бұрын
Nice, I'm glad to hear it.
@swdotdev
@swdotdev 2 жыл бұрын
First of all thank you very much dude! You are awesome. It works almost perfectly for me. Somehow it sends two emails. One with the expected message and subject etc, and another one with nothing in it? Anyone else is having this issue?
@MelvinAdekanye
@MelvinAdekanye 2 жыл бұрын
You're most welcome! That's interesting. Do you have your code in a loop? Or duplicated? If no, add console.log() where you have your send function, to see if it logs twice.
@aaronstoler6216
@aaronstoler6216 2 жыл бұрын
This is really helpful, but I'm getting a ETIMEDOUT error. I've tried everything...enabled less secure apps and disabled two factor authentication. Any ideas on how to resolve?
@MelvinAdekanye
@MelvinAdekanye 2 жыл бұрын
Hmm. Sounds interesting. I haven't encountered an ETIMEDOUT error. But email me screenshots of the error. Lets work it out.
@aaronstoler6216
@aaronstoler6216 2 жыл бұрын
@@MelvinAdekanye just sent
@VatsalSharma07082000
@VatsalSharma07082000 2 жыл бұрын
@@aaronstoler6216 Were you able so fix that? I am getting the same error.
@aaronstoler6216
@aaronstoler6216 2 жыл бұрын
@@VatsalSharma07082000 my server specifically blocked the ports necessary to send emails. They do it as a precaution against spamming. I emailed a request to the server to unblock the ports and the problem was immediately fixed
@luisdev7646
@luisdev7646 3 жыл бұрын
Help, i have done all the steps, working fine, but after a week i get the error (invalid grant 400 bad request), and i have to generate manually the refresh_token
@MelvinAdekanye
@MelvinAdekanye 3 жыл бұрын
Did you publish/make public your Google API? If you leave it in test mode, you'll have to update the tokens every now and then.
@codecombination9337
@codecombination9337 3 жыл бұрын
HI, I have followed this tutorial step by step but in the end i get timeout error and also access token was not populating before sending email due to unhandled promise i replaced that with hard coded access token now I got timeout error how to resolve that
@MelvinAdekanye
@MelvinAdekanye 3 жыл бұрын
Hmm. That's very weird. If you're still having that issue. Here's a forum that can help: stackoverflow.com/questions/42387451/nodemailer-connection-timeout-error
@kuku687
@kuku687 2 жыл бұрын
why my code getting error throw new Error('No refresh token or refresh handler callback is set.'); ^ Error: No refresh token or refresh handler callback is set.
@MelvinAdekanye
@MelvinAdekanye 2 жыл бұрын
It seems like your refresh token wasn't set up properly.... email me. I'll try to help.
@naeemshaikh4683
@naeemshaikh4683 Жыл бұрын
i am getting this error { "err": { "code": "EAUTH", "command": "AUTH XOAUTH2" } }
@ebenezersiaw935
@ebenezersiaw935 2 жыл бұрын
Bro I keep getting this, error: 'invalid_client', error_description: 'The OAuth client was not found.'
@MelvinAdekanye
@MelvinAdekanye 2 жыл бұрын
You might find this thread useful. stackoverflow.com/questions/43334280/google-oauth-invalid-client-the-oauth-client-was-not-found
@waytofuture
@waytofuture 2 жыл бұрын
It's working sir thank you so much sir
@MelvinAdekanye
@MelvinAdekanye 2 жыл бұрын
You're very welcome!
@iasontzortzis9472
@iasontzortzis9472 3 жыл бұрын
you a legend
@MelvinAdekanye
@MelvinAdekanye 3 жыл бұрын
Wow. Thank you.
@gbdasfrases
@gbdasfrases 2 жыл бұрын
when the refresh token expires the emails are no longer sent! Any solution?
@MelvinAdekanye
@MelvinAdekanye 2 жыл бұрын
Yes! To fix this, I normally redo the process to get a new token.
@airxperimentboom
@airxperimentboom 3 жыл бұрын
this is awesome content
@MelvinAdekanye
@MelvinAdekanye 3 жыл бұрын
Glad you like it.
@KathouQC
@KathouQC 2 жыл бұрын
Hi, How I can fix the issue of invalid_grant_token after 7 days? Because now I need to change the refresh token each 7 day ... thank :)
@MelvinAdekanye
@MelvinAdekanye 2 жыл бұрын
Just to double check have you been able to publish your google project? (Changed from test to published)?
@KathouQC
@KathouQC 2 жыл бұрын
@@MelvinAdekanye yes, I am in the testing of this solutions: Create a new user after switching on production mode. So I will wait and see if I will neeed to rechange, if the information I get is right the anwser is no, it's should work :)
@MelvinAdekanye
@MelvinAdekanye 2 жыл бұрын
Yes! While the testing mode is great. It's simply just that, a means to test (with time limitations). Switching to "production mode" will take away those testing time constraints. And you're right. It should work.
@neveriodev350
@neveriodev350 Жыл бұрын
Thank you so much
@khatamati5282
@khatamati5282 2 жыл бұрын
it's a great tutorial. 1M thanks
@MelvinAdekanye
@MelvinAdekanye 2 жыл бұрын
Glad it was helpful!
@militoarturo
@militoarturo 2 жыл бұрын
Omg, thank you thank you bro
@MelvinAdekanye
@MelvinAdekanye 2 жыл бұрын
You're very welcome!
@AlexanderDemin
@AlexanderDemin Жыл бұрын
Man, what a great video! Thanks.
@iacrabat7367
@iacrabat7367 3 жыл бұрын
+ 1 subscriber man thank you
@MelvinAdekanye
@MelvinAdekanye 3 жыл бұрын
Glad I could help
@carlalexisalcantara5298
@carlalexisalcantara5298 3 жыл бұрын
hi man can you make an html doc that gives numbers staring to 1 to 999,999,999
@MelvinAdekanye
@MelvinAdekanye 3 жыл бұрын
like a random number generator?
@lonewolfcoding5208
@lonewolfcoding5208 2 жыл бұрын
pls help it is shutdown or rejected
@MelvinAdekanye
@MelvinAdekanye 2 жыл бұрын
For sure! What errors are you getting?
@mrfirebaby5925
@mrfirebaby5925 3 жыл бұрын
Super
@muizuddeenahmad6142
@muizuddeenahmad6142 3 жыл бұрын
I'm not getting email on my gmail, all things are working properly
@MelvinAdekanye
@MelvinAdekanye 3 жыл бұрын
Wow! So your console is completely error free but yet it doesn't work? If that's the case, maybe try redoing the step of getting your tokens.
@muizuddeenahmad6142
@muizuddeenahmad6142 3 жыл бұрын
@@MelvinAdekanye yes sir,, i have done again all steps of tokens.
@muizuddeenahmad6142
@muizuddeenahmad6142 3 жыл бұрын
Please tell me
@brainedbeats9003
@brainedbeats9003 2 жыл бұрын
yo bro could it be easy of you to make a realtime online visitors in firebase tutorial? I love ur vids btw!!
@MelvinAdekanye
@MelvinAdekanye 2 жыл бұрын
Wow. Thanks. Have you tried this tutorial: kzbin.info/www/bejne/qovGf3V4a9ijmdU
@chongchuongwun
@chongchuongwun 3 жыл бұрын
Hi, Is this features free of charge?
@MelvinAdekanye
@MelvinAdekanye 3 жыл бұрын
Yes. Google offers this feature completely free.
@chongchuongwun
@chongchuongwun 3 жыл бұрын
@@MelvinAdekanye Thank you for reply ^_^
@MelvinAdekanye
@MelvinAdekanye 3 жыл бұрын
@@chongchuongwun You're most welcome!
@yashojha5033
@yashojha5033 2 жыл бұрын
Yooo sickkk
@MelvinAdekanye
@MelvinAdekanye 2 жыл бұрын
Thanks! Glad you like it.
@newrequest3228
@newrequest3228 2 жыл бұрын
error: 'unauthorized_client', error_description: 'Unauthorized' WHATS WRONG?
@MelvinAdekanye
@MelvinAdekanye 2 жыл бұрын
Did you find a solution? if not, I'd definitely be down to help. Reach out to me via email
@moisesmauroochoaparedescan838
@moisesmauroochoaparedescan838 2 жыл бұрын
GRACIAS BROOOOOOO ENSERIO GRACIAS
@MelvinAdekanye
@MelvinAdekanye 2 жыл бұрын
No porblemo!
@bradical8198
@bradical8198 2 жыл бұрын
Fail
@MelvinAdekanye
@MelvinAdekanye 2 жыл бұрын
Fail?
@weixian7197
@weixian7197 2 жыл бұрын
b0ss very cool.
@MelvinAdekanye
@MelvinAdekanye 2 жыл бұрын
You're very cool. Thanks!
@MichelLedig
@MichelLedig 2 жыл бұрын
Bro.dont ever do cuts with zoom in or out in a page with so much to see.again. The path of where your mouse is going is very important to the dumbasses like me. Aside this, great video thx for the help
@MelvinAdekanye
@MelvinAdekanye 2 жыл бұрын
Thanks for the feedback. You're very welcome.
@sohaibarbii
@sohaibarbii 3 жыл бұрын
you save my Ass thanks
@MelvinAdekanye
@MelvinAdekanye 3 жыл бұрын
Hahaha. You're very welcome!
@mr._.bhat007
@mr._.bhat007 Жыл бұрын
please check how to automatically get new refreshToken once it expires. Bro if i could jump to your place and kiss you on your cheeks i would bro... Also Thanks
@MelvinAdekanye
@MelvinAdekanye Жыл бұрын
Ay yo 🤣🤣 This made me laugh! Thanks Pranav!
@dananjayachathuranga7113
@dananjayachathuranga7113 Жыл бұрын
nice video. but thumbnail look like indian
How to send email using Gmail API (uses OAuth2 and nodemailer)
17:55
Send Mail with Nodemailer Using Node.js Backend
28:30
Daily Tuition
Рет қаралды 86 М.
We Attempted The Impossible 😱
00:54
Topper Guild
Рет қаралды 56 МЛН
The Best Band 😅 #toshleh #viralshort
00:11
Toshleh
Рет қаралды 22 МЛН
Discord Stores BILLIONS of messages using this database
11:41
Coding with Lewis
Рет қаралды 186 М.
Sending Email Using the Gmail API And Java
27:27
Sebastian Daschner
Рет қаралды 50 М.
Node How To Send An Email From Gmail With Nodemailer
4:29
WittCode
Рет қаралды 15 М.
Why aren't you using Fastify? Or Koa? Or NestJS?
9:58
Maximilian Schwarzmüller
Рет қаралды 69 М.
Confirmation Email with Node.js
9:49
Ben Awad
Рет қаралды 139 М.
How to send Emails through REACT JS + Node JS [EASY!!!]
29:00
Koding 101
Рет қаралды 19 М.
How to send emails using Sendgrid (Twilio) and NodeJS
12:27
Mafia Codes
Рет қаралды 104 М.
NodeJS & Express - Google OAuth2 using PassportJS
20:33
Kris Foster
Рет қаралды 108 М.