Тёмный

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

Подписаться
Просмотров 18 тыс.
% 411

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/about/
Authorized Redirect URL
developers.google.com/oauthplayground
Google Cloud
cloud.google.com/
Source Code
rhymbil.netlify.app/
Until next time
RhymBil Out

Опубликовано:

 

4 июл 2021

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 121   
@ozzyfromspace
@ozzyfromspace 2 года назад
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 2 года назад
Thanks Ozzy! Truly appreciate it.
@pascal12355
@pascal12355 2 года назад
5:06 Shouldn't you need to check the "Auto-refresh the token before it expires." option ?
@yuchenkuang
@yuchenkuang 3 месяца назад
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 Месяц назад
Glad I could help!
@puriajahanbani6636
@puriajahanbani6636 2 года назад
That was awesome! The `Joe mama` part made me laugh loudly.
@aarondz789
@aarondz789 2 года назад
Thanks!And, i got a error about option object: Error: Options "privateKey" and "user" are required for service account!
@ElChanchoGanador
@ElChanchoGanador Год назад
Error: No refresh token or refresh handler callback is set.ERROR any help?
@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!
@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!
@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
@hoangduytran3266
@hoangduytran3266 2 года назад
Authorization Error Error 400: invalid_scope Some requested scopes were invalid. Do you help me?
@shannudeepufans
@shannudeepufans 2 года назад
How to fetch data if we use push() method?? Firebase web Source code please
@iacrabat7367
@iacrabat7367 2 года назад
You are a savior thank you man
@MelvinAdekanye
@MelvinAdekanye 2 года назад
Glad I could help!
@TheSilentBuddy
@TheSilentBuddy 2 года назад
"let's Call Him Joe... Joe MAMA 🤣🤣"
@malksmogendavid4470
@malksmogendavid4470 2 года назад
that caught me off guard... hilarious
@Elrawaa
@Elrawaa 2 года назад
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 2 года назад
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?
@tarkumutlu9184
@tarkumutlu9184 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
@neveriodev350
@neveriodev350 Год назад
Thank you so much
@Marc1920x1080p
@Marc1920x1080p 5 месяцев назад
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 Месяц назад
did you figure out how to solve this issue
@Marc1920x1080p
@Marc1920x1080p Месяц назад
@@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
@raba650
@raba650 2 года назад
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.
@iasontzortzis9472
@iasontzortzis9472 2 года назад
you a legend
@MelvinAdekanye
@MelvinAdekanye 2 года назад
Wow. Thank you.
@mrfirebaby5925
@mrfirebaby5925 3 года назад
Super
@codecombination9337
@codecombination9337 2 года назад
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 2 года назад
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
@swdotdev
@swdotdev Год назад
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 Год назад
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.
@abuumar8794
@abuumar8794 Год назад
its worked for me. ❤
@MelvinAdekanye
@MelvinAdekanye Год назад
Nice, I'm glad to hear it.
@khatamati5282
@khatamati5282 2 года назад
it's a great tutorial. 1M thanks
@MelvinAdekanye
@MelvinAdekanye 2 года назад
Glad it was helpful!
@luisdev7646
@luisdev7646 2 года назад
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 2 года назад
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.
@juressic3881
@juressic3881 Год назад
I've got 401 unauthorized, and then realized there was spaces in my CLIENT ID. THANKS, THIS TUT IS CRAZY
@MelvinAdekanye
@MelvinAdekanye Год назад
That's great! Glad you figured it out.
@nico2669100
@nico2669100 Год назад
Helped Me alot, thx
@MelvinAdekanye
@MelvinAdekanye Год назад
Glad to hear!
@waytofuture
@waytofuture 2 года назад
It's working sir thank you so much sir
@MelvinAdekanye
@MelvinAdekanye 2 года назад
You're very welcome!
@iacrabat7367
@iacrabat7367 2 года назад
+ 1 subscriber man thank you
@MelvinAdekanye
@MelvinAdekanye 2 года назад
Glad I could help
@juressic3881
@juressic3881 Год назад
Part of the function 'transport.sendMail' won't call when the function is inside a middleware.. Please help!
@MelvinAdekanye
@MelvinAdekanye Год назад
For sure. Email me with your question.
@AlexanderDemin
@AlexanderDemin 10 месяцев назад
Man, what a great video! Thanks.
@airxperimentboom
@airxperimentboom 2 года назад
this is awesome content
@MelvinAdekanye
@MelvinAdekanye 2 года назад
Glad you like it.
@yashojha5033
@yashojha5033 2 года назад
Yooo sickkk
@MelvinAdekanye
@MelvinAdekanye 2 года назад
Thanks! Glad you like it.
@militoarturo
@militoarturo Год назад
Omg, thank you thank you bro
@MelvinAdekanye
@MelvinAdekanye Год назад
You're very welcome!
@naeemshaikh4683
@naeemshaikh4683 Год назад
i am getting this error { "err": { "code": "EAUTH", "command": "AUTH XOAUTH2" } }
@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.
@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
@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
@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.
@akrazzy9236
@akrazzy9236 2 года назад
You were so funny back in 2019 xd
@MelvinAdekanye
@MelvinAdekanye 2 года назад
Were?!? Hahaha. Thanks I appreciate it.
@cdexzswzaqME
@cdexzswzaqME Месяц назад
Can we use this same process for production
@MelvinAdekanye
@MelvinAdekanye Месяц назад
Yep! I've used it as well in prod.
@KathouQC
@KathouQC Год назад
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 Год назад
Just to double check have you been able to publish your google project? (Changed from test to published)?
@KathouQC
@KathouQC Год назад
@@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 Год назад
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.
@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: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-tZcNBB6spcs.html
@carlalexisalcantara5298
@carlalexisalcantara5298 2 года назад
hi man can you make an html doc that gives numbers staring to 1 to 999,999,999
@MelvinAdekanye
@MelvinAdekanye 2 года назад
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?
@AbdurRahim-wb1yf
@AbdurRahim-wb1yf 2 месяца назад
Can I send also outlook and Gmail also?
@MelvinAdekanye
@MelvinAdekanye Месяц назад
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
@muizuddeenahmad6142
@muizuddeenahmad6142 2 года назад
I'm not getting email on my gmail, all things are working properly
@MelvinAdekanye
@MelvinAdekanye 2 года назад
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 2 года назад
@@MelvinAdekanye yes sir,, i have done again all steps of tokens.
@muizuddeenahmad6142
@muizuddeenahmad6142 2 года назад
Please tell me
@moisesmauroochoaparedescan838
@moisesmauroochoaparedescan838 2 года назад
GRACIAS BROOOOOOO ENSERIO GRACIAS
@MelvinAdekanye
@MelvinAdekanye 2 года назад
No porblemo!
@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
@chongchuongwun
@chongchuongwun 2 года назад
Hi, Is this features free of charge?
@MelvinAdekanye
@MelvinAdekanye 2 года назад
Yes. Google offers this feature completely free.
@chongchuongwun
@chongchuongwun 2 года назад
@@MelvinAdekanye Thank you for reply ^_^
@MelvinAdekanye
@MelvinAdekanye 2 года назад
@@chongchuongwun You're most welcome!
@weixian7197
@weixian7197 2 года назад
b0ss very cool.
@MelvinAdekanye
@MelvinAdekanye 2 года назад
You're very cool. Thanks!
@bradical8198
@bradical8198 2 года назад
Fail
@MelvinAdekanye
@MelvinAdekanye 2 года назад
Fail?
@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 2 года назад
you save my Ass thanks
@MelvinAdekanye
@MelvinAdekanye 2 года назад
Hahaha. You're very welcome!
@dananjayachathuranga7113
@dananjayachathuranga7113 11 месяцев назад
nice video. but thumbnail look like indian
@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!