PowerShell Command Line Emailer



Using ones Inbox as a to-do list is fairly common, however firing up an email client to add to that list can be slow and a little cumbersome. Instead of opening an Email client, one can use NetCmdlets and a PowerShell profile to send quick “todo” emails without having to leave the command prompt.

function todo($target="work", $msg) {
  switch ($target)
  {
    "work" { $target = "support@nsoftware.com" }
    "home" { $target = "my.email@gmail.com" }
  }
  Send-Email -from support@nsoftware.com -to $target -subject ("Todo: " + $msg) -message $msg -server MyServer
}

If you need a reminder during the day, you may simply type:

PS> todo home “remember to buy apples”

or

PS> todo work “schedule meeting with Mark and his team”

This is faster than bringing up an email client, composing a new message and clicking send.