The best thing about Tim's tutorial is that he doesn't tell you do this and that but he explain why he is doing each step. Thanks Tim for the great work. Really useful.
I am a self-taught programmer and until now I have always avoided working with emailing with C#. With FluentEmail and your explanation on how to use it, I'm no longer hesitant about incorporating emailing functionality into my personal projects. Thank you.
My approach is to teach for the real world. That includes best practices, what to avoid, and how to integrate it into actual projects. That takes longer but, as you have seen, provides a lot more value.
You are a saviour man,I was working on a worker service with the same FluentEmail package.I was just confused about using Renderer.This video saved me .Thanks for the video :)
the best setting I've changed in my VS IDE was the: Display inline parameter name hints, as this explains a lot for me as a new learner all thanks to how your code looks like in the video! I always wondered how does Tim have the name of the parameter displayed as hints in the code! well thank you so much for motivating me to find it in settings
Excellent as always! Really learning lots with every video. Thanks so much. Would love to see a video on a sendgrid api integration, not just sending mails but adding contacts, working with segments etc.
Tim, you're content is just amazing, and by far the best on youtube. Ice on the cake, it's free ! Here's a little suggestion : could you add in your tutorials a section about commons bugs and crashes and how to fix them. Note that this is not related to this particuliar video, i've not tried it yet :)
Tim does cover bug fixes in some of his full app development projects, like Tournament tracker and TimCo. Still, I did capture your suggestion on Tim's viewer suggestions list. Thanks for sharing.
@@tomthelestaff-iamtimcorey7597 Yep, it happened to me following one of tim's tutorial... had a really shitty bug and it took me 2 days to find the aswer on the web... so it would be nice :)
Ralfs, Thank you so very much, I will move this over immediately. We know how much this work helps the rest of the community. Tim truly appreciates your work on this.
We have discussed that a couple times. Tim is actually exploring multiple options, at the moment, to handle getting viewer feedback. Stay tuned and watch the newsletter for more info.
Another fantastic video and a real gem for improving my toolbox. I'd really like to see how you'd add bootstrap to the email template and include tables with foreach from a model
You won't be able to add Bootstrap because external CSS files are not allowed in email. You have a limited ability to embed CSS in an email, but it gets tricky fast.
Great video! Having done a bit of business email logic, I would like to add 2 disclaimers: This is great for emails from your own domain, but you'll have to create your own Gmail or Outlook ISender implementation if you want to securely use those platforms. Gmail and Outlook have limited access to their SMTP, and prefer if you use their REST APIs. The other thing is that email HTML is more restricted than web HTML. Obviously JS isn't allowed, but there's other things to. Just know that your email won't come out the same as your liquid template.
I've used Google's SMTP servers without an issue using a personal gmail account. Outlook isn't an email server, it is an email client. If you mean Microsoft's servers (Outlook.com), then you can send through there as well. You just need the correct SMTP settings and the username and password. As for the template, my email will format just fine in HTML. There is no JavaScript in it. It renders as plain HTML.
@@IAmTimCorey Sorry, you're right about SMTP; I was talking about my experiences with the business SMTP gmail service. For personal emails, I believe SMTP is perfectly fine, though there is an issue for older clients - Google restricted authentication from weak-password accounts. Please see this issue: stackoverflow.com/questions/20906077/gmail-error-the-smtp-server-requires-a-secure-connection-or-the-client-was-not?rq=1 However, email HTML is a whole another can of worms. It took me months to figure out that most email clients to not support CSS3 features. Or background images. Or animations. Or flexbox. Its fine if you're HTML isn't complex, but I wanted to tell users if you're going to write ads or newsletters, you're better off using a templating language like MJML, then writing the razor syntax before you submit the email.
@@rsifodias5 Just use an AppPassword generated for you notifications gmail account if you want access from an "insecure app" as they call it, and use that instead of your regular password. SMTP should work just fine after that, granted if you don't go over their pretty strict email limits. Just make sure you have 2-step enabled, because it's a requirement to use AppPasswords. Using their API with the Google.Apis.Auth (OAuth2) and Google.Apis.Gmail really is only used with service accounts and when you need to change account settings through your app and other things like that. Not really intended just for sending an email once in a while from what I understand.
Thanks for the vedio Tim, really great vedio. There is a question, what's your recommendation to send large amount of mails at a time using FluentEmail (e.g. 10,000)? If FluentEmail is not supported, is there any suggestion ?
Thank you Tim for the important video on email. Does fluent razor work with .Net 6 worker service project ? Can we include attachments with fluent smpt ?
Thanks Tim for the tutorial. However I get an error message as follows. "No connection could be made because the target machine actively refused it." How can I fix that??
Really great video Tim. I had one request, I'd be interested to see how you would work with XML. I understand JSON is generally more accepted, but I noticed some places are still a fan of XML. 🙂
Hi Tim, Nice tutorial- very helpful. I have a question- how do I add a logo to an email body using the Fluent email framework? Does Fluent support add any logo at all? Love your tutorials. Thanks
Thanks for your reply. By doing an attachment, I can show an inline image onto the email body. But not sure if that’d be the right way to do it. I wish I could find any document about the binding inline image using the FluentEmail package. Look forward to seeing more tutorials from you.
MS recommends not using SmtpClient because it "doesn't support many modern protocols" (that's in their docs). It also doesn't have a proper SendAsync method.
Thank you, as always lovely lesson. Would you consider to cover sending SMS message via C#, there are a lots of topics but I found this topic a bit hard for me, but it is essential skill for a good developer. Interesting to hear your thoughts.
I didnt know that their is a safe way to test an email service without affecting the production email. That is when the debugging program has a bulk send and the email hosting has sending limit and it will cause to our organization to stop receiving inquiries via emails. Then, my work will go easier with your @Model instead of "Dear [ClientName]" then using String.Replace("[ClientName]",clientName) as it was impractical and it was not easy to do refactoring for the parameter names I created. Thank you again @TimCorey and cheers to you sir. Btw, can I request about jumping out to updates to newer version like from what should to do when upgrading NetCore 2.1 into Net5 or from Angular 6 upgrading into Angular 11? Should we do direct upgrade or step-by-step/incremental updating? that is what I facing right now with existing projects using older frameworks and I cant use the nuget/npm package because it needs a higher version of it. and of course, I need the latest version of it to improved performance and security of the applications we made
In my QA background, we never adequately solved the testing of bulk emails issues, other than just blasting our own team with emails over and over (not a good option.) Thanks for the suggestion for videos on upgrading methods. I have added that to Tim's viewer suggestions list.
Which version of visual studio do you use? and are using the default version of c# that comes with it? or did you upgrade? I am only asking because I keep seeing argument labels inserted with method calls automatically. Is there an option to do that?
Tim talks a lot about Visual Studio and how he uses it. You may want to check out some of what he covers - ruclips.net/user/IAmTimCoreysearch?query=visual
@@tomthelestaff-iamtimcorey7597 I had to watch several videos hoping to spot where I can configure my Visual Studio to automatically display named arguments, but failed. I even searched google and RUclips for named arguments in c#. all of the results talk about the possibility of calling methods using named arguments, but none of them tells how visual studio automatically inserts named arguments for you if you don't specify that.
@@AhmadAlMutawa_abunoor I caught Tim and managed to get the following for you. I hope it helps: "I'm using the standard Visual Studio 2019 Community Edition with no additional plug-ins except the font resizer. The label option is a new feature that I explain here: ruclips.net/video/f0YeVirKPfw/видео.html (note the time code is included)."
@@tomthelestaff-iamtimcorey7597 Thanks a lot. I have Visual Studio 2019 Community Edition Version 16.10. The feature is not included anymore. I guess they decided to remove it (hence the "experimental" tag in VS version 16.08 ) I searched all settings for (inline parameter name hints) but found none, and nothing else that accomplishes the same feature.
Thanks for the video Tim. I just want to share my experience, I created a Class Library (.Net Core) and named it as EmailSender. after creating the project I installed FluentEmaill.Smtp, when I tried to use SmtpSender() the namespace FluentEmail.Smtp did not include into the class "Cannot resolve symbol FluentEmail" , however I added it manually but got that issue again. I found out my project name "EmailSender" has some conflict and after changing my project name the problem gone.
Like always excellent content! Could you do a dev series questions video on how to do code reviews? I’m wondering what are best practice and how to do a meaningful code review/pull request.
The code would be basically the same. The only difference is that you would activate it and display the results on a form instead of the console window. Is there something specific that you are stuck on? Have you tried it yourself?
Not sure what type of template you mean. If you are asking if you can use string interpolation or something similar for subject lines, then yes. If you are asking about a template on the email side of things, then no.
@@IAmTimCorey Happy holidays Tim! Yes that's what I mean. An example in my application is to include the ID within the email subject, and maybe other information, it would be handy to have a template for the subject as well.
How would you setup this Console Application to run as a service or complement with an API. Core Server. Use this to handle Email Confirmations from Register/Lost Account routes functions.
Hi Tim, In my application I have two choices to go for implementing Email functionality. First option is sending email using Mail kit (that I have used before) and other option is to send using Azure Communication Services (completely new for me). I am confused and would like to know your expert opinion is which one is better than the other and why ? Thank you in advance.
What a timing, I'm just about to start developing a simple app where I want an email to be sent to me every now and then! Thank you! In the future I would like the app to send SMS, could you make a video about that aswell?
Thanks for the suggestion, I added it to Tim's suggestion list. That list really does influence what videos Tim works on, but be aware that he gets a lot of 'suggestions'. I believe he addresses the SMS capabilities in the paid version of the TimCo series on IAmTimCorey.com, if you are in a hurry. (Correction - Not TimCo, it is Tournament Tracker. Thanks Tim!)
Hey Tim hobbyist coder, how do I get the properties to how up like hints in the code like you do? So SmtpClient(host: "localhost" the host: hint is what I'm trying to activate as I like this for developing especially if it's been a few month since looking at the project
Hi Tim, Excellent Tutorial. I am getting the following error when I tried to use local host and port 25. Any thoughts? No connection could be made because the target machine actively refused it. [::1]:25
You cannot send email from Blazor WebAssembly, since client-side cannot do secure operations (all of the source code is sent to the client in clear text). For Blazor Server, it would be the server's IP address.
Great video. Question: SmtpClient is marked as obsolete and MS recommends against it's use, however, it is being shown here. Does the sender have to be SmtpClient? confused....
Actually, just checked the latest guide and you can configure other senders, including MailKit: lukelowrey.com/dotnet-email-guide-2021/ I'm guessing you showed System.Net.Mail as a matter of convenience - this is just an FYI for those looking at using FluentEmail that you CAN configure other senders
Hello Tim, that's a great video. I would like to sugest the topic of Nswag, and how to generate and utilize the client generated from swagger. Thank you.
Does this library have helpers for creating ics-files / email calendar invitations? I've had experiences where I had to create a C# application that sends email calendar invitations and working with ics/vcalendar properties manually was kind of a nightmare.
Hi Tim, thank you for your video. A quick question: Do companies use FluentEmail in the industry project as the default choice when they want to create some server Apps to send the data reports regularly?
It all depends on the company and the situation. Remember that in programming, we have options. We need to make the best choice between the options in every situation rather than prescribing one solution as the "best" option for all situations.
That is why I keep adding to Tim's list, so he can gage the level of interest in specific topics. He still decides what videos he will make, but I know the list has a lot of influence! So keep up the suggestions!
I'm using the built-in dark theme. As for consuming a .NET 5 project in .NET Framework, no, you can't do that but you can make the .NET 5 library a .NET Standard 2.0 instead and then it will work (both with .NET 5 and .NET Framework 4.6.1 and above).
Hi Tim, Thank you for the video. But I am curious that a windows server and a domain name are enough for this to work ( say amazon EC2 windows server?)
I have a problem, I want to send different emails to each user but the first user receives the 3 emails, use foreach to iterate with each user, what am I doing wrong, regards
I can't be certain what you are doing wrong, but this is an excellent time to practice your debugging skills. You will learn more by debugging this problem than you would by getting the answer.
Break the problem down into steps. This video shows you how to send an email. That's a step. Now figure out how to get data out of SQL (there are videos on this channel for that if you need help). Then figure out how to loop over your data and call the email method. Put it all together and you are set.
it is not a plugin it is a option in vs2019 wich still experimental Tools > Options > Text Editor > C# > Advanced >Editor Help section > display inline parameter name hints (experimental)
var client = new SmtpClient("smtp.gmail.com", 587) { Credentials = new NetworkCredential("YourMail@gmail.com", "YourPassword"), EnableSsl = true }; in order for that to work you will need to change your gmail account security to let your C# application access your mail (on your own risk!) go to gmail account -> security - Allow less secure apps: ON
I tried to implement this on an API. I can see the mail being sent on the PaPErcut SMTP application but i cant see the mail on the gmail site on the receivers mail. Any idea why this happens ?
Hi, thanks for content, awesome video, About line 34 in 30:07, what name plugin/extension show parameters name, e.g ".To('email Address':...., 'name': ...)"
I send emails with Azure app service. Is Azure webapp different than app service? If not, you should be able to send SMTP because I do. For some sites I use SendGrid and others, I put in the SMTP credentials and send using System.Net.Mail. I do not use .Net core, though, so that may be different.
Would like to know the answer to this too, as I'm struggling to send an email to SMTP server that uses Implicit TLS 1.2 connection. .NET Framework doesn't support it and it is deprecated in early .NET Core versions and will not be available in newer versions. Sending email is getting much harder - for example - Google Mail is now Implicit only so you cannnot use these classes anymore and need to find alternatives
Nowadays all transactional email is sent via services such as Sendgrid and Mailgun. You basically fire off API calls to the services and all email related handling is abstracted away from you.
Is there any good package that you would recommend for Outlook interaction from C# program? I mean, sending emails from Outlook account Sort of injecting into Outlook Why is it not possible to use Fluent Email in WebAssembly? Thank you for explaining multiple times that this is the client
I can say for sure that if you wanted to do from web assembly, then web assembly would have to send to an api who can do the email. Because with web assembly, everything runs on the client. Browsers don't let you send emails though. If a person had a blazor app that needed to send emails, the best is to have an interface service. The blazor server side can do this way. In web assembly, you send to a web api and the web api can do it. The page would not care how its done.
@@IAmTimCorey I forgot to mention i'm user Blazor WebAssembly, i got a warning on code that says "SmtpClient" not supported on 'browser'. Maybe it's because i souldt move it to Server? Sorry for my english.
would you mind explain why FluentEmail.smtp is secure , but why do microsoft official doc marks it as obsolete and recommends against using it ? ,thanks
Being obsolete doesn't mean not secure. I showed off the simple SMTP because it is something you can do with the built-in tools. The other options (MailKit, etc.) will work the same way, just using those other systems for the actual sending of the email.
Hi. Just found your channel by chance. Please sir how to contact you by email. I want to enroll into all your courses. I found there are individual 26 courses in your website, plus some bundles. Also found the black friday copoun. I am a bit confused for which bundle includes all your courses?
I use email from .net console/web apps all the time. Wrap my class calls in try/catch and email the exception message to the it group for any errors. We catch errors instantly, and get what failed and can start fixing it, even before the ticket comes in.
gr8 video, can you please make a video about an ASP.NET MVC or blazor web app with auth when the client either sign up or sign in he will be receiving an email like you have been sign in to ... or if he sign up like a welcome and greeting email please and tnx alot
The best thing about Tim's tutorial is that he doesn't tell you do this and that but he explain why he is doing each step. Thanks Tim for the great work. Really useful.
We are glad you found it useful and that you like Tim's approach. He strives hard to educate, not just demonstrate.
I am glad it was so useful.
He saves me often
+
I am a self-taught programmer and until now I have always avoided working with emailing with C#. With FluentEmail and your explanation on how to use it, I'm no longer hesitant about incorporating emailing functionality into my personal projects. Thank you.
Great to hear!
Love the way he talks and explains things. Also, from every video, you can grab bunch of "unrelated", but very helpful tips and hints .
Thanks!
Wow, your videos are longer than the others but watching them makes me learn for true and understand the hole thing. Thank you very much.
My approach is to teach for the real world. That includes best practices, what to avoid, and how to integrate it into actual projects. That takes longer but, as you have seen, provides a lot more value.
Tim... you legend. Finding this video made my day and is going to save me a ton of time.
Awesome! I am glad it was helpful.
You are a saviour man,I was working on a worker service with the same FluentEmail package.I was just confused about using Renderer.This video saved me .Thanks for the video :)
We are really glad it helped! Thanks for sharing.
the best setting I've changed in my VS IDE was the: Display inline parameter name hints, as this explains a lot for me as a new learner all thanks to how your code looks like in the video!
I always wondered how does Tim have the name of the parameter displayed as hints in the code!
well thank you so much for motivating me to find it in settings
Thanks for sharing. I'm sure this will motivate others to explore and tweak their settings also.
Was looking if somebody commented on this.
@@JaroslavFurman I hope you got the answer you need.
why every time I watch aTim video in a specific subject a learn smth new in another subject,
thanks Tim
Tim is an amazing educator. He always tries to show how the topic he is teaching about relates to other key topics. Thanks for sharing.
Excellent as always! Really learning lots with every video. Thanks so much. Would love to see a video on a sendgrid api integration, not just sending mails but adding contacts, working with segments etc.
Tim, you're content is just amazing, and by far the best on youtube. Ice on the cake, it's free ! Here's a little suggestion : could you add in your tutorials a section about commons bugs and crashes and how to fix them. Note that this is not related to this particuliar video, i've not tried it yet :)
Tim does cover bug fixes in some of his full app development projects, like Tournament tracker and TimCo. Still, I did capture your suggestion on Tim's viewer suggestions list. Thanks for sharing.
@@tomthelestaff-iamtimcorey7597 Yep, it happened to me following one of tim's tutorial... had a really shitty bug and it took me 2 days to find the aswer on the web... so it would be nice :)
This is absolutely, exactly what I was looking for. Thanks much!
Check out all 200+ videos from Tim to find the topics you are looking for.
0:00 - Intro
1:00 - Creating Demo Console App
3:46 - FluentEmail NuGet reference
6:08 - Establishing Emali server
8:05 - Sending e-mail to directory
15:19 - Email variable explained
16:12 - View the email
17:10 - Send email to papercut smtp app
19:12 - Email body template: FluentEmlai Razor NuGet
27:53 - Summary and concluding remarks
Ralfs, Thank you so very much, I will move this over immediately. We know how much this work helps the rest of the community. Tim truly appreciates your work on this.
@@tomthelestaff-iamtimcorey7597 I believe "FluentEmlai" would be a typo.
@@jasonwellsnorris Thanks for the heads up. That slipped past me.
Thanks, Tim for all your videos. They really help!
You are welcome.
I appreciate all the efforts you put into these videos.
Thank you💙
You are so welcome!
Thank you Sir;
I found every phrase extremely useful said by you..
Thanks for sharing your valuable Experience among us...
Thank you for sharing.
hello Mr Tim, have you thought about creating community polls on youtube for your upcoming videos so we can vote for your next tutorials?
We have discussed that a couple times. Tim is actually exploring multiple options, at the moment, to handle getting viewer feedback. Stay tuned and watch the newsletter for more info.
Another fantastic video and a real gem for improving my toolbox. I'd really like to see how you'd add bootstrap to the email template and include tables with foreach from a model
You won't be able to add Bootstrap because external CSS files are not allowed in email. You have a limited ability to embed CSS in an email, but it gets tricky fast.
Great video! Having done a bit of business email logic, I would like to add 2 disclaimers: This is great for emails from your own domain, but you'll have to create your own Gmail or Outlook ISender implementation if you want to securely use those platforms. Gmail and Outlook have limited access to their SMTP, and prefer if you use their REST APIs.
The other thing is that email HTML is more restricted than web HTML. Obviously JS isn't allowed, but there's other things to. Just know that your email won't come out the same as your liquid template.
I've used Google's SMTP servers without an issue using a personal gmail account. Outlook isn't an email server, it is an email client. If you mean Microsoft's servers (Outlook.com), then you can send through there as well. You just need the correct SMTP settings and the username and password.
As for the template, my email will format just fine in HTML. There is no JavaScript in it. It renders as plain HTML.
@@IAmTimCorey Sorry, you're right about SMTP; I was talking about my experiences with the business SMTP gmail service. For personal emails, I believe SMTP is perfectly fine, though there is an issue for older clients - Google restricted authentication from weak-password accounts. Please see this issue: stackoverflow.com/questions/20906077/gmail-error-the-smtp-server-requires-a-secure-connection-or-the-client-was-not?rq=1
However, email HTML is a whole another can of worms. It took me months to figure out that most email clients to not support CSS3 features. Or background images. Or animations. Or flexbox. Its fine if you're HTML isn't complex, but I wanted to tell users if you're going to write ads or newsletters, you're better off using a templating language like MJML, then writing the razor syntax before you submit the email.
@@rsifodias5 Just use an AppPassword generated for you notifications gmail account if you want access from an "insecure app" as they call it, and use that instead of your regular password. SMTP should work just fine after that, granted if you don't go over their pretty strict email limits. Just make sure you have 2-step enabled, because it's a requirement to use AppPasswords.
Using their API with the Google.Apis.Auth (OAuth2) and Google.Apis.Gmail really is only used with service accounts and when you need to change account settings through your app and other things like that. Not really intended just for sending an email once in a while from what I understand.
Amazing as always!! Please, make a video about TDD Tim, would be fantastic!
Tim addresses TDD in his Unit testing video - ruclips.net/video/ub3P8c87cwk/видео.html
Thank you, I will definitely watch!
you explain clear and good, thank for share with us, God bless you
You are welcome.
Dude you're the best, thank u so much!
Glad I could help!
I was really hoping you'd use the paper cut SMTP you mentioned in the top 10 tools. And boom! You did 😁. Thanks!
Tim does try to be consistent! Thanks for being a part of this great community and sharing you thoughts.
Thanks for the vedio Tim, really great vedio.
There is a question, what's your recommendation to send large amount of mails at a time using FluentEmail (e.g. 10,000)?
If FluentEmail is not supported, is there any suggestion ?
Hi Tim,
Can you please create a video tutorial on how to receive and consume messages using Mass Transit?
Thank you!
I’ll add it to the suggestion list.
Great video! One question, how can I set the credentials for the seder? user and password. Many thanks!
Thank you Tim for the important video on email. Does fluent razor work with .Net 6 worker service project ? Can we include attachments with fluent smpt ?
the best man in USA thank you
Just the USA? LOL
@@tomthelestaff-iamtimcorey7597 loool
Hi Tim,this tutorial is so great.How can i add an inline image for email with Fluent razor.
Good explanation
Thanks!
Great tutorial
Thank you.
Thanks for this Great video and great explanation, is this method work for sending and receiving emails from exchange server using SSL /TLS. How..?
Thanks Tim for the tutorial.
However I get an error message as follows.
"No connection could be made because the target machine actively refused it."
How can I fix that??
Sounds like there is an issue with the firewall.
Thank you.
It is a very good VDO.It can be applied easily.
I have a question.Can FluentEmail attach file ?
Really great video Tim. I had one request, I'd be interested to see how you would work with XML. I understand JSON is generally more accepted, but I noticed some places are still a fan of XML. 🙂
I noted your recommendation by adding it to Tim's list of possible future topics, thanks.
Hi Tim,
Nice tutorial- very helpful. I have a question- how do I add a logo to an email body using the Fluent email framework? Does Fluent support add any logo at all? Love your tutorials. Thanks
Yes, but that isn't a Fluent email-specific thing. You can check their documentation, though.
Thanks for your reply. By doing an attachment, I can show an inline image onto the email body. But not sure if that’d be the right way to do it. I wish I could find any document about the binding inline image using the FluentEmail package. Look forward to seeing more tutorials from you.
Is there a disadvantage by using the .Net smtp class to send email directly compared to fluent email?
Thanks a gain for the great video.
MS recommends not using SmtpClient because it "doesn't support many modern protocols" (that's in their docs). It also doesn't have a proper SendAsync method.
@@Osbornesupremacy ok. Thanks wasn't aware of that!
Yep, Microsoft is deprecating it and recommends against using it.
Any thoughts on MailKit vs. FluentEmail ?
okay, it looks like MailKit is a dependency of FluentEmail. What exactly does FluetEmail add to MailKit -- template support and syntactic sugar?
You are correct in your assumptions. FluentEmail makes MailKit simpler to use (fluent) and supports nice templates (plus some other smaller bonuses).
Thank you, as always lovely lesson. Would you consider to cover sending SMS message via C#, there are a lots of topics but I found this topic a bit hard for me, but it is essential skill for a good developer. Interesting to hear your thoughts.
Thanks for the suggestion. I have added it to Tim's list of possible future topics.
I didnt know that their is a safe way to test an email service without affecting the production email.
That is when the debugging program has a bulk send and the email hosting has sending limit and it will cause to our organization to stop receiving inquiries via emails.
Then, my work will go easier with your @Model instead of "Dear [ClientName]" then using String.Replace("[ClientName]",clientName) as it was impractical and it was not easy to do refactoring for the parameter names I created.
Thank you again @TimCorey and cheers to you sir.
Btw, can I request about jumping out to updates to newer version like from what should to do when upgrading NetCore 2.1 into Net5 or from Angular 6 upgrading into Angular 11? Should we do direct upgrade or step-by-step/incremental updating? that is what I facing right now with existing projects using older frameworks and I cant use the nuget/npm package because it needs a higher version of it. and of course, I need the latest version of it to improved performance and security of the applications we made
In my QA background, we never adequately solved the testing of bulk emails issues, other than just blasting our own team with emails over and over (not a good option.) Thanks for the suggestion for videos on upgrading methods. I have added that to Tim's viewer suggestions list.
Hi Tim. Thanks. Great as always.
Could you make a video specifically about smtp and all this stuff?
Thanks for the suggestion, I added it to Tim's viewer Suggestions List.
Very good video
Thanks.
As always nice work! Do you have same / or similar / Email sender with Asp net core mvc tutorial too ?
Which version of visual studio do you use? and are using the default version of c# that comes with it? or did you upgrade? I am only asking because I keep seeing argument labels inserted with method calls automatically. Is there an option to do that?
Tim talks a lot about Visual Studio and how he uses it. You may want to check out some of what he covers - ruclips.net/user/IAmTimCoreysearch?query=visual
@@tomthelestaff-iamtimcorey7597 I had to watch several videos hoping to spot where I can configure my Visual Studio to automatically display named arguments, but failed. I even searched google and RUclips for named arguments in c#. all of the results talk about the possibility of calling methods using named arguments, but none of them tells how visual studio automatically inserts named arguments for you if you don't specify that.
@@AhmadAlMutawa_abunoor I caught Tim and managed to get the following for you. I hope it helps: "I'm using the standard Visual Studio 2019 Community Edition with no additional plug-ins except the font resizer. The label option is a new feature that I explain here: ruclips.net/video/f0YeVirKPfw/видео.html (note the time code is included)."
@@tomthelestaff-iamtimcorey7597 Thanks a lot. I have Visual Studio 2019 Community Edition Version 16.10. The feature is not included anymore. I guess they decided to remove it (hence the "experimental" tag in VS version 16.08 )
I searched all settings for (inline parameter name hints) but found none, and nothing else that accomplishes the same feature.
Thanks for the video Tim.
I just want to share my experience, I created a Class Library (.Net Core) and named it as EmailSender.
after creating the project I installed FluentEmaill.Smtp, when I tried to use SmtpSender() the namespace FluentEmail.Smtp did not include into the class "Cannot resolve symbol FluentEmail" , however I added it manually but got that issue again.
I found out my project name "EmailSender" has some conflict and after changing my project name the problem gone.
Thank you for sharing the experience. I'm sure you will save others from struggling with similar issues, saving both time and frustration.
Could you do a video explaining when to use structs and classes when using graphical/console applications
Thanks for the video suggestion. I have added it to Tim's list.
Thanks Tim!
Like always excellent content!
Could you do a dev series questions video on how to do code reviews? I’m wondering what are best practice and how to do a meaningful code review/pull request.
Thanks for the great suggestion. I have added it to Tim's list of requested future topics.
Can I please get an example of a rich Razor template, something that can be used for send styled emails to clients.
Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
Hi Tim,
Thanks for the video.
How we can capture Bounced Email (Non-Delivery Report) in C#?
You would need to read the email in the inbox unless you use a service that does it for you.
Hi Tim, Fantastic video, I have a question, how do I make the CC optional?
Click the CC icon on the video.
I get this error for all 3 properties in the SmtpClient "smtpsender does not contain a definition for {propertyname}"
can you do this lesson using a c sharp windows form application
The code would be basically the same. The only difference is that you would activate it and display the results on a form instead of the console window. Is there something specific that you are stuck on? Have you tried it yourself?
Thanks a aging Tim, could also consider a video to receive emails?
Really appreciated.
Thanks, I added that to his list of viewer suggestions for video topics. Long list!
Great video Tim, thank you so much! One question, is it possible to use template with subject?
Not sure what type of template you mean. If you are asking if you can use string interpolation or something similar for subject lines, then yes. If you are asking about a template on the email side of things, then no.
@@IAmTimCorey Happy holidays Tim! Yes that's what I mean. An example in my application is to include the ID within the email subject, and maybe other information, it would be handy to have a template for the subject as well.
How would you setup this Console Application to run as a service or complement with an API. Core Server. Use this to handle Email Confirmations from Register/Lost Account routes functions.
Hi Tim, In my application I have two choices to go for implementing Email functionality. First option is sending email using Mail kit (that I have used before) and other option is to send using Azure Communication Services (completely new for me). I am confused and would like to know your expert opinion is which one is better than the other and why ? Thank you in advance.
Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
What a timing, I'm just about to start developing a simple app where I want an email to be sent to me every now and then! Thank you! In the future I would like the app to send SMS, could you make a video about that aswell?
Thanks for the suggestion, I added it to Tim's suggestion list. That list really does influence what videos Tim works on, but be aware that he gets a lot of 'suggestions'. I believe he addresses the SMS capabilities in the paid version of the TimCo series on IAmTimCorey.com, if you are in a hurry. (Correction - Not TimCo, it is Tournament Tracker. Thanks Tim!)
It is the paid version of the Tournament Tracker application.
Hey Tim hobbyist coder, how do I get the properties to how up like hints in the code like you do? So SmtpClient(host: "localhost" the host: hint is what I'm trying to activate as I like this for developing especially if it's been a few month since looking at the project
I was wondering the same thing. Thanks
Does it offer email encryption?
Hi Tim, Excellent Tutorial. I am getting the following error when I tried to use local host and port 25. Any thoughts?
No connection could be made because the target machine actively refused it. [::1]:25
Thank you, Tim! How would you attach a file to an email? How would you save a copy in 'sent' folder of Outlook?
If you need to send as yourself in a Office365 environment, I'd suggest using the Graph API instead of a third party service.
In Blazor app what will be the sender IP address? Wasm vs Server versions.
You cannot send email from Blazor WebAssembly, since client-side cannot do secure operations (all of the source code is sent to the client in clear text). For Blazor Server, it would be the server's IP address.
Great video. Question: SmtpClient is marked as obsolete and MS recommends against it's use, however, it is being shown here. Does the sender have to be SmtpClient? confused....
Actually, just checked the latest guide and you can configure other senders, including MailKit: lukelowrey.com/dotnet-email-guide-2021/ I'm guessing you showed System.Net.Mail as a matter of convenience - this is just an FYI for those looking at using FluentEmail that you CAN configure other senders
Hello Tim, that's a great video.
I would like to sugest the topic of Nswag, and how to generate and utilize the client generated from swagger. Thank you.
Thanks for the suggestion. I added it to Tim's list.
Thanks that was exactly what I was waiting for! Also could you do a video on a c sharp CMS equivelant to wordpress?
Thanks for the suggestion, I added it to Tim's suggestion list.
@@tomthelestaff-iamtimcorey7597 Thanks Tom!
Thank you so much❤️
Glad it was helpful
Does this library have helpers for creating ics-files / email calendar invitations? I've had experiences where I had to create a C# application that sends email calendar invitations and working with ics/vcalendar properties manually was kind of a nightmare.
Can FluentEmail also be used to read the emails that you receive from others, or would you use something different for that purpose?
how to send automatic emails on predefined timeline and given email addressess
Hi Tim, thank you for your video.
A quick question: Do companies use FluentEmail in the industry project as the default choice when they want to create some server Apps to send the data reports regularly?
It all depends on the company and the situation. Remember that in programming, we have options. We need to make the best choice between the options in every situation rather than prescribing one solution as the "best" option for all situations.
Hi Tim! Are you planning on creating Xamarin new content?
I know its on the suggestion list already, but I added your suggestion also.
@@tomthelestaff-iamtimcorey7597 we all be very interested having Xamarin explained by Tim
That is why I keep adding to Tim's list, so he can gage the level of interest in specific topics. He still decides what videos he will make, but I know the list has a lot of influence! So keep up the suggestions!
Xamarin will be waiting until at least .NET 6 because of the upcoming major changes to it (November 2021)
@@IAmTimCorey looking forward
Which extension you use for specificy method argument ,like name ,to
I was going to ask the same
That's the FluentEmail system. It created those extension methods.
@@IAmTimCorey can you please make a video on, which extensions you are using in visual studio.
I think this is what you are after Tools > Options > Text Editor > C# > Advanced and select Display inline parameter name hints (experimental).
@@asendall thanks for this
Tim can you make a video to use openxml generate word and excel ?
I noted your recommendation by adding it to Tim's list of possible future topics, thanks.
Quick question - what theme are you using for VS? Also, can a .Net 5 email compone be consumed by Framework (4.6 and above ) apps ? Thanks
I'm using the built-in dark theme. As for consuming a .NET 5 project in .NET Framework, no, you can't do that but you can make the .NET 5 library a .NET Standard 2.0 instead and then it will work (both with .NET 5 and .NET Framework 4.6.1 and above).
@@IAmTimCorey Wow, such a quick reply - Thanks
Thanks!
Thank you!
how do you know if the email was sent or not, and in case of an error at the email address how can you catch that?
thanks man
You are welcome.
Hi Tim,
Thank you for the video. But I am curious that a windows server and a domain name are enough for this to work ( say amazon EC2 windows server?)
You have to have a mail server to send email.
@@IAmTimCorey Thank you, You mean Can I use Gmail as mail server?
I have a problem, I want to send different emails to each user but the first user receives the 3 emails, use foreach to iterate with each user, what am I doing wrong, regards
I can't be certain what you are doing wrong, but this is an excellent time to practice your debugging skills. You will learn more by debugging this problem than you would by getting the answer.
I need to send mail to a list of recipients selected from a sql server table. Can you show how?
Break the problem down into steps. This video shows you how to send an email. That's a step. Now figure out how to get data out of SQL (there are videos on this channel for that if you need help). Then figure out how to loop over your data and call the email method. Put it all together and you are set.
how to create .msg files with dynamic attachments
what is the plugin to see the parameters name in methods?
it is not a plugin it is a option in vs2019 wich still experimental
Tools > Options > Text Editor > C# > Advanced >Editor Help section > display inline parameter name hints (experimental)
@@dyakobaram Thanks for the tip / clarification!
@@tomthelestaff-iamtimcorey7597 glad I could help :)
So if I change localhost to Gmail.com it'll send through Gmail? How do I authenticate myself, though? I'm a bit confused..
var client = new SmtpClient("smtp.gmail.com", 587)
{
Credentials = new NetworkCredential("YourMail@gmail.com", "YourPassword"),
EnableSsl = true
};
in order for that to work you will need to change your gmail account security to let your C# application access your mail (on your own risk!)
go to gmail account -> security - Allow less secure apps: ON
@@maxjustmax521 What else did you end up changing as far as creating the email itself?
Thank you Tim, Would you also be able to do a video on How to send Whatsapp and Text messages too. Appreciate it.
I can add that to the suggestion list.
I tried to implement this on an API. I can see the mail being sent on the PaPErcut SMTP application but i cant see the mail on the gmail site on the receivers mail. Any idea why this happens ?
If you are sending to Papercut, you aren't sending to GMail. You have to change over to use your actual SMTP server in order to send "real" email.
Hi, thanks for content, awesome video, About line 34 in 30:07, what name plugin/extension show parameters name, e.g ".To('email Address':...., 'name': ...)"
Here is how you do that: ruclips.net/video/f0YeVirKPfw/видео.html
@@IAmTimCorey Thanks ;)
Thank you now I can send a worm to people I don't like👍
This is a joke, trust me I'm retarded
Sending you my mothers "Don't you dare" stare.
Thank you
We appreciate your support!
Hi,I use azure webapp and in azure webapp smtp port is closed. I cant send email with smtp, what can I do?
I send emails with Azure app service. Is Azure webapp different than app service? If not, you should be able to send SMTP because I do. For some sites I use SendGrid and others, I put in the SMTP credentials and send using System.Net.Mail. I do not use .Net core, though, so that may be different.
@@rmw82a - Thanks for jumping in. I think this information will help others as well.
It sounds like a misconfiguration here. You should be able to connect out to an SMTP server unless it is blocking you on that end.
"build-in email system is being deprecated in .net 5" so what is the alternative? what does FluentEmail use?
Would like to know the answer to this too, as I'm struggling to send an email to SMTP server that uses Implicit TLS 1.2 connection. .NET Framework doesn't support it and it is deprecated in early .NET Core versions and will not be available in newer versions. Sending email is getting much harder - for example - Google Mail is now Implicit only so you cannnot use these classes anymore and need to find alternatives
MailKit
Didn't knew that. Good to know since we are about to make te switch from FW4.8 to Net5
Nowadays all transactional email is sent via services such as Sendgrid and Mailgun. You basically fire off API calls to the services and all email related handling is abstracted away from you.
@@florianvandillen That is simply not true. Especially not for large organizations, and their intranet
Is there any good package that you would recommend for Outlook interaction from C# program?
I mean, sending emails from Outlook account
Sort of injecting into Outlook
Why is it not possible to use Fluent Email in WebAssembly?
Thank you for explaining multiple times that this is the client
You can use the ms outlook 365 exchange directly to send emails, that’s what I’ve done in the past. It avoids having to use a local copy of outlook.
I can say for sure that if you wanted to do from web assembly, then web assembly would have to send to an api who can do the email. Because with web assembly, everything runs on the client. Browsers don't let you send emails though. If a person had a blazor app that needed to send emails, the best is to have an interface service. The blazor server side can do this way. In web assembly, you send to a web api and the web api can do it. The page would not care how its done.
EWS aka Exchange Web Services. Add package “Exchange.WebServies.Managed.Api” into your .net project.
@@andywalter7426 Ah thanks for pointing out the secrets of web assembly in short, I'm very new to it
@@jessecavada3015 This package for what exactly? Thank you!
Nice vid!, Is there a way to make it work with net core 6? I get a PlatformNotSupported exception. Thanks.
It should work. Can you try upgrading the package?
@@IAmTimCorey I forgot to mention i'm user Blazor WebAssembly, i got a warning on code that says "SmtpClient" not supported on 'browser'. Maybe it's because i souldt move it to Server? Sorry for my english.
Ah, that’s the issue. Blazor WebAssembly runs fully on the client, so it cannot do secure actions like sending emails directly.
would you mind explain why FluentEmail.smtp is secure , but why do microsoft official doc marks it as obsolete and recommends against using it ? ,thanks
Being obsolete doesn't mean not secure. I showed off the simple SMTP because it is something you can do with the built-in tools. The other options (MailKit, etc.) will work the same way, just using those other systems for the actual sending of the email.
@@IAmTimCorey Thanks so much
Hi.
Just found your channel by chance.
Please sir how to contact you by email.
I want to enroll into all your courses.
I found there are individual 26 courses in your website, plus some bundles.
Also found the black friday copoun.
I am a bit confused for which bundle includes all your courses?
If you can't use this for Web assembly, what could you use?
@rmw82a - Check out the replies to S3Kglitches comment below. I believe it addresses at least part of what you are looking for.
Nice Library
Thanks!
Bacon-wrapped bacon: I like the way you think! How do you make bacon better? Add bacon bits!
True.
I use email from .net console/web apps all the time. Wrap my class calls in try/catch and email the exception message to the it group for any errors. We catch errors instantly, and get what failed and can start fixing it, even before the ticket comes in.
Great!
@@IAmTimCorey finally able to contribute to the IATC group something positive.
gr8 video, can you please make a video about an ASP.NET MVC or blazor web app with auth when the client either sign up or sign in he will be receiving an email like you have been sign in to ... or if he sign up like a welcome and greeting email please and tnx alot
I added that to Tim's viewer suggestion list. Thanks!
When I want to use a production SMTP server how do I specify the user credentials?
Here you go: stackoverflow.com/a/56075014/733798