I'm developing an application which has subscribers entered into a SQL Server database.

Their subscription is monthly, and requires that automatic emails are triggered 1 week, 2 days then 1 day before their subscription expires.

How would this be best done?

I've heard of third party cron services which could be used to trigger a script, but the script would then need to be 'open' to the web for the cron service to access it - which is not very secure.

The other option would be to trigger emails from the database directly, but I'm a total beginner at SQL so am not sure how difficult this would be?

Any pointers would be greatly appreciated, thanks...