Send Emails From The Windows Task Scheduler¶
First, download SendEmail, a free (and open source) tool for sending emails from the command line. Extract the downloaded archive into a folder on your computer.
Next, launch the Windows Task Scheduler and create a new task – consult our guide to creating scheduled tasks for more information. You can create a task that automatically sends an email at a specific time or a task that sends an email in response to a specific event.
When you reach the Action window, select Start a program instead of Send an e-mail.
In the Program/script box, use the Browse button and navigate to the SendEmail.exe file on your computer.
Finally, you’ll have to add the arguments required to authenticate with your SMTP server and construct your email. Here’s a list of the options you can use with SendEmail:
- -f EMAIL – The email address you’re sending from.
- -s SERVER:PORT – The SMTP server and port it requires.
- -xu USERNAME – The username you need to authenticate with the SMTP server.
- -xp PASSWORD – The password you need to authenticate with the SMTP server.
- -o tls=yes – Enables TLS encryption. May be necessary for some SMTP servers.
If you’re using Gmail’s SMTP servers, these are the server options you’ll need:
- -s smtp.gmail.com:587 -xu firstname.lastname@example.org -xp password -o tls=yes
Of course, you’ll have to enter your own email address and password here.
- -t EMAIL – The destination email address. You can send an email to multiple addresses by including a space between each address after the -t option.
- -cc EMAIL – Any addresses you’d like to CC on the email. You can specify multiple addresses by placing a space between each email address, just as with the -t command above.
- -bcc EMAIL – The BCC version of the CC option above.
- -u SUBJECT – The subject of your email
- -m BODY – The message body text of your email.
- -a ATTACHMENT – The path of a file you’d like to attach. This is optional.
For example, let’s say your email address is email@example.com and you’d like to send an email to
firstname.lastname@example.org. You’d use the following options:
-f email@example.com -t firstname.lastname@example.org -u Subject -m This is the body text! -s smtp.gmail.com:587 -xu email@example.com -xp password -o tls=yes
Once you’ve put together your options, copy and paste them into the Add arguments box.
Save your task and you’re done. Your task will automatically send email on the schedule (or in response to the event) you specified.