FAQ

chevron-rightDoes Apps for Tableau look at any of my data?hashtag

No, MailScheduler is a on-premises solution without the need of any internet connection. Our SaaS solutions are hosted in an isolated Azure environment only accessible for a by you approved group of engineers.

chevron-rightCan MailScheduler run in docker / kubernetes?hashtag

Yes MailScheduler can run in a container. The configuration for this is next-level since it needs to be configured manually without the one-click installer. Reach out to our support channel for the possibilities.

chevron-rightCan I change the API version of the Tableau Rest API that MailScheduler uses?hashtag

Yes, you can change the version of the Tableau Rest API that MailScheduler uses. The default is 3.15. You can set a variable in the config.yaml in the installation folder.

tableau_api_version: 3.23

Ensure you put it in the correct place in the file and leave the indentation intact. The 'env:' is already there; place it just below that as follows:

env:
  tableau_api_version: 3.23
chevron-rightHow to set the number of parallel requests to the Tableau Rest API?hashtag

In the config yaml you can add the this. Note that Tableau Server or Cloud limits the number of concurrent requests so adjust the value to align with that limit. On default this is 20.

env:
  tableau_concurrency: 5
chevron-rightCan you explain more about the config yaml file structure?hashtag

The config yaml is a configuration file located in the installation folder. Here we store all variables and secrets. Note that it is wise to limit access to the installation folder or server to keep your secrets secure.

Once you open the file you will see the contents.

http:
  address: 0.0.0.0:38293
  ssl:
    address: :8899
    cert: .app-runtime/ssl.crt
    key: .app-runtime/ssl.key
    redirect: true
mail-scheduler:
  domain: mailscheduler.appsfortableau.com
  env:
    app:
      license: xxxxx
      url: https://mailscheduler.appsfortableau.com
    db:
      connection: sqlite-default
      database: mailscheduler.sqlite
      driver: sqlite
      host: ""
      password: ""
      schema: public
      username: ""
    mail:
      encryption: tls
      from:
        address: [email protected]
        name: MailScheduler
      host: smtp.office365.com
      mailer: smtp
      password: xxxxx
      port: 587
      username: [email protected]
    user_created: true
  proxy:
    enabled: false
    external_domain: ""
    external_port: 0
    external_ssl: true    

Note that the indentation is always two spaces.

For specific env variables used within the MailScheduler app we focus on the 'env' part. Here you see items like database credentials and mail credentials.

It doesn't matter if you would use and '_' (underscore) or a ':' (colon) and new line. Example:

  env:
    app:
      license: xxxxx
      url: https://mailscheduler.appsfortableau.com

Is exactly the same as:

  env:
    app_license: xxxxx
    app_url: https://mailscheduler.appsfortableau.com
   

IMPORTANT: After saving any changes to the config.yaml, you will always need to shut down and restart the Mailscheduler app, or they will not be applied properly.

chevron-rightCan I change the PDF caching time?hashtag

In the config yaml you can add the this. The default is 60 minutes. The minimum is 1 minute.

env:
  tableau_max_age: 1
chevron-rightHow does MailScheduler handle timezones for scheduled messages?hashtag

The time you set in the schedule (e.g., 07:00) is based on the timezone configured in your MailScheduler settings.

How to change the Timezone:

  • Go to your MailScheduler installation directory.

  • Open the app.config.yaml file.

  • Add the following line under the env > app section:

  • Replace Europe/Amsterdam with your preferred IANA timezone identifierarrow-up-right, for example:

    • Europe/London

    • America/New_York

    • Asia/Tokyo

  • Save the file.

  • Restart the MailScheduler service.

Note: This timezone setting applies to all scheduled tasks and emails in MailScheduler.

chevron-rightDoes the application provide a health check endpoint for load balancers?hashtag

Yes. Our application exposes a dedicated health check URL that load balancers can call to verify that the application is running and ready to accept traffic. The Url is the http://[hostname]/health or https://[hostname]/health when you are using ssl

chevron-rightWhy can’t I access the MailScheduler from the internet?hashtag

The MailScheduler runs only on the local virtual machine (VM) and is not hosted on a public server. Because the VM has no public IP address, it cannot be accessed from the internet.

To make it work inside the VM:

  1. Open the hosts file (C:\Windows\System32\drivers\etc\hosts).

  2. Add entries that map loopback addresses to your domain, for example:

This ensures the MailScheduler runs correctly and can send emails from the VM.