When writing an email, keep in mind that we're wading through fifty such messages a day, or maybe even multiples of that. As we do this, we're sorting, prioritizing, changing our calendar entries, scanning files for personal info, .... Try to make it as easy to do as you can.
Any request by email should have all the information necessary to respond to it without needing more. "I'd like to schedule a meeting with you" emails that don't describe why you want to meet, for example, just result in at least two responses -- one to ask why you want to meet, and one to actually schedule the meeting, and maybe one more to solicit more info necessary to prepare. Just give all the info necessary in the first message.
Don't bury the lede. Start with your main point or request, and then provide details. Don't make someone wade through a long message to figure out what you need, which should be clear enough after two sentences.
If you're contacting about a course, put the course name or number in the subject line. It helps with sorting, or finding the message later.
Don't assume that the prof will remember any details about what you're telling them. If they need to know something to deal with your communication, it should be in the communication. If your message is part of a long ongoing thread, don't start a new thread. Leave the old messages in the new message if you can. Don't make the prof search through old emails to figure out what's going on.
Others may disagree with this one, but I don't care for trite niceties -- "I hope your day is going well" and stuff like that. I'm probably behind the times here.