While I'm not trying to discourage learning, I think it would be best to create a PowerShell script and make this a Scheduled Task, instead. You'll have more flexibility to modify the script as well as modify the schedule. Since it is outside of the Timer Service, there is also no potential for bad code to crash the Timer Service.
$recipients = "<user1@company.com>", "<group1@company.com>", "<group2@company.com>"
#below try/catch lines are just to make sure the list exists, you don't actually need it!
Add-PSSnapin Microsoft.SharePoint.PowerShell -EA 0
try
{
$web = Get-SPWeb http://spwebapp1/sites/team
$list = $web.GetListFromUrl("http://spwebapp1/sites/team/Lists/List1/AllItems.aspx")
$fullUrl = $web.Site.Url + $list.DefaultViewUrl.Remove(0,1)
}
catch{
Write-Host "it broke!"
return
}
#Or you could just set $fullUrl to a static string
$fullUrl = "http://spwebapp1/sites/team/Lists/List1/AllItems.aspx"
#And this sends out the mail to the specified SmtpServer
Send-MailMessage -From "sharepoint@company.com" -To $recipients -Subject "Happy Monday!" -BodyAsHtml "Here's a <a href='$($fullUrl)'>link!</a>" -SmtpServer mail.company.com
At that point, you can set up a Windows Scheduled Task to run at your desired date/time. Note that if you decide to use the SharePoint bits of the above script, you will need to run the task as a user who has rights to the site, in addition to setting the option to "Run with highest privileges". This also requires Local Administrator rights on the server.