they're running onpractice questions what is the protocol for sending emailfor checking and receiving emailwhat four smtplib functions/methods must you call to log in to an smtp server what two imapclient functions/methods must you call to log in to an imap server what kind of argument do you pass to imapobj search() what do you do if your code gets an error message that says got more than bytes the imapclient module handles connecting to an imap server and finding emails what is one module that handles reading the emails that imapclient collects when using the gmail apiwhat are the credentials json and token json files in the gmail apiwhat' the difference between "threadand "messageobjects using ezgmail search()how can you find emails that have file attachments what three pieces of information do you need from twilio before you can send text messagespractice projects for practicewrite programs that do the following random chore assignment emailer write program that takes list of people' email addresses and list of chores that need to be done and randomly assigns chores to people email each person their assigned chores if you're feeling ambitiouskeep record of each person' previously assigned chores so that you can make sure the program avoids assigning anyone the same chore they did last time for another possible featureschedule the program to run once week automatically here' hintif you pass list to the random choice(functionit will return randomly selected item from the list part of your code could look like thischores ['dishes''bathroom''vacuum''walk dog'randomchore random choice(choreschores remove(randomchorethis chore is now takenso remove it sending email and text messages