Tableau Server subscriptions would be the preferred way to implement this. If for some reason you can't or don't want to use subscriptions, you could use batch files and tabcmd instead. There are a number of good threads on how to implement this that you might find helpful, such as Re: Automation of creating PDF workbooks and delivery via email.
EDIT: Probably still possible using TSM instead of tabcmd, but I don't have much experience with the newer tool.
Tableau Server subscriptions don't support PDFs, only emailing PNGs. If you want PDFs then options include building your own, using an open-source tool like VizAlerts https://github.com/VizAlerts or Behold https://tableauandbehold.com/2017/01/27/introducing-behold-emailer-scheduled-pdf-emails-from-tableau-server/ , or third party tools like Metric Insights Business Intelligence Software | Metric Insights . [full disclosure: I'm one of the contributors to VizAlerts.]
I found it easier to use PowerShell. Try the following
You will need the url where, the Dashboard is located and login details to access the view. Make sure you write the powershell script on the drive where tbcmd is located. I used Outlook as my mail program. The following example might get you started;
$ErrorActionPreference = "Stop"
#$csvfile = import-csv -path "C:\AutoTemp\users.csv" You can use this line to get a list of email addresses
$csvfile = import-csv -path "C:\AutoTemp\Tests\pwd.txt"
tabcmd login -s http://address:8000 -u partaddress.local\loginUserName -p password
#Creates the pdf
tabcmd get "/views/DashboardAddress" -f "C:\AutoTemp\Tests\pass1.pdf"
$smtp = new-object Net.Mail.SmtpClient("10.100.0.30")
$smtp.Credentials = New-Object System.Net.NetworkCredential;
$smtp.Timeout = 1000000
$msg = new-object Net.Mail.MailMessage
$attach = new-object Net.Mail.Attachment("C:\AutoTemp\Tests\pass1.pdf")
$msg.From = "email@example.com"
# Message to
$msg.subject = "Get your pdf"
$msg.body = "This is your start"