So, recording has started. Let's begin with what we were doing the last time. We had this idea of creating a static site. I ran through this process and I'll actually, instead of doing the process again, which is kind of pointless, I'll just walk you through the core steps that are necessary to finish the homework, just briefly walking you through. Here is my pencil in which I'll write the steps needed. The goal of the homework is actually to have a domain that you have. So let's call this domain.com as an example. And what I want to accomplish in the outcome is to have a site that looks like here. People should be able to go to this site and see that whatever you have. So that's the homework. So we plan to use a generator with generator site. The site generator tool will be using, that thing is called Octopress. As we generate a site, it creates a folder called public. In that folder, we will have a bunch of things that actually will be visible to people that visit this site. So we want to send the content of this public folder to a location called a bucket. So that the next step is, first step is generate a site, it generates a public content. This content needs to go to a bucket. Now the bucket name has to match the intended domain name. Our intention is to use that domain name. So this bucket name needs to be matching that name, meaning the bucket name needs to be this. And I will now show you an example, a live example of one of you who has done the homework already. So let me just open that example. I think it should be in Safari browser. And so here comes, I think that's the domain. So I think he has Cora, the Explorer dot fun. That's the domain you have, Greg has. So what I will do now is type it here. So that is the domain name he had intended to use. And so accordingly, he created a generated a site. And then I think Greg, what he did is created a bucket. Bucket name was also the exact same name. Now having done that piece, what the next action needs to do is S3 CMD, make bucket and S3 colon slash slash this. That's the action that actually creates a bucket like that. Now having done this part, it creates a bucket. And I think Rich is stuck because he just deleted, he manually created a bucket using a browser and he deleted it to wanted to create a bucket using the tool like line number 11. And then Amazon is taking time to actually really delete the bucket. And so it is stuck right now. So he's stuck because Amazon is in a cleanup cycle and the cleanup finishes at that time. Rich can complete his action, which is very similar to line number 11. And that will be S3 CMD, make bucket and his bucket site is called S3 colon slash slash www dot whatever that name is, dot website. And so he has to conclude that action. But right now he's in a deadlock because Amazon told Rich that Amazon deleted the bucket and it doesn't show him the bucket, but the bucket is not actually deleted. So the name conflict is where Rich is stuck after the bucket is created with the exact name that you have intentions, by the way, as an interim workaround, what Richard can potentially do is something like this, like cheating. Cheating can be something like, you know what my, I change my intention. I'll say, you know what, instead of www, I'll call it, you know, VVV. That also works. There is no such thing as a www is not a requirement and you can have whatever you like dot dot whatever you want dot domain dot com that you have. So it is this www is merely a convention. It is not a requirement. So you can actually change your intention for the time being and maybe create a VVV site. Who cares? I mean, it's an exercise. So you can actually experiment until you are stuck so you can get out of the stuck situation and move forward to understanding the concept. I hope that idea is clear. So you have this choice of line number 17. So www is just a convention, not a requirement. As you know, the site that I have doesn't even have a www. It is just V dot A dot. It is not a technical requirement. You don't have to have, by the way, I don't think, I don't think this www.com. www.com even functions. At one point I tried to make it work and then I may have neglected it. I don't think it would work. See it doesn't work because I don't bother. So that's line number 23, not a requirement. Having said let's proceed. So create a bucket. You got that piece. Next idea is to fill up the bucket. How do you fill it up? You say S3 CMD and then sync and then there are lots of steps. So you follow along. Synchronize this into the bucket that puts all that content in the bucket. That's the step number two. Sync. This is the MB action. So make bucket. Make bucket action. That's step number one. But actually this was number two. This is number three. The make bucket is the second action, synchronizes the third action, and the fourth one is the last action. Fourth action is very, very simple, but very tricky to understand. And that's exactly just a simple command. It is S3 CMD and WS create. That's it. And domain name, of course. So this WS create is something that people tend to miss because they get excited that as soon as they finish the sync, the thing kind of sort of starts to work and people get excited and they don't actually finish the fourth step, which is this step. And then they get stuck. They get stuck at a very, very simple situation, which is you have the contents of the entire site in a bucket and it's all publicly accessible and all that good stuff. But all these components are individual objects. They're not structured like a site. That's the problem that most people run into. And I have seen this because people get excited and they forget the last step. So let's go very, very, very carefully look at what the problem that people run into. Most of you run into this problem. And I'll show you that problem right now. And I'll define that problem succinctly in this file. I'll write that down. There are two things here, two things. One of them is objects themselves are accessible after S3 CMD sync, whatever that command is. Yeah, that's what you will see. That site is not, and then the second thing is the site. And so let's go see these two things now. So first one is the actual object like here is one of the objects. So here you look at what this thing is. This thing is, is a reference to a domain, which is constructed out of a bucket goes to s3.amazon.com. And then there's this object called index HTML. So now if you open line number 30, like this, which is line number 30. So I open and I click on the link and boom, access denied. Why it is a functioning site. I know it actually works, but then you are accessing an object. This is an object. So I don't want you to focus on objects, but look at the entire collection of objects together as a site representation. So what you're looking at essentially is this item number one, but what you want is a site representation of all the collections of objects that you put in the bucket. Let's go now see the difference. So you saw this site that looks like a site, but it is not, it is just one piece of the puzzle, the index object. What you're looking at in this window. And I will maybe make it even clear by putting this on this side. And now I will look at the site representation of the same item. So here, if you look, this is the website representation of the same collection of objects, not just one object, but all of them together. Let's go see what that means. So if you now look at this and dissect it, you will find it has similar structure, like the domain, a bucket name, then we have the site representation.amazon.com. You see that this line number 33 is the way it is different from, let's go see this portion and then this portion. So this item is the object and this is your website representation. And so what you will see in line number 35 is different from line number 29. Those two elements represent two different things. They're not super obvious and not actually very clearly apparent, unless you pay careful attention to the URL. So what I'll now show you is two windows side by side, one showing the first item, which is the object, and the second showing the second item, which is the entire site. Let's go look. So here is the entire site, the site representation in the URL, which is matching your line number 34 here on the left. And on the right side is an index file, which is just an object, that's the left side. Sorry, mixed left and right. They look the same, but on the left, meaning here, you have index and you click on it, nothing works. On the right side, you have the site representation. You can see from the URL, S3 website. And that representation actually is fully constructed site. You can see that the URL is right here. Now as a consequence, when you click on any of the links, it will work. See that archives, second post and blog and everything seems to work because they're properly interconnected and represented like a site structure. And you can see, this is my third post. This is my core of the Explorer website edited by 01 to whatever, by GL, so I think GL is doing this. And so that edit that he just made, and what he's doing is actually iterating through the cycle of edits. What does that mean? So what he's doing essentially is that he created a folder called public, which he created using source underscore posts where he's editing the files manually and then running the generate command to generate this public folder. And then he's using sync action to take this public into the bucket and repeatedly running it. So you modify something, so make a change and you generate again and you sync. You make another change and you generate and you sync. Anytime you generate and sync, you have a new website immediately. You can see the examples popping up right here. So he edited again, that popped up. Now again, this idea, which is the difference between the bucket items themselves and the site representation, that's the critical thing to understand. Now this doesn't actually make a complete site that you would like users to go to. You would like the users to go to this location, like here, and just expect the site to open. That will also happen. And I think let's check whether Greg has done that action or not. Let's go check. How do you check? You say dig and then the website name and then find out what's the answer to that question for dig. So let's go do that dig command and we'll run a terminal to find out. And so here is the terminal where I am generally open a new terminal and something was running on the backend. So here, make it a little big, even bigger and say dig. And what do we get? We get something very, very important to look at. And that is a DNS record. So what Greg has done is that he said, create a CNAME record like this and map this name, the one you want people to visit as a relationship, a canonical name representation relationship to the site representation of the bucket that he created. So this is the site representation of the bucket. And that canonical name Greg created in the DNS server corresponding to the domain that he got. So there is a DNS server for this domain. It happens to be on Namecheap. That's where he bought the name for probably $1. I don't know. I think he probably did not spend more. So Namecheap is the seller of the name. And Namecheap also is the DNS server to give you fun for free. Even GoDaddy gives. Everybody gives a free server, DNS server. That's where you edit the zone records. And that's where I think Cora the explorer.fun DNS zone file CNAME entry was edited to match the site representation of this bucket. So this is also done correctly, which means we can just ask users to open this site and it should also work. Let's go check it now. So I'm going to erase my ink and then go check that website. So we'll open a third tab and say Cora the explorer and it opens. It opens because of two things. One is that the domain name intended matches the name of the bucket. That's how you tell Amazon, hey Amazon, I have that intention. And the second thing is to do a CNAME entry on the domain and associate it with the site representation of the bucket. And that's how it completes the whole action. Then you have people visiting this location, so they go open the browser, this translates to a canonical name record that maps to the website representation of the bucket. And then the bucket itself has an intended name that matches the bucket name matches the intended site name and that concludes a bi-directional handshake. The bi-directional handshake is you let Amazon know your intention, intend to use this name and you let DNS system know, you know what, this alias is actually this. So then it works out okay, the entire internet system, internet system, the DNS system knows that if you go to this location, you need to actually go to the site representation of the bucket and then things work out. There's a chat question. The trickiest part, so Greg, if you can open the mic and speak, that's even better. But trickiest part, I think Greg is saying that, and by the way, this chat is not visible to everybody. It is, it is visible. So you can actually read what Greg is saying. The trickiest part was setting up CNAME at Namecheap. Yes, every company who gives you a free DNS server will have their own ways of setting up DNS records. And so you have to read, of course, every company is different. But at the end of the day, a zone file is just a text file with an entry that looks like more like dig output, more or less like dig output. So whatever dig output that you see is actually reading from the bind server for the DNS server, whichever company it is, they all have exactly same structure under the hood. From the web browser perspective, Namecheap will look different than GoDaddy and then anybody else. They all look different, operate exactly the same way, functionally the same way. And so, yes, it is kind of kludgy in a variety of sites and the kludgiest DNS entry configuration involves people. You have to actually make a phone call and have them do it, which is horrible. Don't even go to those sites. But there are sites and services that like they'll ask you to make a phone call to them and that's just bad. These are tolerable problems like go to Edit, Namecheap and figure out how to make a modification or things like that. But there are some horrible ones. There are hundreds of thousands of these companies that sell names and so that's the underlying idea. So with that, I would like to ask if you have any questions or maybe we can move on. And now that we have this domain functional, I would like to actually take the next action for today. So let me erase my inks here, so erasing the ink, the clear and then, yeah. So what I would like to do now is just briefly ask you if you have any questions on this specific idea. If not, we'll want to move forward. The homework assignment itself is in the next step. By the way, this video is now stale, so I'm going to remove this video. So this is a stale video. It is stale because Amazon has changed the policy and so the look and feel is kind of different. You can just delete the video and put a new one eventually. Policy by Amazon is that it requires you to add one more extra step before you can make objects public. That's just a security policy enhancement. And so you can ignore this particular video by the way. I'm going to remove it from the site and put a new one eventually. So I will start. When you click the start button, here you see the steps that I just talked to you about. Next thing you will see at the end here is to mark the next step. And that's the homework assignment itself, which I think many of you have done. I will now proceed to the next step. Here is an optional step that you can do on your own. Just another way of doing things and I'm not going to do this step right now. You're welcome to run it on your own and if you need help, just chat with me on Slack. What I would like to do now is a different but related exercise, which also involves the domain name. And just like we began creating our own site, and so we now have a www.cora.deexplora functional. So I'll just grab that name from here and we have this name functional as a website. So site works. Yeah, that's good. Next thing I want to get done is get an email work, email working. What does that mean? What do I want to see as a result? What I want to see is like Greg at this, no, not this, at this. I want to see an email from, boom, and I would like to reply to that. That's what I would like to see. That's the next homework, by the way, that simple as that. So make sure that you send me an email. And by the way, this doesn't have to be Cora the Explorer for you. It can be anything that your domain name is, whatever your domain name is, it will be different for everybody. One of you has what, maybe I'm making a typo, but you can correct me, what the hey.website like that. So, and of course your name is not Greg, your name is Richard. So that's what I would like to see. So send me an email, that's the ultimate assignment, the action I expect you to do is this line number nine. And I would like to reply to it. It's actually a very, very simple homework. And I'll actually walk you through live, but more important idea in, in this action is to understand. And by the way, I condition, condition is spend zero dollars. That's the condition. So you're not spending extra money. So of course you can spend money and you're getting done. But just for academic purposes, I don't want you to waste money. So spend zero dollars and still get this done. Line number nine, send me an email with your name. You know, you here, your name at whatever site you have. So you know, domain.com, whatever you got. That's what I would like to see. And there are a couple of nuances to this email that I would like to actually make sure. Not just an email, but an email, which includes some signatures for security and spam protection. Those signatures involve, we'll talk about this detail. So I'm just mentioning SPF and DKIM. That's the two things that I would like to see signatures involved in the body of the email. As you send, I would like to verify them and I'll describe to you what these things are and also tell you how to go about doing this thing by doing it for one of you. So I'm looking for a volunteer, a one that has a domain name working. Like you know, you have access to your DNS server, like GoDaddy or Namecheap. If you have, I'm looking for a volunteer to share the desktop and I'd like to actually walk you through this entire exercise. Should not take too long, maybe 30 minutes max, but including discussions on what we are really doing. So if there is a volunteer, please tell me that you have. Anybody? Okay, if you don't have a volunteer, that will be boring because I will have to do it on my own domain, which I have multiple domains, I can play with them. But I'd like you to actually pick and do it with you. So please volunteer if you have a domain name ready. What I would like to do is take control of your computer and walk you through this exact step with understanding of each and every step. And anybody, nobody? No volunteers, huh? I'm still waiting for Amazon. Yeah, you can skip that piece. You can skip and move on. You know that there's no deadlock here. You can just leave. And maybe if Rich volunteers, I will take that and work on his machine. Is that okay? Sure. Okay. So let's proceed. So what I would like to do is help with the understanding that we have this domain. Rich has what? Hey. hdui.website. So that's the domain name that Rich has, and he's waiting for Amazon to do a cleanup operation. So we'll skip that portion. The site will work, you know, maybe not today, but tomorrow it will work. Eventually Amazon will clean up and, you know, yeah, let's focus on email. So what I would like to see now, very, very specifically, I want to see an email from Rich at whatahe.website. So what does that involve? And of course I'll talk about SPF and DKIM and all that good stuff, but let's go copy this portion and open a new tab. So what I would like to do is describe to you how email flows, like exactly how it goes about. So when you want a sheet of paper here, email, when email flows from one machine to another, you basically have, let's go see two people. So this is one person, this is another person. This company, let's call him, call him a at b.com and let's call this person c at d.com. That's the two email addresses. Now the idea is this person wants to send an email to the other guy. So he opens up his email client software, it can be any software, any machine, any OS, whatever you have, any device. And that client will send an email out. So when you press the send button, what it does is looks for the destination. The destination is d.com. So it will go to a big query and look for the mail exchanger records. So these are MX records, just like CNAME record and A record, like we talked about A record and CNAME record. Now we are going to discuss another type of record called MX or mail exchange records. So what this record does is also stored in the zone file somewhere. And what this does, just like every other records, MX record. So that MX record gives you a list of servers running email for d.com. So now you immediately get a list. So this company d.com is running email servers with this in these three boxes. So let's one, two, and three, let's go three boxes are running here that run the email system for d.com. And this person has an account, this C has an account on these boxes. So there's a C mailbox and other people's mailboxes, but this is the d.com mail servers. So now let's go see a real life example. Here. We'll see what are the mail servers for Cloud Genius Company. Let's ask for the MX records. So we'll see, and you see some answers. Let's see what the answers are. I see that I have five mail servers running, one, two, three, four, five. And these are all run by the Google company. And that is the list in a priority order, one, five, five, 10, 10. That order of priority is where five boxes are running my mail system for my company. Of course, it is managed by Google, but the company name is this. And I asked for the question, what is the MX record for that? And the answer I got was these five machines, the MX record lookup. Now having seen that, what it means for d.com is the person who intends to receive the email is that they may have three or four, sometimes one, any number of machines can have as a part of the mail system. And so this machine that is sending the email out will immediately know where the mail needs to go. So the mail will flow on the internet in packets, small pieces, and eventually get accumulated in one of these boxes. Hopefully the priority number one, if not number two, if not number three, like that sequence. So like I have one, five, five, 10, 10 priority order. That's the order in which I have assigned my mail server priorities. You can choose your priority or actually the mail company will assign priorities and ask you to set them up accordingly. So we'll send those priorities according to what the mail company tells us. And then these packets, as the flow of email goes, it will eventually arrive this point and it will sit here. It will not go any further until this person decides to receive that email either through push or pop, push or fetch, there are two methods. Push meaning the server itself automatically pushes it to your phones these days or your other email clients like Outlook or some of the clients that you might have. And there are other email clients that don't support push, so that means you have to go and repeatedly say, hey, do I have a new mail? Give it to me. I have a new mail, please give it to me. And that fetch action happens repeatedly, periodically. That's the fetch method of accessing email for this person. So both methods work, push and fetch. And that's how mail flows. Now in order for you and your company domain, like whatahe.website, for that domain to have a completely functional mail that will receive and send email, you need to have some machine, some machine somewhere that is a mail server. And you need to have the whatahe.website, that website, host mail for you, and they will give you MX records. And so you will take them and assign these values in your DNS system. And then you're done. That's as simple as that. So whatahe.website, that domain, whatahe.website, that's the domain name. And so this domain, this company will now have a fully functional mail server up and running ready to receive email from other people. Similarly, users inside this company, like Rich, for example, will have a mailbox here and all these boxes will have a mailbox for Rich. And so Rich has an email client, like a phone or a laptop or desktop or whatever. And so that email client needs to be hooked up to this mailbox. So Rich will get pushed or Rich can fetch both actions. So you can go fetch and retrieve or just mail gets pushed to Rich as and when it arrives, those actions will happen. So that's the receiving part. Now the sending part, send, how will Rich send an email out? Rich can send an email out from this domain, from his account, like rich at whatahe.website. From that domain, that email address, if Rich wants to send out an email, he needs to use a bunch of protocols. Like one of them is SMTP, SMTP is simple message transfer protocol. That protocol Rich can use on his email client and hook up again to the mail server. And then ask this mail server to relay it out to the destination. So destination can be any other domain or maybe the same domain. It can be to a colleague in the same company. So the destination can be back to his company. So in that case, it will not even go to the internet. It will just say, you know what, yeah, it's right here. So just go to the other person's mailbox and sit right there until the other person fetches or we just push it to the other person. That's internal email. You want to send it to me. So say cloudgenie.us website or rather the domain and send it to Nilesh. In that case, this email packet or the collection of packets that Rich decides to SMTP send to me has to be delayed from the mail server over to the destination server, which is another collection of MX records for this domain. And there are a bunch of mail servers, 111551010. So these are the company, this company's mail servers and you relay that. And so the destination server will receive that mail and store it in the mailbox for Nilesh until Nilesh decides to fetch or just gets pushed to Nilesh's phone or laptop or other device. That's how overall mail system works. Now where do you get these mail servers from? And I said, you know, you should not be spending money for this exercise. Most of the exercise, I will not be spending money at all much. Obviously I envision if you're like being careless and not terminating your machines and all that in the next two, three months, if you are forgetful, you might spend $10 if you forget a machine or something like that. So if you make a mistake of letting the machine up and run and don't bother deleting, terminating, you might actually incur cost if you are not careful. So just watch that. You should not be having trouble. I don't foresee any problems, but I'm just telling you that you have to be careful and attentive on what resources you're using up. Having said these mail servers I'm talking about, they are available from a variety of companies. Some of them are free, others are not, and some are free for some time. Do you know who these companies are? I would guess one is Google and I would guess one is Microsoft and I would guess one is Amazon because the one is always Amazon and God knows what the fourth one is. There are many. And so the fourth one I'm talking about, this is the free one. This is a company called Zoho.com. I don't know why they are free, but they are Amazon. The free thing, I am always doubtful about whether I should be using that for business or not. Honestly. If something is free, as in zero dollar free, I am suspicious that I should not- I would expect that they allow advertising to accompany the emails. I don't know. We have to read the, I've never read, honestly. So I don't know the policy that they have. All I know is that this is a good academic exercise. That's why I like it. There is no other reason. I personally use this. I also use this. These are not free services. This one is free and zero dollar free for an academic reason, I like them because it gives us the idea of completely understanding how email works end to end with every single feature set that you can think of from a big end company, a high end corporation deployment. They give you, they let you play. These guys are also free for 15 days and these are free for 30 days or something like that, some amount. So you're welcome to go this route or that route, but just for the exercise, this route. They're identical from a structure and concept perspective. They all operate the same way. Amazon doesn't have a consumer focused email system, which they have an email service and all that, but it is mostly for commercial sending emails out like bulk, bulk send, bulk send emails and also they might have a consumer email also. I didn't check. There are so many services that they keep coming up every single day that I find it hard even for me to keep track of what they're doing these days. And almost it has been like this forever, but let's go check Amazon console. Where is Amazon? AWS.amazon? No, AWS.amazon.com. And so in this site, you will probably find an email system. Let's go see what we find. So we'll go log into my account. They might have it, they're just there, they're doing it. And so let me just log in. So I pass my token and let's see if I can search email service. Simple email service. So we have three types. Oh, there is, there is this thing that I was looking for. So in here, you will see that they have Amazon has a email service called simple email service, which is like bulk sending newsletters. Then they have this called Pinpoint, engage users by email, SMS portion. So this is not actually an email service, but this is, yes, that's what I was talking about. So this is your business focused work email. So this is for bulk newsletter. It is also business, but it is merely for sending out junk, most companies send junk mail. There you have a newsletter, you sign up, you unsubscribe and all that. That's this service. So we'll talk about that one later. I'm focused more on like proper business email, send email person to person within one company to another company. That's the kind of structure. So they have a system called work email, which is somewhere here, I guess, work mail business applications. That's what we are talking about. And similar to that, we have G Suite, Google and Microsoft has other solution. And so what I would like to do now is clear my ink and understand each of these variety of solutions. So we'll go begin with Office 365 and let's see what they have. So here in office, it is very easy to just sign up and start using, but you have to pay money eventually after 30 days. So I'm going to just log in and see what they let me. And so I think I am already signed on, is it? Apparently so. So I'm signed on and I'm going to cancel. So here what I'm doing is just understanding how Microsoft's solution for the email system works. This should like take 10 minutes for us to finish off this discussion for Microsoft. We'll then switch to Google. We'll also then switch to Zoho and actually do it for us, for real, for a domain like Rich's domain, for example. So here in Microsoft's example, what you're looking at is a live setup. And so it is hard to exactly pinpoint how will it look like from a beginner's standpoint, but a beginner user who's a new company, wants to use Office 365, they will eventually land in a place where you will see email setup, is it, where is that? So this has been a very ancient setup. So even I have forgotten how to set up emails. So I'll go look for it. Products set up. No. Reports, no. What I'll do, the easiest way for me to find is to just open a new tab, like a fresh new user like this, as in a new person coming in here in an incognito window or a private window. So now nobody knows me as to who am I. So if I just go to Office 365 and see if I can subscribe, they'll let me subscribe as a new user. So I can go here and sign up, like Get Office. And in there, you will find that it has a subscription price for business. And you will find that for business, I can buy a subscription for $12.50 per month, but I don't want to spend money right away. So what I will do is I'll scroll to see if I have a promotional offer. And apparently, there it is, try for free, right there. So they have a try for free option. That's what I would go if I am that route. So try for free and proceed through the signup process. It is actually very simple. Couple of steps involved in this. This is the beginning point to get signed up with Amazon, with this company. What is that company? Microsoft. A couple of steps that will follow along if you are into that route, into this direction if you're going. There are a couple of things to understand and make sure that they work. They all operate basically the same way, by the way. They will have the same set of questions. The first set of questions will involve, do you really own that domain? Are you sure you are the real rightful owner for what the hey.website? Are you the owner? They want to verify that. That's the first thing. So the verification happens through another DNS record. And that another DNS record is they'll ask you to create another DNS record, this type. It is not MX yet. Not yet. Not yet. They'll ask you to create a TXT record type. A TXT record is simply a string, a character string that you go and create. They'll tell you exactly what to create and you have to go to your DNS server and then create a TXT record. And I'll show you an example as to what it means and how it looks like. But that's the first verification step. Are you the real owner for the domain? If so, okay, go forward. Next is that, you know what? Here is a list of MX entries I would like you to do. So 1, 5, 5, 10, 10. They'll give you 5 entries and ask you to set these up in your DNS system. So you go say, okay, I've done that. And then they will come again and say, okay, let me verify. Let me verify. And they will verify the MX records by doing another query on the backend on their side. And then the verification completes, you're done. That's how simple it is. The nuances is what we will actually go through and understand the other ideas, which is about security signatures, signing emails, reducing spam. And those ideas are two more records. They are the SPF record and the DKIM record. We'll talk about those two records. They are, by the way, both of them are actually TXT records. So this is just two entries that you do make, entries in a TXT record, one for this, one for that. You have to create those entries and then security aspects take into account. I'll describe these things a little bit later, but we'll get there. But for right now, I would like to have the mail functioning. So the sequence of steps is again, very simple. First question, are you really the owner? If so, prove it to me. So you prove it by adding a TXT record, prove. Prove it. So you prove it by adding this record. Next question. Okay. You succeeded. Then I'll give you these records for MX. So one, two, make these five entries in the DNS. And so you say, I did it. And so they let me verify, they will verify and then mail works. That's the simplest approach to getting email to work. These things we'll discuss just a bit after your mail works. So we understand the security problem and then add these entries to make sure that we are taken care of. So we'll do that part later. Now this is how Microsoft will walk you through, you will go to look at Google and you go to open another incognito window and say, Hey Google, can I? So say Google G Suite, same thing. So you go Google and say, sign up. So get started. And so it tells you how many employees. And so it says 14 day free trial. And so it's just me for right now and say next. And so here's your first name, last name, current email address, next, like that. And the next question is going to be, okay, what's your domain? And are you the rightful owner? And so here's a TXT record, go prove it to me. And then MX records, here are the five entries and then you add them and mail works. So now let's go see some of the text records in my example. Here is your, let me break out the other command line here. So just focus on one terminal and the terminal I think is big enough so you can see even if you're on a phone or something, I'll make the command line bigger. If you happen to be on a phone device, you can pinch and zoom commands that I'm typing here occasionally, they can become small. So if you're on a phone, just zoom. I mean, pinch and make it wider. In the zoom software, pinch to make it bigger. Like, you know, use two fingers and move them away from each other, zoom, that zoom action by hand, not the zoom app, pinch and zoom. So let's go dig for the cloud genius TXT record. And you will see here a bunch of records. And one of them is this. This is your Google site verification record. So the chat, pinch and zoom working great. Awesome. If you're on the phone, that works out okay. You can just zoom it and see and, you know, even if you're on a small screen, it should work out. So I am going to erase my ink and just focus on the right section. What I'm looking at is a TXT record for my domain in which I have a TXT entry for this domain where I have added this record. This is just a random string generated by Google for me to go, hey, challenge you. I challenge you. Prove it to me that you own the domain. So I said, okay, let me prove it to you. I go to my DNS server and I edit my zone file there. Zone file edit for a TXT record. By the way, there are two records. We'll talk about this one later. That's the SPF record, by the way. So we'll talk about that one later. Not right now, but this. So this one. Prove to me that you own the domain. So I come here, edit my zone file, look at this entry and say save. And then I go back to Google and say, hey, I did it. And so Google immediately checks. And now we'll go and see this same entry, this entry on my DNS. So it's very simple. We'll go to my DNS, happens to be in what the company is called, Cloudflare. So I'm just closing out these windows, close, close, and here is Cloudflare. That's where my DNS server sits. Of course, your domain may be in GoDaddy or Namecheap or other places. And you should actually migrate, there are two migrations, migrate just the name server for right now. It'll let you do it immediately. Don't have to wait for 60 days. And this is my domain. You will see that my domain has the DNS section in which if I look for the TXT records of interest, there are many records in my domain, but I'm just focusing on the right ones. So we'll look for TXT. And actually, the way to search for it will be to scroll. So I'll just scroll for the right set of TXT records. And so here are some of them. And the ones of interest are TXT, oh, too many records, too many records. Back a little step, no, forward, maybe. Yeah, it's hard. There is just way too many records. The best way to just search is to dig. So that's what I did is add that entry. And you can, of course, add another entry. Don't make duplicates, but add an entry here. So you say, this is my TXT record. And you just paste whatever the Google tells you to paste, paste it right here and save. That's one action. Now, other action in association with a DNS zone file entry is this step. That is tricky to understand. So let's go understand this detail. And different companies will have different values for this field. So now is it just as easy to find the DNS records somewhere for yourself, such as GoDaddy? GoDaddy has a DNS management button after you log in. That's where you will find the DNS records for GoDaddy. This look and feel is for Cloudflare. So if you have GoDaddy open, just project your desktop and I'll walk you through where exactly because I am actually about to switch over to you in the next few. Once I finish the discussion about TTL, I will come to your screen and we'll look at your DNS and we'll configure it with Zoho. I'm just asking right now, but let me see if I can find it myself. There should be a button called DNS management inside your GoDaddy. So that's where you will find it. So what I'm talking about right now is the subtlety involved in this thing. So there are values here associated. Like for example, every entry that you make, not just TXT, but any type of name here, you go to www and then you have the site representation of the bucket. You have to then assign a TTL value. It's best to go automatic. That's easiest. But then of course, you can fine tune this TTL values. Two minutes, five minutes, and all the way to any bigger number. Now, what does that mean? I think that's the most important thing to understand. What's the meaning behind it? What's the meaning here is the simplest way to think is for most practical usage applications, low number is better. That's how you should begin thinking low is better. So two minutes TTL, better solution. Why am I saying it is better? Because what this actually is, is the time for that record to live. What does that mean again? It means that this entry will be refreshed globally in the next two minutes, every two minutes. So it's faster refreshes. And that faster refreshes are expensive on the company here, this company, whatever, Cloudflare. Well, that's why higher-end professional enterprise-grade DNS solutions give you a very low TTL value up to as low as TTL value of two minutes, sometimes even one. Very low TTL values are available from a variety of providers. Other providers will take, at the minimum, they will have 30 minutes of TTL value, which means a record. If you change something here and you add the record, it will take 30 minutes for them to update the global DNS system. And sometimes this DNS replication can take forever, like 48 hours. That is boring. That's why this TTL value selection, low is better because they'll do it faster. You don't have to wait 30 minutes, you can just wait two minutes and expect it to work. That's the core idea behind this segment. You will find this in every DNS server, Namecheap, CodeAddy, you bring it, whatever, it's there. It's the value that goes in the zone file. So I'm clearing my ink now. And now we'll talk about the Zoho scenario. So we'll see the Zoho scenario now. So in Zoho company, where I don't think I have an account, but I have seen it. Let me just switch to the right camera. I don't know why it switches to the other camera for no reason. So zoho.com, that's the domain. And I'll open an incognito window so that they will let me open a new account. So new private window, go to Zoho and let us see if they still have this free thing. Apparently, let's find out. So here, if you go and look for mail, so it tells you something, that you can get a Zoho email, sign up now, but is it actually truly free? Free sign up, okay. And what's the price? Yeah, there it is. It's a free plan. There are limitations to the free plan. The limitations are you can have only five people in your company and every user will get a 5 GB mailbox and the attachments cannot be more than 25 MB. You can access only from the web browser and email hosting for one domain. I think that's a good enough to start. So that's what I recommend that you get this for exercise, academic exercise, it's a great one. But for actual corporate deployment, I don't think I will agree with that idea. I would suggest that you go for a bigger company with a lot more backing to actually handle your real customer demand. Not that I'm complaining about them, but what I'm saying is that this is a good academic exercise. So with that understanding, let's go. Let's go take the free plan and deploy it to see how it works out. So what I'll now go do is to stop projecting and ask Rich to go to this location where you can actually get to the location where you can sign up and let us sign up and mount your domain on this, mount your mail servers on this. So here my screen sharing is stopping and I'll request Richard to please share so that we can see and make your domain go live with a real email system and then it should like take next 10 minutes and we should finish this section. I'll take remote control and drive it so it's easier, but you can take a look at what's going on. So here what we are looking at is the DNS management for GoDaddy. You can see that this company GoDaddy is, they call it, by the way, you have to verify your email before that they will account it on temporarily. Right. That's what I was doing in the middle of it. I was... I see. So I'll let you do that please. Please, please do that. I'll let you finish that action and once you finish that one, then GoDaddy will let you proceed otherwise they'll lock you out. You have to search for GoDaddy's email, it might go in junk, GoDaddy is known for junk. Just search for GoDaddy in your junk. In my trash? Yeah. Trash or junk, all mail. Search for GoDaddy, see if you have an email from them in the search messages top. So say GoDaddy, see how much junk everybody receives, right? So yeah, verify second month, second, second, second email. That's yesterday. That's from yesterday. That's 19 hours ago. Yeah, this is it. This is it. You have to verify the email. And so now you have verified, you can view your domains. And now we will begin removing all the records in your website, right? So we'll just start deleting your domain records, left and right, because we don't want to use any of the GoDaddy's things. So we go to DNS section, which is right there. And say manage my zone, edit the zone file. And so there is your zone management, DNS management. And here somewhere you have to go search for your own domain. How clunky that thing is. They should just pop up. They know your domain. So yeah, exactly. They should just bring it up, but apparently not. And they're telling you, are you kidding me? You bought the domain from them. How about my domains over there? Just a minute. Let me just a minute. My domains. That should show you. Okay. My products. Just a second. Let's see. I think I reached the destination. This is where I was a moment ago. Let me see. There's a refresh and that should fix it, right? So the refresh should fix it. I think there's a bug. So we can ignore that. Let's go forward. So what we want to do is let's just look at what we have in the records. As a fresh new GoDaddy account. We have an address record, a record for everything in your domain. It is parged at GoDaddy. And so we don't want that, right? We don't want that record. Similarly, there is a canonical name record www pointing to the act symbol, which is currently part, which is the domain itself. The whole thing is part. If you go to that website, www.Wardahey.com website, it is part at GoDaddy. Some GoDaddy page shows up. So we want to get rid of all these records one after the other. The next record you have is the CNAME record, which is also another domain control.com, which is a GoDaddy property. The name server records, you want to keep these two and the last one. You want to keep these two. They actually manage your name server, the DNS server itself. So you want to keep the last three lines. You do not want to delete them unless you want to move away from GoDaddy to another DNS server. At that time, you will have to change the name servers. Having said this, you have your name servers, domaincontrol.com, NS33 and NS34. The two name servers you're currently using, you can leave them alone. And what I want to do now is to edit your records. So I'm looking for an edit button here somewhere. And I don't see that yet. So I'm going to shrink your window. Do you see any edit buttons? Down there asking, do you want premium DNS? No, I don't want. I don't want anything premium. All I want to do is just edit my domain. Where is the edit button? I'm looking for it. I'm new to this too. I know, me too. So we'll find it. It should not take long. Let's go see manage zones. And if we run into this problem, we'll do this on a different domain that I control. So we should be able to work that out. What a header website. And yes, we bought this domain from GoDaddy. So that's the domain. And we verified your email, dear. Come on. And I think that's the, it's a bug. We did just verify like a few minutes ago, right? Yeah. Yeah. It's a bug in GoDaddy. So they're telling you email sent again. So let's go see if you have an email there. But if it is, if you don't arrive, if you don't see the email again, another one, then we are going to ignore this and do a different domain. Yeah. I don't see it. Refresh please. Refresh the inbox. Oh, sure. Nope. Let me check spam. Try all mail. Okay. This is not showing. So GoDaddy is behaving like GoDaddy, I would say. We can pardon them and move on. There it is. But it's also old. 27. Right. I'm not seeing anything new. No, I don't want to go central. No. You don't want to go central? I don't want to launch a new website with GoDaddy. That's not the idea. I don't want GoDaddy's websites. I want nothing to do with GoDaddy. So we'll pardon them and move on. We'll look at this later, but not in a live session. So we'll look at this one-on-one and we'll fix it. Right now I'm switching away and switching to a different domain that I control. So I can actually set up a Zoho account so all of you can see as to what it takes. So with that, I'm going to project my screen and I'm going to switch away from Rich's desktop, show you my desktop, and we'll operate the same exact exercise with a free plan from Zoho with a domain that I control so that I can actually drive. So now I have to prove to these guys that I control the domain I have in mind, which means it is the domain that I have in mind, fungibleflowers.com. That's the domain I have and I want to prove it to them that I own it. So I'll say, sign up with a domain I already own. So I'll say add. Simple action. Ask me for a name and I'll go give it my email address and a phone number and confirm the mobile phone number and choose a password. I'll choose a password now and here is my password generator and I'll generate a password and paste it. And then I agree to the terms. Proceed. So now it is telling me the domain here and I'll say sign up. So I will sign up. And then it says, okay, I've got a verification code now so I'm going to type that verification code. I'm going to type 5, 8, 9, 3, 4, 1 and verify my mobile phone. And then it is asking me to set up a two-factor. So I'll say, remind me later. It's a good idea by the way, but I'm going to say, remind me later right there. And it's going to set things up. Now it has not verified my domain yet. So it has just verified my phone. I will now ask Zoho to ask me to verify the domain ownership. So here, verify the ownership of this domain. So I'll say, okay, let's do it. So how do you do that? I can click here and say, what is my domain provider? It is none of them. So I'll just select others because that's a generic solution, others. And it is the simplest solution, by the way, the others solution, because everybody is customized. They'll show you how to do GoDaddy. They'll show you how to, there's a video for that from GoDaddy. There is a video for one-on-one, Enum, EuroDNS, WordPress, this, that, but I'm none of these guys. My name is different with Cloudflare, so others. That's my choice. And what we're really asking here is to add a TXT record, the TXT method, where you have to put this entry for Zoho verification in, in my domain. So here is my domain where I have, where is that Cloudflare thing? I had to open, I think, Cloudflare. And so I'm opening Cloudflare again, logging in, and then typing in and then putting my second factor token. And then I go to my fungiblecloud.com website, DNS section, and look for creating a TXT record. So here we go, TXT, the add symbol, and then the content, not this content, the content from that domain setup instruction here. That's what I want, to grab and put that here. So I'll maybe put these two things side by side. That's easier. So I'm putting Zoho on one side and this Cloudflare on the other. So here is my Cloudflare, I'm going to add a TXT record, putting the add symbol or leaving it blank and click to configure the TXT record with this data. That's how I'm letting my DNS system know that I intend Zoho to verify me. So I save the record and then add my TTL to as low as I can. So it happens quickly, two minutes, and say, add the record. Here it says to add the add symbol, which is the domain itself. Various companies will handle this aspect differently. Some people will say, leave it blank. Some people will say, put the add symbol. Some people will say, put the domain name itself. So it depends on the company. Like my company here, Cloudflare is asking me to put the add symbol, which I did. And I will select two minutes, the lowest possible TTL you can get away with. Sometimes the TTL is 30 minutes. So you have to wait for that long and add the record. So I just added a TXT record here, like that Zoho verification. Let's go verify that. So here, dig, and then fungibleclouds.com. And please get me the TXT record for that. And what do I see? I see Zoho verification. And so the Zoho verification is actually the one exactly that I put here. It is what is showing up already in this line, which is nice. So what I need to do next is ask Zoho, hey, can you please verify? So there's a verification button at the bottom of the Zoho screen. I'll say, okay, go ahead and check, because I checked myself and it shows up in dig response in the answer section. Question section, what's the TXT answer? One of the values of TXT record is Zoho verification. I have this SPF record, which I think I should remove to cut down confusion. So I will go to my Cloudflare, look for all the TXT records I have, and delete the other TXT record from the system. So I have these two records, one for this TXT. So I'm going to delete that record outright. Say, okay, that one is gone. And now I have only one TXT record, which is this domain. And I will be using that record and checking my dig query again. And it will take a few minutes for it to update and die out. So this entry should disappear from dig queries worldwide in the matter of, it is not two minutes actually. It might take longer than two minutes because it's not actually a new entry. I just deleted an existing entry. This is Rich, I've got Domain Manager working now for GoDaddy if you want to go. Sweet deal. So let's go move forward and we'll switch to your desktop. Project please. Okay. One second. Thank you. And so the same thing we had to do with Rich's, which is to set up a TXT record and ask Zoho to verify. We'll do that. That should be very quick. By the way, others are welcome to go along, follow along the exact same steps so that you go through the motions together so that we are on the same page, all of us. That's the plan. That's the reason why I'm showing you a live example so you can actually make something happen for yourself and have fun with email. Sending and receiving email is not fun. I mean, it's not boring either. But doing it on your domain and, you know, giving email accounts to your family members is a good idea. I mean, just have them some fun. And you control the whole thing here. So for your own one person company, that's the idea. Are you projecting Rich or about that? I do not know. I may have lost you. Let me try again. Rich is projecting now. And so let us see if we can, no, he's not, he's not. So see if you can find a green button at the bottom of the screen. That's what I'm trying to do and that's what I'm trying to do. So back to share. And it shows my two screens and it says what do you want to do? And I'm going no. And it says pick a screen. Finally. Awesome. Awesome. Awesome. Okay. Let me know if you see. Yeah, we see some blue background, but nothing else. Nothing else. No. One more time. You should see something because it's now we see it. Now we see it. And now we see the edit buttons, right? So we see the edit buttons right there because your name has been verified successfully. So we are to get rid of the first three records. The A record is kind of bugged domain. I want to kill that record. What I want to do is edit the A record here while you're not clicking. Hey Rich, it is not clicking for me. Can you delete the record number one, two, and three? Sure. So delete A, delete two C names and then add a TXT according to what Zoho tells you. It tells your browser is misbehaving. Something is complaining about, I don't know what, are you using a Microsoft browser? Looks like you are. I'm using Firefox. That should not be a problem. That should not be a problem. Firefox is one of the best browsers you can get today. So you deleted the A record. Now please delete the other two C names. It's being really reluctant to do things. Come on. I know. I know. That's the reason I don't like GoDaddy. I keep complaining about GoDaddy, but then I keep going to it again and again because they give you a $1 domain. Oh, that's me. I don't like wasting money. That's how it is. For an exercise, you know, you just take away, throw away domain, play with it, understand it, move on. Unless you want to set up a proper domain, in which case it's a different story. Okay, well, I know what I'm supposed to be doing. Go ahead and go back to your screen because there's no reason to waste time. Yeah, makes sense. So I'm going to switch away and go back to my desktop sharing and see as you can see my desktop coming up in three, two, one, there it comes. So what I plan to do talk about is this SPF record should not disappear immediately in two minutes because it is not a new entry that I put. I just deleted an existing entry for that TXT line entry. So it is not going to immediately go away as you saw me delete that here in my zone file. And so this is a small domain I have just for experimentation. And so that's what you see is the only TXT record showing up modified a minute or two ago is also showing up in my dig query. And now I have only one. It disappeared. The other record is gone. Now this entry is what Zoho will look for to verify that I actually own the domain. But it's going to tell Zoho, Hey Zoho, can you go and check because I checked. So you should also check and it should verify. So now it is globally available. That entry on dig is globally available to every computer on the planet. As long as it is connected to the internet, this command will produce the exact same result, the answer section. And that's what even Zoho will find. And so we'll say Zoho go check. And so say verifying now and succeeded. Congratulations. You verified the ownership of the domain. Awesome. Now what? Now what? So I say, create a mailbox for me because I'm the root user, the primary user. So create a mailbox for me by the name Nilesh. And so that's what I'm asking is to create an account by my name. So I become the super administrator. Super admin will have all the privileges you can do like create users, delete users, things like that. Read other users emails. I'm just kidding. Actually, technically it is possible. In a super admin in your company can potentially snoop on other people's emails. Just telling you that this is a fact. I'll show you how you can do that and how companies can prevent that. So both options are available. I think the best approach is to actually prevent even the super admins from snooping around on emails of other users within the company. That's the better action. You can set a policy around that. If you don't have such a policy, by definition, super administrator is super superhuman. So they have superpowers. So they can snoop other people's emails if you don't set proper corporate policy. So that is a critical thing to understand. The best practice is to set a policy in your company to not allow even the super admin to snoop or look around on other emails, other people's inboxes. That's the right policy to set. So check if you're doing it that way. Having said, I'm going to set up a super admin, create account. So I created an account. Now I have a mailbox on the system on Zoho. I have verified my domain. I'm going to add my users in my company, which I can possibly skip because I don't want to plan on adding users right now. So I'm not in the mood of adding more users right now. So I'll skip this action, which is kind of moot. So I succeeded this action. The second action to add users, I'm going to skip because I don't have employees right now. But you can always come back to this portion and add family members in your company, like my friend or my family member or my sibling, like that. You can always add users later on after the fact. But let's get the thing going on me, the super user here, at my domain fungibleclouds.com. That thing got verified here. Skipping this portion because I don't plan to add it right now. Creating groups can also be skipped because I'm only one right now. So what's the point of creating a group containing one person? That's also going to be skipped, skip, skip. And then the next step, which is configure email delivery. Now this involves creation of MX records. Next step is to configure the SPF DKIM records, which are two TXT records. Next step is to migrate your existing email from wherever it is currently over to this company Zoho. Now that's an optional step. For a new company, you don't even need to migrate because there is nothing that was there to begin with. To begin with, you had nothing. It didn't even exist. So migration may not be relevant for new companies. For old companies, it's a huge hassle, humongous, gigantic hassle to make sure that you migrate every single user and every single group setup and every single permission structure, super admins, mailboxes, calendar, on and on. It's a gigantic problem, migration. We'll talk about that later. You can also enable mobile access so that users can access through their mobile devices and things of that nature. So that's a subsequent step. The real critical steps are these guys, configure email delivery and SPF DKIM. That's what we'll be focusing on right now. Email migration, we don't even have older emails. So why bother? But you can, of course, discuss these things if you're interested. Mobile access is trivial, simple thing. We'll do that also, just to finish off. So this is the plan of action. I will now erase my ink and actually do these actions, beginning with skipping, creating users. How do I skip? Well, I just don't do it. So let's see if I can adjust my screen a little bit. It should be a button at the bottom. Yeah, I'm looking. Oh, there it is. Oh, that's what I was looking for. Proceed to add users and I'm skipping that action. So I don't have any users. I'll say add users. No. Back to set up at the bottom. Again, back to set up and then proceed to create groups. There is a skip button. Now I see the skip button. I'll just skip the skip button. Thank you. And let's see. Now there comes the right step. So the other steps you need, the email delivery steps. It's intuitively simple to do. The other record you need to add in your MX section and then your email starts to work. The next step is this. We'll discuss that in just a moment, but I want to set up my mail server functioning correctly. I need to create three MX records, one, two, and three with these priorities as specified by this company with these names at at symbol and these one, two, three entries, mx.zoho.com, mx2zoho.com, mx3zoho.com. Simple. Priority 10, 20, 50. So I clear my ink and actually do these actions on my domain system. So here in my domain, apparently I do have MX records. Looks like I do. So I'm going to delete that MX record. So let me just preserve it because it's actually a functioning email. So I'm going to preserve that entry and I'll bring it back after the class, put it back the way it was. So it's actually a functioning mail server, but just saying that I'm going to delete that entry just to make room for this new entry. So I'm going to delete that MX record and create these three, one, two, and three. How do you do that? Simple. How? Go here, create MX. Of course it look different for GoDaddy and different for other companies and all that, but they're functionally the same idea. I had to put the ad symbol, then mx.zoho.com. So here we go, put the ad symbol and then mx.zoho.com and the priority is 10, save. And then TTL value. So I'll say TTL value, two minutes, low is good. Add the record. So I did one record. I'll add another and the value is mx2.zoho.com with a priority of 20. So I'll save and TTL value of two minutes and add the records and do the same again for third one. It's very simple. The point is not doing it, but understanding it. So save and add the TTL value two minutes and add the record. So now I added my records, which means I should go and dig. So I go dig. So I am now digging. What do I dig for this time, dig fungibleclouds.com and look for MX records. And so the answer, I'm expecting three answers. They are here, one, two, and three, three boxes running my mail server for my domain. My domain has the MX records in the question section. Answer is one, two, and three. I got the answers that I expected with appropriate priority associated with three boxes. So that mail will now flow to this box. If somebody sends an email to Nilesh or even to xyz at fungibleclouds.com, because this domain has an MX record here, the mail will go to this company automatically flow to there. So now mail should work after I let Zoho verify these records. I haven't actually asked Zoho to verify yet. I'm verifying it myself. Having seen and verified this myself, I will now go tell Zoho, hey, please check my MX. So by the way, there are some helpful hints here, like if you're a GoDaddy, you select here and how do you do with GoDaddy, and there's a video for that. Because everybody and their brother and sisters, they all go to GoDaddy to get domain names. So that's why GoDaddy is so popular. But okay, enough complaining about GoDaddy. The best way to read about what's really needed is others. So the other section will give you succinct instructions of what needs to happen. That is generic description. This is the concept behind the idea. So that's the way I recommend you go to the others, they'll give you like a generic description, generic instructions. You read that. That applies to every single set, every single situation, whichever company you go to. So now I have set my MX records correctly and I have myself verified them using a dig command MX. I will now go check MX lookup. So please look and so it looks and says the following records are available for your domain 10, 10 T and 50, three of them as a check, check, check three green signals. That's a good sign. I like it. And then I go forward next. Now the next idea is SPF and DKIM. They can be a little clumsy to understand. And that's the part I will be doing right now is to explain to you what that thing is. Before I explain this, let us see if the mail is actually working. So what I will do now is go to Zoho in one window. And so let's see if we can get to mail.zoho.com to open. So mail.zoho.com let's see if we can actually see my mailbox, the newly constructed mailbox that I log in here and I should be able to log in using the newly created password. I have not this. What is the password? This may be, let's see, let's see what that password is because I'm going to inspect the password view the password, please reveal. And yeah, that's the password I chose. So the name here is not email, but this nilesh at fungibleclouds.com and then the password. And then that should lead me to my new mailbox. I'm going to save this password. And I showed you my password because this is a temporary account for me, so it's no big deal. So here I can check my mail or documents and this bunch of other things have been set up already, but let's focus on email first. So I'm going to ignore all these things right now. And it's sent me a first email already. Now in this window, I'll put this on the side and go check my actual mail and send an email to myself from one domain to the other. So here is an email coming up. I'm going to send an email from me to me. There it is. And here is the test and I will send. The email goes out. That means I should have an email coming in my Zoho. So let's go see, it tells me already one email, one unread. So I go see one email unread and where is my email? Oh, there it comes now. So here's the test email and it popped up. Here it is. Now having received this email from cloud genius domain to fungibleclouds.com domain, I will just reply. So reply from one Nilesh to the other Nilesh and say, how are you? And they'll send. So I got an email on the other side. I hope. So this email flow will eventually finish. I hope soon. I want to check that I should now receive my email on the other domain, the cloud genius domain. So let's go check the cloud genius domain email now in another window, get another window. I'll go to my cloud genius mail, which is hosted at Google. So I go to Gmail basically. And there I should see my new email and there I do see it. So email starts to work just because of this. Even we have complete, we have not completed anything to do with SPF and DKIM and even even not even discussed it even still flows, but there are some issues that we'll see what the issues are. So when somebody like this, this new guy Nilesh at fungibleclouds.com, when this guy sends an email, let's carefully see what the issues are. Like what is the problem that we want to understand and then solve the problem with this email is that I don't see two flags in here that I expect to see. And so to be able to see that I would like to ask you or one of you, any one of you to just send me an email from your email, just send me an email, send me a test email. That's what I would say. So I can show you that your email that you send doesn't have the problem and I'll compare it with this, which will then show you the problem. Like something is blatantly missing here. I can pinpoint that by asking you to please send me an email or maybe just we see the promotion. So we have this promotion, right? Somebody sent me an email. So let's see what their email is. And I see that I have these two flags. I'm going to just put them side-by-side so we can see it clearly. So side-by-side. So here is one and I'll open another tab and go to Gmail again and compare these two emails. One that this new guy, Nilesh just sent with this other email that I have from this company, Stike. And they're a security focused company so they already understand that something is important. What are the important things? And so they have sent me an email and we'll compare these two. So by putting them on the side-by-side like that, I'll now compare. You will notice that there are certain headers that are missing. One of them is we don't know who mailed it to me. That is missing. And we don't know whether it was signed by the domain that sent it. These two flags are missing. Mailed by who? And signed by who? We don't know. At least this email doesn't tell us. So this company, nilesh at fungiblecloud.com, they don't understand how to set up the email system properly and completely, therefore, these flags are omitted. Email still works. But it is better to have these two flags so that the email becomes trusted. And a short description of what the two records, SPF and DKIM, are about, as you can already tell, is that this will be fixed by SPF record and this will be fixed by DKIM record. That's a short way of thinking about quickly understanding what is SPF and DKIM. This is it. So when you set up a SPF record in your DNS system, this gets filled up. When you set a DKIM record in your DNS system, this gets filled up. Just like this company, snike.io, which is a security company, meaning Node.js security software, so they validate and test. So they tell me that they are signing the email sent by their company, which is correct. It is sent by this person and by the company that owns that entity. And so that is correct signature for DKIM. And it is mailed by a machine that is authorized to send email on behalf of this company, snik.io, on behalf of this company. So this machine called HubSpotEmail.net is the name of the machine. That machine originated this email and it was sent on behalf of this company. That authority or the authorization to send email on behalf of snik.io has to be issued by the company. Otherwise random boxes on the internet will start sending emails without authorization. That's the problem. So the real problem here we are trying to solve is that we want to make sure that there is less spam on everybody's mailboxes. So that's why people in the industry have come together to form a standard. The standard here we are talking about right now is this SPF. It stands for Sender Policy Framework. It's a framework of how emails should operate. As you can see, people are lax in implementing this standard, which is a problem. And therefore there are ways to enforce this that people who are setting up new companies, new organizations, new email servers are forcing this and therefore receiving mailboxes are enforcing discipline and they will check authorization whether the box that sends an email, the machine that sends out that email, by the way, this is an automated email. Somebody called Ellen is trying to send me some promotional email. And so that is an automatic email generated by some system. By this system. And so that system has to be authorized by this company. Otherwise my system will mark that email as spam. And you notice that it was not marked as spam. It was marked as valid because they have the mailed by signature valid with a valid SPF record. Similarly, the other record is DKIM, which is signed by the company. And that is also correctly set up in this example. But again, missing in this example. So having seen those two ideas, I will now implement these two records in our domain here and then send another email and then come back and check what just happened. That's the plan. So a little bit more detail on these two ideas, SPF and DKIM, we'll handle them one at a time. So beginning with focus on SPF first, not this yet. Not yet. We'll do that later. Just SPF. So the concept of SPF is my ink here. So erasing my ink right now and go into a whiteboard. So the idea behind SPF is very simple. Let's go check an example record first before we discuss this. So here is my terminal. And there I will go dig. And then I look for my SPF record, which is actually a text record. And I see something. And I see that. That's the answer. One of the TXT records I have in this domain happens to be, let me just adjust my screen a little bit here. And now you see there are two records. The second one is actually a verification record from Google verification. Just like we did a Zoho verification, this is a Google verification. So we already understand that. So I'm going to delete it, focus on SPF. And then the SPF record, which means send our policy framework. And what we are really talking about is some cleanup right now. So here's cleanup. And there are parts to this, several parts to the record. So one part is this, line number 11 and line number 9 and line number 13, the three essential parts to an SPF record. Let's go understand what they mean. So this part is simply indicating that this TXT record holds the data for this. That's just an indicator flag. So I'm going to store my SPF version 1 record in this TXT record value. That's all it means, line number 9, this. Now we'll talk about this. And here it includes something. This is the list of all machines that CloudGenius, I cannot spell my own name properly, apparently CloudGenius has authorized to send email out from. Very simple, all machines that my company has authorized to send emails out from. That means I have authorized, I mean, I should say CloudGenius has authorized all machines that belong to this to send emails out. And so there is a corollary to what just I said here. The analogous idea here is everyone else, no, that's not the right way to say. Every other box, every other machine other than this is unauthorized. That's what it means. So all of these guys are authorized, everybody else unauthorized. That's what it means. Having understood what is authorized and what is not authorized, we'll now set a policy to what to do with an email that comes from some box on the internet. That is not these boxes. There can be many boxes here, all belonging to Google company, but if it is not originating from those boxes, what do I do with that email? By the way, you can send an email out with any box pretending to be anybody you want. It is technically possible. I can even demonstrate to send email as if it is coming from you. It's super easy hack, but I will still miss this and I will fail. And so therefore such an email that gets generated with a hacky method that pretends to be coming from somebody else's that is not authorized, should be dropped. Should be. This is the ideal case, but would it be dropped? We don't know yet. We'll find that out. And so ideal case is if anybody who like a spammer takes control of some Linux box or just Windows box and just hacks it, modifies it, and pretends to send an email out from you at Boeing.com, oops, it is technically possible. That's how the protocol is. You can hack it very easily. And so people will think that you send an email, but no, you didn't. And so that's the ideal condition is the recipient should drop that email. Recipient should drop, not the sender. Sender wants to send, hacker wants to send pretending to be you, the recipient should drop it. But would they drop it? And that would depends on policy. And the policy is right here. And there are four flags to the policy statement. So these flags are strict, meaning drop everything if it is coming from God knows who, not this, not this. If it is not this, just drop it, man, strict, this is permissive because I am unsure. So I'm testing something. So I should maybe put this symbol here. And this is like lazy. And this means I don't care. I'm just saying these words with the casual references to whatever I think. But there is a proper definition to these terms, which are kind of sort of irrelevant because you should all go strict, that's the only way to go strict. Absolutely you should drop it. If some other box sends out an email, you should have a company policy like this, strict. Every other flag is kind of pointless. You can of course read on Wikipedia and even on my website, you will find some references to that, but that's not the point. So let's see what I'm going to clear my ink right now and go back to some Wikipedia. So let's go see what Wikipedia says about SPF record. So when I search for SPF, I get sunscreen protection or central policy framework. And so here we'll go and inspect the four flags that I talked about and here they are. The proper way to describe the four flags are, this is what I like. It means fail. The mail should be rejected if it comes from some random machine that is not authorized. That's the only valid selection for a corporate deployment. This is when you're testing and debugging and it's a soft failure. So you want to test whether it's working or not correctly and that's a good route. So it's okay to use only for testing. For corporate deployment, this is the right answer. This meaning I don't care, no policy. Why do you even have the flag? I have no idea, but they have it, it is kind of, you know, useless, neutral as if there is no policy. I mean, you know, you will have junk coming in, random people sending spam emails, random people's pretending to be you from other people, junk, huge amount of junk, don't want this. And this is the exact opposite of negative, meaning you want to actually allow hackers. That is a stupid idea. So don't do that. So no, no, no. So this can be omitted like plus MX is the same as MX and so pass result. No matter what, no matter who sent the email, you still allow it. That's not the flag you want to tell, that's not the flag you want to use. And I hope you understand these flags, they're kind of useless, except this is kind of okay to use the tilde software for debugging testing, that's okay to keep for now, for some time. But this is the right answer. Everything else is kind of meaningless. You can see why I'm saying that. So with that, I cleared my ink again, and I will now go check the SPF record and specifically that flag for some company, like the one we are looking at here, where is that this company snike.io? Let's go check their SPF flags, see what they say. So dig, snike, txt, show me what you've got. So here we got something. And let's go examine that. So we have a flag here, right, that one, so I will copy that and take it to a notepad and put it right here and see what their flag is. So first is a reference that they are using SPF1. The second is a list of all the servers that they want to allow. And then dash all, meaning strict. That means this company snike, snyk.io, wants to authorize these guys to send email on behalf of this company. And yes, they have apparently Google hosted and they have two newsletter companies, Mailgun News and Mandrill, another email out company. So all it does, these companies, Mandrill and Mailgun, they're basically emails that send out in bulk, like promotion email I just received through automated machine. So this is the idea under the hood, that snike company has authorized these boxes to send emails out, everybody else reject. That's the plan. Okay, clearing my ink again and checking one more example. And let's go check Boeing.com, it is scary, right, let's go check. And so we see something and Boeing seems to be, oops, clear, clear and clear. See the, copy the SPF record and we copy it, bring it here to the notepad and put it right here for inspection and dissect it. See what do we get? We got the SPF one, then some boxes. Apparently Boeing has a box in Phoenix, EWA, I don't know what EWA is, but nobody needs to know. And more boxes and so there are some boxes somewhere and the policy, the policy is kind of testing, debugging, permissive policy, which is questionable. Why is the Boeing testing, you know, you should have finished testing by now already. And so this is too late for you to still testing, you should be done testing. These are corporate live deployments. You should have finished your testing already. So this, according to me, is a potential problem. You should discuss this internally and do whatever you think is right. I'm just pointing it out. This can lead to spam coming into your company. It is questionable. This is strict, we'll check this, I don't know what you're doing. I don't need to know. Don't tell me. All I'm saying is take a look, see what's going on. You will know. Your internal people will know. Your IT staff will know. I don't know who they are, but they know what they're doing. I'm not questioning them, all I'm saying is this is something to question internally. Okay, let's check a couple more examples, see what other companies, other big companies do. So here we go. They are also testing. Why is that? They're not following it strictly, apparently. I think that may be the case. So let's go check one more. So Microsoft. And what is Microsoft doing? Yeah, they're strict. Here we go. That's right there, and so Microsoft has lots of boxes that is sending out email. We'll go and examine here, and paste, and compare, and one set of boxes, another set of boxes, more boxes, more boxes, oh, they have tons of boxes, and tons of IP addresses specified by IP. You see, Microsoft sends out email from Hotmail, we knew that, more IP, and then a strict policy. That's the idea behind SPF, and here you can see that these are your strings of... So this underscore SPF dash A is a SPF dash A, is a string like dash B, dash C, like that, and then SPF A Hotmail, and then some specific IP addresses are the set of machines that are authorized by Microsoft to send email out from this domain. So this is the list of boxes that are specifically authorized according to the SPF policy, and if somebody tries to send an email out pretending to be Bill Gates at Microsoft.com, you can, but then this flag will catch it on the recipient mailbox and drop it in spam. Sometimes it will not even reach spam, it will just disappear in thin air, like gone, won't even reach the destination. It will be dropped, not spam, dropped, like altogether gone, and that's the right thing to do, because you don't want random people who are random boxes, who are not authorized by the Microsoft company to send an email out pretending to be Bill Gates. You can, but then it will not reach the target. That's what you want. That's why I questioned this, and this is the right thing. And you saw that I also questioned Apple, and of course, it is your corporate decision. I'm just pointing things out, having said, I should erase my ink, and proceed. So you understood the idea behind SPF, I hope, which means now it is time for us to set up SPF. So we'll go to our Zoho, where is that? Zoho here. Yeah, Zoho. So they're telling you to do this, what are they telling you? So go set this record up for TXT record to create an SPF record. So we'll just copy this, put that on our notepad, and see how simple it is for us to begin with a small company compared to Microsoft and Boeing, it is very simple and very small. All we need to do is just include the boxes that we are authorizing. And those are all the Zoho boxes. These boxes will be authorized to send an email out from the fungibleclouds.com company. And I'm not typing the full name, but you get the point. And here, they're suggesting us to begin with a tilde to test out things. If you are too strict and you make a mistake here or somewhere else, you will get totally flummoxed on what's going on, why is the email not working and all that. That's why the initial recommendation is tilde. So initial recommendation tilde is good for testing, validation, debugging, and when you're happy with all that, switch to this. That's what you want. So I will now set up this record for this domain in a TXT record form and see what happens. I'll go here. And I will go to my Zoho record. I'll copy it, go to my DNS, but I have one record right now for Zoho verification. I'll add another TXT record and put the add symbol, click to configure like this. And since I know I'm not making a mistake, I'm going to make it strict. So I put a dash instead of a tilde and then save and then put a TTL value of two minutes and then add the record. I have added a record which is strict, which means I should check dig fungibleclouds.com and tell me the TXT records I have for that domain. So what do I get? I get two answers. First one is the Zoho verification, which is expected. The second one is the SPF record with a dash sign, which is what I wanted because I'm not actually testing. I have tested this already. So the email should work, but you should begin with this. And when you're happy with it, you can switch to this later on. This is the actual value you want. This is okay for testing. I will now erase my ink and then proceed with sending an email from me to me one more time. So here is my email, where is my Zoho email, here. And from this Zoho mailbox, I'm going to send a new email to me. And so here's the email. I'll say SPF should work, DKIM would not. And send. I just sent an email. Now let's go receive that email on the other window. In the other window, I'm expecting to receive an email here. So this is the one without SPF DKIM. So now I have another email here. And Gregory just sent me an email. Let's go check Greg's email. And so we'll go examine and you'll see that it has the correct validations already. See, mailed by gmail.com, signed by gmail.com. I expect to see that from Gmail totally. I already did that. So that is thank you for doing that, Greg. So you have these things already configured. I mean, not you, Google Gmail has these things already correctly configured. Expected of Google. And with that, I will now look at my other email that I may have received, which I think I did. And here it is. The title is SPF should work and DKIM would not. I know because I did not set up DKIM yet, but let's go examine what this email says. So here we go, click. And look at what the mailed by flag says. It says mailed by a box called fungibleclouds.com, but I know it is not because it is sent by an authorized box called zoho.com, which is explicitly authorized by me in the SPF setting. Because I have authorized this company to send emails out and my authority is written down in my text record that stores this information. Therefore, Google thinks it is mailed by a valid entry. The valid entry happens to be my company fungibleclouds.com. That's what you see. So that's the discussion about SPF records. This is how you go about setting it up. And where it is important is to let the incoming mailbox, the recipient mailbox receiving box needs to decide whether this email should land anywhere here or not at all, like completely disappear, not even in spam, boom, goes away, disappears in vacuum. That's what might happen if you have a strict policy and you attempt to send an email to this person pretending to be somebody else that you are not authorized. I hope that clarifies the idea behind authorized boxes. Does it? Please tell me yes. So we can move on to DKIM. Yes, thank you. So I will now switch the topic, the subject to the next idea, which is DKIM. Now, the idea behind DKIM is to actually use a digital signature, RSA signature, specifically an IDRSA type signature. And what does that mean? So we have, by the way, set up SPF. We have a good focus on this section now, the DKIM section here. That's what I will be focusing on. And so we have to configure it first before we can actually use it. So this configuration idea involves digital verification of a signature. You have to generate a signature, actually Zoho needs to generate a signature. And we need to use that public key portion of the signature in our DKIM record. That's the idea. I'll elaborate on that. So here is my whiteboard. So what happens is you want signature on an email, which means that email should appear as if signed by your company, signed by flag. You saw the signed by, signed by flag shows up when with your name, like your company, it shows when you send even your, when your boxes send email that are signed, DKIM signed. And so that signature involves the sending box, sending box needs to generate a key pair. So the public key, the private key, the private key, the box will keep it themselves, but you receive the public key and you take that public key, put it in your DNS record for DKIM, which is actually a TXT record. So this public key becomes a body of this record. And now anytime a user from this company uses this box to send an email, that email will be signed by the private key. Receiving box signs an email using the private key. The receiving box or receiving person or his mailbox will look at the DNS DKIM record, use the public key to cross check the signature. And when the signature matches, signed by, this lights up. Does that help you understand the flow of logic here under the hood as to what is going on? Where does this, when does this sign by lights up? When the sending box has proper authority and actually signs your email with a private signature that they generate, they give you the public, you put that public record in a DKIM entry in your DNS text record and set it live. So everybody on the internet that receives email from the sending box knows the public key because they can look up the DKIM entry from DNS through a query. And then cross validate that using the public key and check whether it is properly signed by the corresponding private key. And then you get this flag, which is how ISP, meaning internet service providers like gmail.com, hotmail.com, outlook.com, yahoo.com, gordon.com, anybody.com that you can think of all the big name Gmail email people, call them ISP. That's the industry term that people use. I call them email providers, a public email providers. But people use the word ISP for some reason, for historic reasons, like aol.com, for example. They used to be internet service providers. They also gave you an email.com. You got mail. I cannot say that exactly, but I hope you understand what I'm saying, aol. You got mail. That one. They used to be ISPs, internet service providers, but I don't think aol actually gives you online service anymore. Having said this, business has changed to email services and they're still called ISPs. So these ISPs, they collaborate and actually look at this public key to cross check. And that's how you see the key validation. And if you don't find a signature, if you find a signature is mismatched, what do you think will happen to the email coming in? It will be trashed. Not even in trash. You will not even see it in your inbox. It just disappears. It deleted basically for you. Not spam it, not put it in your trash. They will delete it and not even show you, not even tell you such a thing happened because that should not be the case that you have to bother. So it just goes away. Having seen this, let us now look at an example record. So I will now open up my command line and see if I can actually pull up a real live DKIM record. So the way to do a query for DKIM is slightly different. The DKIM record doesn't go straight up at this location. And you can see that the text responses are just SPF and verification, SPF verification. It doesn't have any references, at least in my case, doesn't have any references to a DKIM entry. So where does it go? So well, let me tell you where it goes. So it goes here, at least in my example. I think that's the right one. I'll just check. No, it's not, not the right word. Is it underscore, I'll just do a search here. So to find out what the right value is on the other domains. The cloud genus domain, what's the TXT value for DKIM, underscore, yeah, there it is. So I got that. Okay. I found it. So do it again, dig and then this dot. That's the way I chose. You can choose whatever you like. So that's my choice. And you can here see the TXT record that stores my DKIM public key. So this string is my choice. Then there's a dot. The subsequent string is where you put the domain key records, the DKIM records. That's a convention. This is my domain in question and it is stored like a TXT record. I happen to choose this name because Google suggested, so I chose that name. You can choose whatever string you like. You just had to remember what you chose. So I think I just stuck with what Google suggested. So with that question, google.underscore domain key.domain, give me the text record. I get the answer. The answer is it's a TXT record with this value. And you will see that this contains a long string with a RSA public key. So let's go see the key itself and I'll copy it. All the way like this. We'll go to a note, take it to a notepad and dump it and inspect. There it is. So line number 10 is the public key that was generated by Google for me and they asked me to put this like a RSA key, public key in my text record for the domain that they suggested that I use this prefix as a domain underscore domain key dot my domain, which is like that. So that's the place you want to put this domain key record as a TXT entry in your DNS. So I did that. And then I go back and ask Google to verify. So they did. And then they know how to sign the email. So anytime I send an email, it is actually signed by a Google box under my authority. That's why you show that emails coming from me and my company are signed by my company. That's the idea. So we have to have Zoho generate a key pair for us. So here it is. DKIM. We'll ask though, can you please generate a key pair for us? So that's the idea here. Proceed to configure DKIM. So we click. And so it is now generating a key pair. And so here we have to go and edit this section, edit for that domain, we have to go and edit. And so now we have to select a selector. Selecting a selector meaning I have to now select this prefix that I have chosen the name Google. That's the name I chose, line number 14 is the selector that I selected. You can choose Google if you like, or you can choose something else if you like, like Zoho for example. So here is the selector. You can choose Google if you like, there's no problem there. You can choose whatever name you like. But I suggest just to reduce confusion, Zoho, so that you know who is the signature provider. And then you can see the rest of it is dot domain key, sorry, dot underscore domain key dot your domain dot com. You already see that. So as soon as I save this selector name, and I click the Save button, on the back end, Zoho will generate a key pair. They'll keep the private key themselves, because they will use it to sign it, sign emails, and give me the public key. So here I go save. And there it generates a text value. This text value contains a DKIM entry for me here. That is essentially a public key, as you can see here, that the key value, I need to create a TXT record in my DNS entry with that name and this value. So I'll go and do that. I'll go here and say, hello, my fungibleclocks.com domain DNS, please create a TXT record with this name and that value. And a two minute TTL, short TTL is good. You can see that this name that I have in Cloudflare, you can omit the DNS if you like. You can keep it if you like, it doesn't matter. And then you add the record. It will automatically remove the domain because it's implied. So just zoho.domainkey or underscore domain key, just like they have given here. And then you have successfully added the record, it shows up here. Now that you have added a record, you need to verify it. So we'll go dig in zoho.underscore domainkey.fungibleclocks.com and then ask for TXT record. And so here it comes. You can see that I have asked the question, what is the zoho.underscore domainkey.fungibleclocks.com TXT record and the answer is exactly what I gave in the record. This is your public key that is now a part of the internet DNS system. The corresponding private key is available with the server that will actually send emails, meaning zoho. So now that this part is understood and implemented, I would like zoho to verify that I did it correctly. So I'll say verify. So click to verify. And you can see that the verification succeeded, but no response back. I think my browser is not set properly. Okay, there we go. So now I see that I go back to the selector list and it shows me it is verified. The zoho selector has a verified BKIM value. Awesome. I'm done setting up my email for my company, which means I can go back to my zoho system where I can actually, the place where I can send in the emails from zoho is I think here and I will send one more email from zoho to me. So here is my new email and I will now send an email to nilesh at cloud genius and both SPF and SPF and DKIM should work now. Having seen that and I will now send an email, so the mail goes out from zoho and I received the email on the other end here in Gmail, in my main email. So I inspect my email and I see that the mail is arrived. I can check my signatures and I can see both of them, mailed by, signed by. It is mailed by a box controlled by this company. The box is actually zoho, but I control that computer, the mail center, and it is signed by me or rather my company and so those two flags will make sure that this email that I send from here doesn't, it is less likely to land in people's spam and that's the best way to say it. It is less likely to land in spam. Now let us see a couple of other things. Clear these drawings and let's check, check what, dig Bellevue College. Now you will understand what's going on. Why does email from Bellevue College does not reach you? Let us see what happens. Sorry, I made a mistake. So let me do it again, just check their email system. And so, yeah. So BellevueCollege.edu, I'm inspecting their TFT records. I see that here is your email SPF record. I will inspect it in your notepad and what do I find is it's a A record, it's a MX record, and there are a bunch of IP addresses. It sends out email from Microsoft company. It sends out email from Bellevue College boxes, sends email from Dynect. I don't know who the Dynect is. And then it's probably a bulk center, bulk center company that sends marketing emails. And then there's the soft policy tilde, which is soft. That's one thing that I noticed. So there are too many of these mail sending boxes is a bad idea. A bunch of IP, the whole range, oh my God, the whole range of IP addresses, is too much. So a whole range of boxes are authorized here to send out emails on behalf of Bellevue College. That's one potential problem. Other thing that I want to examine is to see if I can check their DKIM settings. The best way to check DKIM settings is to see if there is an email from Bellevue College. And so let us see if there is an email from Bellevue College here somewhere. Let's see, Mark. So Mark sending emails and don't read his emails, but let's see which one would be. Yeah, that's an email. So here I'll go check and check there. So see that what you see is it is signed by, okay, come on, let me zoom in and focus on a verification problem, which is it is not signed by Bellevue College. It is signed by some property controlled by Microsoft. I think controlled by Bellevue College, but sitting on Microsoft's Office 365 cloud, it is mailed by Bellevue College, so the SPF is correct. But signed by is actually not done correct, not correct. This should show Bellevue College. It is not. That is one of the reasons why Boeing is rejecting or potentially rejecting emails. Some emails may not reach you. So I think you will be able to tell me correctly, is that actually happening or we just pretending that it's happening? Can you tell me the, are you receiving emails from Bellevue College or not? Anybody ever in the Boeing company, in your Boeing box, in your Boeing mailbox, have you received emails in the Boeing mailbox? Yes, but not all of them. Not all of them. Okay. So that's the question, by the way, who was that? I didn't hear the- That's Travis. Hi Travis. So I'm trying to remember your voice signature, the way I say these things are crazy. I'm trying to remember how you speak so I can tell by the sound you make as to who's speaking, but I'm not there yet because you don't speak much, but you should speak, man. Last time, two times I was on this class, my mic just didn't work with Zoom for some reason. No worries. Interact, interact more because it will help, I think I lost my train of thought. It'll help me in understanding that everybody's on board with what I'm discussing, otherwise we get lost. So bottom line is these things are important to understand and implement if you're doing it for a professional scenario. Having said that concludes the exercise that I just did for a test domain that I had. That was my own domain I just modified and showed you around. You should be able to do the same thing on your own domain for yourself. And now I will succinctly try to describe the homework associated with this idea. What I will do is write that down. The actual result of the homework is very simple, is to please send me email with mail by and signed by flags valid, correct, mail by hand by flags from your mailbox on your domain. That's it. One-liner homework. Doing this will involve like 30, 40 minutes of work because I spent a lot of time describing the ideas, actually doing this should not take long. The actual doing action is a few minutes. The struggle that we will probably have is GoDaddy misbehaving, Namecheap talking about where is my name server. So all those struggles they have with these other companies you will have because they're a small companies and GoDaddy is not small, they're just horrible. Sorry, I shouldn't be calling them out, but they deserve it. They don't work the way you want and you give trouble to Rich, opening up your DNS settings are not behaving and oh my God, don't get me going. But this is the homework. I hope the homework is clear. The action needed to get this homework done is to set MX records, set TFT record for SPF and set a DKIM record for, sorry, set a TXT record for DKIM at a selector like dot underscore domain key dot your domain dot com. That's the action needed. So three steps, one, two, three. Before that, there's another step to set TXT verification for your domain dot com. That's it. Four steps will get you the answer. So that's the homework. I will be writing that homework in the website and you will see it, but I would like to now ask you, is the homework understood and how to do the homework part understood? And last one, is this homework interesting to you? So please tell. Okay, there is a response here. Interesting. I hope this is the answer is to the understood part or the interesting part. I don't know. I just need to know. So if it is not interesting, please tell me in the not interesting, just type not interesting. That will be helpful. So I will change my homework next time, but I hope this is interesting to you. This is really interesting. Yes. Thank you. So please do it. If you find it boring, don't do it. I have plain simple, plain and simple. Just tell me that it is boring and don't do it. I'll find new homework for you. Having said, we'll change topics. Let's go to the cloud genus website to find the next idea. So, or anytime if you need a break, you should tell me, where is that here? Yeah. So if the site is giving you trouble, you should also tell me. I don't think it should not be giving you trouble, but I just hope that it doesn't. So we discussed the serverless static site. We also discussed this thing called, we actually discussed a bunch of sporadic topics all collectively together in frame of a homework assignment we just finished. So we just see what we discussed. So in our index on the left side of the screen, you will see that I have some definition things that we discussed. Please give this, I think I'll let you read that on your own. This virtualization thing I briefly showed you about the virtual machine, what it means and all that. And we'll go into further details about virtualization and containerization at a later time, which is more interesting. We'll discuss containerization, which is different from virtualization and understand what that thing is. That's where the world has moved on to using Docker containers. So we'll use that as a primary tool in the second half of the bootcamp. But until that time, we'll be using virtual machines. We'll switch to Docker when we are ready for it. This thing called fungibility is a good reading material. You should read that. This I think we covered a little bit on variety of ideas such as the key pairs, security scenario, the authorized keys, authorized underscore keys idea, the known underscore host idea. Those ideas are security related concepts here, DNS concepts. I did not go through item by item in here, but we discussed A records, discussed C name records. We discussed TXT records. We discussed MX records. We discussed variations of this TXT in form of SPF records, variations of TXT in form of DKIM records. And there are more. There are a whole bunch of records all described in this writeup that you should, I hope you should read that. Today we discussed this productivity SAS examples, like office, email, calendar. By the way, those of you who will set up Zoho will also get a company calendar system, task system, email system, bunch of other office thingies that they just give you. It just automatically sets up. You have a calendar at your email and your company and your domain and everything like you would expect to see in a corporate deployment, you will see that even with Zoho. Those are some examples of productivity software, the service that we are using in that particular exercise that I just did. We also did this idea, serverless static sites. Now I will briefly discuss a thing which is related to this idea before switching over to this. This number 12 is something that is actually crazy and convoluted and probably the most or not the most, but one of the most detailed exercises that we have in the bootcamp. Get ready for it. I'll tell you what to do to get ready for it because it is going to be quite a bit of detail to understand what is happening in a cloud, in its great levels of depth. What I like to do is to get you mentally prepared for that. I have prepared 13 or so one-minute videos, short one minute each. Sometimes it is two minutes. In one case, it is seven to eight minutes, but some of them are like 20 seconds. They're really short. It's all over the map, but short. These 13 videos are sitting right here in that number 12, corporate data center in the cloud. You should be able to see it once you go there. It will be very difficult to understand what I'm talking about because they're really short one-minute videos. They don't actually describe much except just the point in that video. That is not really readily consumable as such unless I walk you through it. Then all of these videos will immediately make sense. Until that time, it is actually clumsy to understand that. Therefore, I'm setting up you to make yourself successful in understanding what that thing is. Having said, there's one more thing that I want to talk about in 11 before we switch to number 12. That is what is coming up. I'm erasing my ink and switching to a whiteboard. Is that a slack check pending or something or what? No. Yeah. So, a whiteboard. If you recap, we began our discussions in three broad segments like compute, storage, and networking. We haven't touched this, not touched yet. We'll go here quite a bit, you would understand. This is the harder aspect of understanding. So, we'll get there. This is easy. We already know. You start a machine, you get access to it. That's a compute horsepower available at your fingertips, you on demand, all the cloud definitions. Shared pool of compute resources. That's what I'm talking about. We discussed this. We have started a bunch of machines and I think you have also succeeded in connecting to a remote computer and SSH to it and play around with it. Just tell me that you have. If not, do it. Connect a machine to some cloud, EC2 machine in Amazon cloud, Digital Ocean machine in some other cloud. Pick your cloud, connect to that, get comfortable with connecting to remote machines and disconnect and break them and destroy the machine afterwards. That's the expected that I expect. I've shown you some examples that are how I did it. I would like you to do it yourself. Then in the storage scenarios, we went into deeper on using object storage and we did a specific exercise in this, creating a bucket, filling it up with stuff and then making a website out of it and then associating with DNS and creating our own www or if not some other name, dot whatever domain name you have so that the site works. That's one exercise that we did with storage. Now we can do more exercises with a variety of other types in storage, but I do want to also go in this direction. When it comes to understanding networking capabilities in the context of a cloud, it is important for us to first understand networking as is like in a real setup, in a physical setup. That is where this section called corporate data center in the cloud, the number 12. Now here you will see as I log in, is it logged in or not, maybe it is not logged in, so let me log in. Log in here maybe, here, log in, open and there it comes. Here you see that this person is going to talk about something. It's a 28 second video. You can listen to these videos by clicking the start now button and then this creepy guy comes up. You see the creepy guy in the corner? That creepy guy will walk you through like one minute videos about 13 or so back to back. In this series of short videos, what I'm really going through is helping you understand the ideas associated with networking in the context of a cloud. We will talk about the ideas of routing of traffic, understanding how packets flow from one machine to the other, understanding what is a subnet, understanding what is a security group or what is firewall, how do we actually make it work the way we want, how do you prevent things from working when you don't want, how do you regulate exactly what you want in your company, even though it may not be directly with you in your building. You need to retain the control. Essentially what you're really doing is you are setting up a corporate data center, but in the cloud. You can do these exercises in any cloud you like. In these series of videos that I have, these numbers you can keep on clicking them one after the other, and each one of them will have like a short one minute video. It will be really hard to understand unless you already know how to set up a corporate data center in a physical building. If you know these things, it will be easy to comprehend. If you have never done such a thing, for example, and I'll give you an example. For example, if you have laid out subnets in a local area network, if you have laid out route tables, if you have, please tell me, so at least I will know what the level of your expertise is so that I'll get a good feel of where you're coming from. If you have laid out subnets, if you laid out route tables, if you have set what is called a cider, if these things are new to you, don't worry, because I will actually walk you through. But that's what that video series of one minute short videos tries to describe. You will have other ideas. So if any of these words that if you're hearing them, not the first time that you are familiar with these, please tell me that these words that I'm writing here by hand, word like net, the word like gateway, public areas, private areas, if these are new to you, that's okay. But I just need to know that you have heard these words or used these things before, like the idea of IP address ranges or difference between private and public. For example, you may have heard of this thing called, please tell me you know this, please tell me that you know this address. Have you heard of this address? Yes. And that's called router tables. Yeah. Exactly. Router tables. Router tables. Yes, exactly. So this address is the address that is commonly used in your home router. And so yes, we'll discuss that. And we'll build our understanding beginning from this beginning point to get to a point of a comprehensive understanding of a data center layout in a cloud of your choice for your company. What does it take to build out such a networking structure so that you get a clear distinction between what is a public place? What is a private place? What rules would you want to put rules of traffic, like what traffic can flow from this machine to that machine? What traffic can flow from this bad guy on the internet to this location or to that location? And what traffic from this good guy on the internet from the internet, will you allow them to come in here? Would you allow them to go in here or the private areas or the public areas? And how do you distinguish between what is what? What is considered an okay traffic? What is considered not okay? What should be rejected? What should be allowed? What policies do you put in place? And how do you do these things for real without ever, ever touching a cable? That's the hard part, right? If you have a cable in your hand and your router in your hand, you can actually physically connect them. And then traffic, you hope, would flow. You can watch, use the internet inside your home because you connect your laptop to the router or maybe you use Wi-Fi. So that's another way of connecting. That's just another wireless connection. So that's the idea. You can understand this much more easily when you have a thing in your face, on your table and you're connecting physical things, so you understand it very, very clearly. But in the cloud, there is no cable to touch. But you have every single thing that you can actually do in a real world. In the cloud setup, you can also do the same exact thing, but I should say almost the same exact thing. And there are some deviations that you need to have a physical location to go do, but that apart, almost every single thing you can think of in a data center in your building, you can do the same setup in the cloud of your choice. You bring your cloud of your choice to accomplish whatever you want with great level of depth in terms of understanding low level traffic as to what can go from here to there, what should be allowed, what should not be allowed, how do you lay out the whole map? And all of this discussion essentially translates to this idea. How do you manage the compute capability, the storage capability and the network capability and the core of it in the context of a cloud? So we are discussing these things, but we haven't started this thing yet. We want to get there. That's the plan for the next time. And for that, what I would like to do is to ask you, even if you do not understand these videos, I still like you to spend 13 minutes and watch these. Maybe it is 14. I don't know. I didn't count. I'm just saying that there are 13 or so videos here. Please watch them. That's all I ask. There is no other extra work involved apart from just hitting the play button and tolerating this creepy guy. I don't know. I have to remove the creepy guy from here. I just hate that. And it is in these 13 videos, I have the creepy guy, but the videos are actually useful. I don't want to delete the videos. I kept them, but I hate this. So just don't look at it and play the video. You will find it useful as long as you hide the person. So keep through next, next, next, and finish all the way here. And at the end, you will be left high and dry as to what just happened. And that's okay, because I will walk you through from the beginning point. And we don't not even play these videos, but having you seen these videos ahead of time will help me. So that's the expectation. So that's this headless horseman. Yes, headless horseman. So that's the idea is to have you at least review these videos, the creepy guy videos as I call it. So beginning with this section, let me just paste a link for you so you have it handy. And I'll just add it to the homework at the end. So in the homework that I'm going to write, I'll just ask you to review this series. That's it. Review, meaning just play. So that's the homework expectation. And once that is done, so the next time we get together is when do we get together? On Wednesday, that's when we get together. That's when I will actually walk you through. And so before there is one more step that is important, which is please make sure that you have AWS account. That's a requirement. Without that, it will be hard to actually do the things along with me. And by the way, this exercise that I will be doing the next time is something that you want to do with me. You actually want to because you will be able to see and I'll be doing it at an easy pace. So you will not have it hard, but could you please the homework in Slack? Yes, I will. I'll paste the homework in Slack as well as post it on the website. So you should see it coming, but the Slack is here. So here is the homework in Slack and it should be posted like a snippet. So boom, there it goes. So here is the snippet that you can see the homework assignment expected. I will also post this homework on the website. And now, yeah, the expectation is that I would like you to be with me on Amazon Cloud in your account here and make sure that you have an access to that account. And there is a critical thing that I want you to remember and that is about VPC. So here, the VPC section, that's what we'll be going into deeper in the VPC section. And the critical thing is actually a bug in Amazon. I want you to be aware of that is this section, VPC. The bug is technically not a bug, but it's more of an incomplete feature. And the issue is if you go to the VPC section, you will find that you will have some VPCs already given to you. Like I have this VPC, I call it, whatever I call it, my default VPC, so that's the name I have chosen. I just call it default VPC, that's the name I rename it as. Now what you will also notice is the thing that I want to point out, where did it go? Where did it go? Close, close, close, close, yeah, that default VPC. The thing I want to point out to you is the thing that I want you to be careful about and that is please do not delete default VPC. If it says yes, do not accidentally delete. That's something that I want you to be aware of. It is okay to have the VPC there available, it's not going to cost you a thing, VPC itself is free perpetually, even after the one year. So don't worry about deleting that resource and more importantly, if your VPC that you have, it says yes to the default VPC, that one you should not delete. Because if you... So what's the drawback? If you happen to delete this, there is no way on the Amazon website you can bring back a default VPC. You can bring a new VPC, but you cannot bring a new default VPC. You can create a new VPC like that and say, I'll go to create a new VPC and we'll talk about a cider block later on, but I'm just saying that it is my new VPC that I want to create and I create. So I created a VPC, now I have two. So there is a VPC here called XG, which is not default. You see, I can create a VPC, any number of them, but I cannot create this default VPC and I want that for a future exercise. That's why I'm saying that you please don't delete that. It is given to you and you have the ability to delete it, but Amazon has decided for some God knows reason that they don't have an ability for us to mark an existing VPC as default. There is no such button. That is the bug that I'm talking about. So we'll play with VPCs and if you have a VPC, you will probably have a default VPC. Please don't delete so that we don't have trouble in a future exercise, which will be coming up soon. And our level of exercises will go deeper and deeper. So just mentally prepare yourself if that's going to happen. And so be ready for it, especially this segment, the network aspects of it will be new because you don't have experience with it. So it is going to be new. And that's where I need you to pay attention to these. So bottom line for today is don't delete the VPC, which is given to you by default. If you're okay to delete the other VPC like the XG1 I created, I can go and delete that. No problem. But please do not delete the other VPC, which is given to you by default for a future exercise. That's one. And by the way, I would like to see your homework. So post it on that Disqus website. So disqus.cloudg.us, that's where you should post your links somewhere here in the appropriate sections. People have posted here apparently, and Paul has a domain apparently. And I don't know why it's asking for permission, but Paul has a domain. Thank you, Paul. So there is a new domain. Paul has got pauledwardfowler.host. Awesome. Let's go see what is there right now. It's probably GoDaddy, Namecheap, that's good. So Namecheap is there, and so you will have a DNS representation, sorry, the DNS names are from Namecheap. You can tweak that and all that. Delete all the old records, put in your own CNAME record, and you have your website. So I'd like to see that website posted right here on this location in the discussion we have. And that will help us everybody get to what we have. So with that, please watch those item number 12 here, those videos. And I will now stop recording and ask you to ask questions if you have any. And I will answer them.