Sending Email in C# using FluentEmail

Поделиться
HTML-код
  • Опубликовано: 9 июл 2024
  • Sending transactional emails in C# is a fairly common practice, but it does not have to be a difficult one. Instead of struggling to get the code right, especially with the built-in emailing system being deprecated in .NET 5, you can use FluentEmail to quickly and securely send emails using C#. In this video, we are going to see how to send emails, use email templates, and how to easily test our email delivery system without using a production email server.
    Source Code: leadmagnets.app/?Resource=Sen...
    Mailing List: signup.iamtimcorey.com/
    Purchase Courses: iamtimcorey.com
    0:00 - Intro
    1:00 - Creating Demo Console App
    3:46 - FluentEmail NuGet reference
    6:08 - Establishing Email 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: FluentEmail Razor NuGet
    27:53 - Summary and concluding remarks
    Chapter breakdown provided by Ralfs HBK

Комментарии • 305

  • @haithamkarim9755
    @haithamkarim9755 3 года назад +58

    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.

  • @digestingpuma5597
    @digestingpuma5597 3 года назад +1

    Love the way he talks and explains things. Also, from every video, you can grab bunch of "unrelated", but very helpful tips and hints .

  • @alibarznji2000
    @alibarznji2000 3 года назад

    I appreciate all the efforts you put into these videos.
    Thank you💙

  • @jedidiahmay2092
    @jedidiahmay2092 3 года назад +1

    This is absolutely, exactly what I was looking for. Thanks much!

  • @lukoppc
    @lukoppc 3 года назад

    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.

    • @IAmTimCorey
      @IAmTimCorey  3 года назад

      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.

  • @NetMistro
    @NetMistro 2 года назад

    Thanks, Tim for all your videos. They really help!

  • @edotk4479
    @edotk4479 3 года назад

    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 :)

  • @wheelsam2659
    @wheelsam2659 Год назад

    Tim... you legend. Finding this video made my day and is going to save me a ton of time.

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      Awesome! I am glad it was helpful.

  • @davidjnevin
    @davidjnevin 2 года назад +1

    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.

  • @thomstunes6485
    @thomstunes6485 3 года назад +2

    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 :)

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 3 года назад

      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.

    • @thomstunes6485
      @thomstunes6485 3 года назад

      @@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 :)

  • @TheMegaloYT
    @TheMegaloYT 3 года назад +6

    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.

  • @TheBausahab
    @TheBausahab 3 года назад

    Thank you Sir;
    I found every phrase extremely useful said by you..
    Thanks for sharing your valuable Experience among us...

  • @oscarpina9753
    @oscarpina9753 Год назад

    Dude you're the best, thank u so much!

  • @captainalpha4853
    @captainalpha4853 3 года назад

    Thanks Tim!

  • @essamsalah829
    @essamsalah829 3 года назад +4

    why every time I watch aTim video in a specific subject a learn smth new in another subject,
    thanks Tim

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 3 года назад

      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.

  • @haroldpepete
    @haroldpepete 3 года назад

    you explain clear and good, thank for share with us, God bless you

  • @ana-mariaolujic6570
    @ana-mariaolujic6570 2 года назад

    Great tutorial

  • @chrisreddy3926
    @chrisreddy3926 3 года назад +1

    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

    • @IAmTimCorey
      @IAmTimCorey  3 года назад

      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.

  • @maxjustmax521
    @maxjustmax521 3 года назад +2

    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

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 3 года назад +1

      Thanks for sharing. I'm sure this will motivate others to explore and tweak their settings also.

    • @JaroslavFurman
      @JaroslavFurman 3 года назад +1

      Was looking if somebody commented on this.

    • @maxjustmax521
      @maxjustmax521 3 года назад

      @@JaroslavFurman I hope you got the answer you need.

  • @email195
    @email195 3 года назад

    Another great video Tim. I have been using Exchange WebServices to send emails which allows the email to be placed in sent items after sending which I haven't figured out how to do using SMTP. I really like the Razor Template that you used in this example. Looks like FluentEmail uses RazorLight. I really like the PAPERCUT SMTP tool as well.

  • @juhairahamed5342
    @juhairahamed5342 2 года назад

    Good explanation

  • @jlitodelcid326
    @jlitodelcid326 3 года назад

    Very good video

  • @Comphonia
    @Comphonia 3 года назад

    I was really hoping you'd use the paper cut SMTP you mentioned in the top 10 tools. And boom! You did 😁. Thanks!

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 3 года назад

      Tim does try to be consistent! Thanks for being a part of this great community and sharing you thoughts.

  • @abdallabenomran6809
    @abdallabenomran6809 3 года назад

    the best man in USA thank you

  • @diegoronkkomaki6858
    @diegoronkkomaki6858 3 года назад

    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.

  • @omarwasfi
    @omarwasfi 2 года назад

    Thank you so much❤️

  • @WTHBrou
    @WTHBrou 3 года назад

    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.

  • @abhishekjadhav9289
    @abhishekjadhav9289 10 месяцев назад

    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 ?

  • @DaNoob_777
    @DaNoob_777 2 года назад

    Thanks!

  • @amirnorozi1085
    @amirnorozi1085 2 года назад

    thanks man

  • @parsamoomkesh1346
    @parsamoomkesh1346 3 года назад

    Hi Tim. Thanks. Great as always.
    Could you make a video specifically about smtp and all this stuff?

  • @mashanoushad8386
    @mashanoushad8386 2 года назад

    Hi Tim,this tutorial is so great.How can i add an inline image for email with Fluent razor.

  • @user-oi2kd6kv8v
    @user-oi2kd6kv8v 2 года назад

    Thanks for this Great video and great explanation, is this method work for sending and receiving emails from exchange server using SSL /TLS. How..?

  • @attilaguba856
    @attilaguba856 2 года назад

    As always nice work! Do you have same / or similar / Email sender with Asp net core mvc tutorial too ?

  • @dyakobaram
    @dyakobaram 3 года назад +8

    hello Mr Tim, have you thought about creating community polls on youtube for your upcoming videos so we can vote for your next tutorials?

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 3 года назад +4

      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.

  • @rsifodias5
    @rsifodias5 3 года назад

    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.

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +2

      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.

    • @rsifodias5
      @rsifodias5 3 года назад

      @@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.

    • @gileee
      @gileee 2 месяца назад

      @@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.

  • @argeelearner3978
    @argeelearner3978 3 года назад

    Thank you

  • @jovi811209
    @jovi811209 2 года назад

    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 ?

  • @reinoutko
    @reinoutko 2 года назад

    I get this error for all 3 properties in the SmtpClient "smtpsender does not contain a definition for {propertyname}"

  • @eduardosoto8563
    @eduardosoto8563 3 года назад

    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.

  • @satori8626
    @satori8626 Год назад

    Can FluentEmail also be used to read the emails that you receive from others, or would you use something different for that purpose?

  • @Yodigity
    @Yodigity 3 года назад +2

    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. 🙂

  • @starkillermx
    @starkillermx Год назад

    Great video! One question, how can I set the credentials for the seder? user and password. Many thanks!

  • @AndrewLyzlov
    @AndrewLyzlov 3 года назад

    Thank you, Tim! How would you attach a file to an email? How would you save a copy in 'sent' folder of Outlook?

    • @florianvandillen
      @florianvandillen 3 года назад

      If you need to send as yourself in a Office365 environment, I'd suggest using the Graph API instead of a third party service.

  • @xw9279
    @xw9279 3 года назад

    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?

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +1

      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.

  • @solidtyper
    @solidtyper 2 года назад

    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?

  • @Sprintsolutions
    @Sprintsolutions Год назад

    how to send automatic emails on predefined timeline and given email addressess

  • @AhmadAlMutawa_abunoor
    @AhmadAlMutawa_abunoor 2 года назад +1

    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?

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 2 года назад

      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

    • @AhmadAlMutawa_abunoor
      @AhmadAlMutawa_abunoor 2 года назад

      @@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.

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 2 года назад

      @@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)."

    • @AhmadAlMutawa_abunoor
      @AhmadAlMutawa_abunoor 2 года назад

      @@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.

  • @christopherbaldwin1194
    @christopherbaldwin1194 3 года назад +1

    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

  • @kanatej
    @kanatej 3 года назад

    Thank you.
    It is a very good VDO.It can be applied easily.
    I have a question.Can FluentEmail attach file ?

  • @sruthivasudevan960
    @sruthivasudevan960 2 года назад

    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

  • @saaimurugan11
    @saaimurugan11 2 года назад

    Hi Tim, Fantastic video, I have a question, how do I make the CC optional?

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      Click the CC icon on the video.

  • @yingxing4134
    @yingxing4134 2 года назад

    Great video Tim, thank you so much! One question, is it possible to use template with subject?

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      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.

    • @yingxing4134
      @yingxing4134 2 года назад

      @@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.

  • @abhishekjadhav9289
    @abhishekjadhav9289 9 месяцев назад

    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.

    • @IAmTimCorey
      @IAmTimCorey  9 месяцев назад

      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/

  • @medupiramaboea7742
    @medupiramaboea7742 2 года назад

    Can I please get an example of a rich Razor template, something that can be used for send styled emails to clients.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      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/

  • @nimecloud
    @nimecloud 2 года назад

    In Blazor app what will be the sender IP address? Wasm vs Server versions.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      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.

  • @rameshshinde9635
    @rameshshinde9635 2 года назад

    Hi Tim,
    Thanks for the video.
    How we can capture Bounced Email (Non-Delivery Report) in C#?

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      You would need to read the email in the inbox unless you use a service that does it for you.

  • @Vitalick15
    @Vitalick15 3 года назад

    Thanks))

  • @rjean99
    @rjean99 3 года назад

    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....

    • @rjean99
      @rjean99 3 года назад

      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

  • @rightobjectaccount9765
    @rightobjectaccount9765 2 года назад +1

    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

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      Yes, but that isn't a Fluent email-specific thing. You can check their documentation, though.

    • @rightobjectaccount9765
      @rightobjectaccount9765 2 года назад

      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.

  • @matheusgeorgo
    @matheusgeorgo 3 года назад

    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.

  • @chacataplan
    @chacataplan Год назад

    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

    • @IAmTimCorey
      @IAmTimCorey  Год назад +1

      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.

  • @windowsbuilderthegreat3121
    @windowsbuilderthegreat3121 3 года назад

    Could you do a video explaining when to use structs and classes when using graphical/console applications

  • @myaloy
    @myaloy 3 года назад

    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

    • @IAmTimCorey
      @IAmTimCorey  3 года назад

      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).

    • @myaloy
      @myaloy 3 года назад

      @@IAmTimCorey Wow, such a quick reply - Thanks

  • @StudentCompanion
    @StudentCompanion 3 года назад +1

    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.

    • @Osbornesupremacy
      @Osbornesupremacy 3 года назад +1

      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.

    • @StudentCompanion
      @StudentCompanion 3 года назад

      @@Osbornesupremacy ok. Thanks wasn't aware of that!

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +1

      Yep, Microsoft is deprecating it and recommends against using it.

  • @datcolsol
    @datcolsol 3 года назад

    When I want to use a production SMTP server how do I specify the user credentials?

    • @IAmTimCorey
      @IAmTimCorey  3 года назад

      Here you go: stackoverflow.com/a/56075014/733798

  • @devlife013
    @devlife013 3 года назад +1

    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.

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 3 года назад

      Thank you for sharing the experience. I'm sure you will save others from struggling with similar issues, saving both time and frustration.

  • @krish99977
    @krish99977 4 месяца назад

    how to create .msg files with dynamic attachments

  • @mediaofhogwarts
    @mediaofhogwarts 3 года назад

    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 ?

    • @IAmTimCorey
      @IAmTimCorey  3 года назад

      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.

  • @leonroutzounis383
    @leonroutzounis383 2 года назад +1

    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??

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      Sounds like there is an issue with the firewall.

  • @vitorarchanjovasconcelosch1444
    @vitorarchanjovasconcelosch1444 3 года назад +4

    Amazing as always!! Please, make a video about TDD Tim, would be fantastic!

  • @hieuvo8460
    @hieuvo8460 2 года назад

    Does it offer email encryption?

  • @mohamedgadallahbasheer5606
    @mohamedgadallahbasheer5606 3 года назад

    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?

  • @fieryscorpion
    @fieryscorpion 3 года назад +1

    Hi Tim,
    Can you please create a video tutorial on how to receive and consume messages using Mass Transit?
    Thank you!

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +1

      I’ll add it to the suggestion list.

  • @igalsavis6491
    @igalsavis6491 2 года назад

    very nice ... 10x

  • @Gauravkumar-jm4ve
    @Gauravkumar-jm4ve 3 года назад

    Tx👍

  • @nathanzimmerman8422
    @nathanzimmerman8422 Год назад

    I need to send mail to a list of recipients selected from a sql server table. Can you show how?

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      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.

  • @cupelappsteam657
    @cupelappsteam657 2 года назад

    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?)

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      You have to have a mail server to send email.

    • @cupelappsteam657
      @cupelappsteam657 2 года назад

      @@IAmTimCorey Thank you, You mean Can I use Gmail as mail server?

  • @FreneticGamer
    @FreneticGamer 3 года назад

    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': ...)"

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +1

      Here is how you do that: ruclips.net/video/f0YeVirKPfw/видео.html

    • @FreneticGamer
      @FreneticGamer 3 года назад

      @@IAmTimCorey Thanks ;)

  • @rmw82a
    @rmw82a 3 года назад

    If you can't use this for Web assembly, what could you use?

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 3 года назад +1

      @rmw82a - Check out the replies to S3Kglitches comment below. I believe it addresses at least part of what you are looking for.

  • @michelchaghoury870
    @michelchaghoury870 3 года назад

    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

  • @Osbornesupremacy
    @Osbornesupremacy 3 года назад +3

    Any thoughts on MailKit vs. FluentEmail ?

    • @Osbornesupremacy
      @Osbornesupremacy 3 года назад

      okay, it looks like MailKit is a dependency of FluentEmail. What exactly does FluetEmail add to MailKit -- template support and syntactic sugar?

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +3

      You are correct in your assumptions. FluentEmail makes MailKit simpler to use (fluent) and supports nice templates (plus some other smaller bonuses).

  • @vandeljasonstrypper6734
    @vandeljasonstrypper6734 3 года назад

    Tim can you make a video to use openxml generate word and excel ?

  • @mrmoinn
    @mrmoinn 3 года назад +1

    So if I change localhost to Gmail.com it'll send through Gmail? How do I authenticate myself, though? I'm a bit confused..

    • @maxjustmax521
      @maxjustmax521 3 года назад +3

      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

    • @joshuapoitras2099
      @joshuapoitras2099 3 года назад

      @@maxjustmax521 What else did you end up changing as far as creating the email itself?

  • @konstantinoskinnas789
    @konstantinoskinnas789 3 года назад +3

    Thanks that was exactly what I was waiting for! Also could you do a video on a c sharp CMS equivelant to wordpress?

  • @tipmaleewangwon1292
    @tipmaleewangwon1292 3 года назад

    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

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +1

      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.

    • @tipmaleewangwon1292
      @tipmaleewangwon1292 3 года назад

      @@IAmTimCorey Thanks so much

  • @BobRossRightHand
    @BobRossRightHand 3 года назад

    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?

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 3 года назад +1

      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!)

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +1

      It is the paid version of the Tournament Tracker application.

  • @dmytrohryshyn
    @dmytrohryshyn 3 года назад +4

    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.

  • @pujithreddy308
    @pujithreddy308 3 года назад

    I'm not able parse datetimein the format of "yyyy-MM-dd" any inputs on this

    • @Jay-Dee
      @Jay-Dee 3 года назад

      docs.microsoft.com/en-us/dotnet/standard/base-types/parsing-datetime

    • @IAmTimCorey
      @IAmTimCorey  3 года назад

      Time to debug why.

  • @raminguliyev1520
    @raminguliyev1520 3 года назад +1

    Hi,I use azure webapp and in azure webapp smtp port is closed. I cant send email with smtp, what can I do?

    • @rmw82a
      @rmw82a 3 года назад +1

      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.

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 3 года назад +1

      @@rmw82a - Thanks for jumping in. I think this information will help others as well.

    • @IAmTimCorey
      @IAmTimCorey  3 года назад

      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.

  • @codingwithgyver1637
    @codingwithgyver1637 3 года назад

    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

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 3 года назад +1

      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.

  • @BarriDuty
    @BarriDuty 3 года назад +1

    what is the plugin to see the parameters name in methods?

    • @dyakobaram
      @dyakobaram 3 года назад +2

      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)

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 3 года назад +1

      @@dyakobaram Thanks for the tip / clarification!

    • @dyakobaram
      @dyakobaram 3 года назад

      @@tomthelestaff-iamtimcorey7597 glad I could help :)

  • @master1986a
    @master1986a 2 года назад

    Nice vid!, Is there a way to make it work with net core 6? I get a PlatformNotSupported exception. Thanks.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      It should work. Can you try upgrading the package?

    • @master1986a
      @master1986a 2 года назад

      @@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.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +1

      Ah, that’s the issue. Blazor WebAssembly runs fully on the client, so it cannot do secure actions like sending emails directly.

  • @pradnyakasar614
    @pradnyakasar614 2 года назад

    hello sir i am not able to create new project in vs code

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      VSCode does not have a "new project" button. Instead, you need to use the command line. This video will help you build C# projects in VSCode: ruclips.net/video/r5dtl9Uq9V0/видео.html and this one will help even more with the .NET Command Line: ruclips.net/video/RQLzp2Z8-BE/видео.html

  • @arunjoshi7885
    @arunjoshi7885 3 года назад +1

    Which extension you use for specificy method argument ,like name ,to

    • @rolandomedina7140
      @rolandomedina7140 3 года назад

      I was going to ask the same

    • @IAmTimCorey
      @IAmTimCorey  3 года назад

      That's the FluentEmail system. It created those extension methods.

    • @arunjoshi7885
      @arunjoshi7885 3 года назад

      @@IAmTimCorey can you please make a video on, which extensions you are using in visual studio.

    • @asendall
      @asendall 3 года назад +1

      I think this is what you are after Tools > Options > Text Editor > C# > Advanced and select Display inline parameter name hints (experimental).

    • @arunjoshi7885
      @arunjoshi7885 3 года назад

      @@asendall thanks for this

  • @marcusmaunula5018
    @marcusmaunula5018 3 года назад

    Nice Library

  • @alexei6557
    @alexei6557 Год назад

    anybody has received a ExtendedSocketException server explicitly refused connection?

  • @pathumniroshan6145
    @pathumniroshan6145 3 года назад

    Thank you Tim, Would you also be able to do a video on How to send Whatsapp and Text messages too. Appreciate it.

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +1

      I can add that to the suggestion list.

  • @dyakobaram
    @dyakobaram 3 года назад +2

    "build-in email system is being deprecated in .net 5" so what is the alternative? what does FluentEmail use?

    • @chrisharvey4364
      @chrisharvey4364 3 года назад

      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

    • @valeriesimpleton2525
      @valeriesimpleton2525 3 года назад

      MailKit

    • @Jay-Dee
      @Jay-Dee 3 года назад

      Didn't knew that. Good to know since we are about to make te switch from FW4.8 to Net5

    • @florianvandillen
      @florianvandillen 3 года назад +1

      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.

    • @Vptkvc
      @Vptkvc 3 года назад +2

      @@florianvandillen That is simply not true. Especially not for large organizations, and their intranet

  • @lborate3543
    @lborate3543 3 года назад

    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.

    • @IAmTimCorey
      @IAmTimCorey  3 года назад

      Great!

    • @lborate3543
      @lborate3543 3 года назад

      @@IAmTimCorey finally able to contribute to the IATC group something positive.