Why did some customers stop receiving subscription or maintenance expiration emails?
Quick answer
SOLO Server sends expiration notification emails through a daily process that is scoped to a specific list of Product Option IDs. The daily process only emails customers whose licenses belong to the Product Options in that list. So if some customers stopped receiving expiration or renewal reminder emails, or a group of licenses never got them, the most common reason is that those licenses were issued from a Product Option that is not included in the mailing's Option list, often a Product Option that was created after the mailing was originally set up.
How expiration notification emails are scoped
Expiration emails are configured as a custom mailing plus a daily process (see How can I send warning emails to customers before their subscription license or maintenance expires?). There are two mailing types, and each is scoped by a list of Product Option IDs:
- Subscription Expiration Notification Mailing (one email per license) is scoped by its ProdOptionCsv input (a comma-separated list of Product Option IDs to send for).
- Customer Subscription Expiration Mailing (one summary email per customer) is scoped by ProductIDsCsv and IncludedProdOptionsCsv, with ExcludedProdOptionsCsv to filter specific options out.
The daily process runs each morning and emails customers whose licenses expire a set number of days from today (its DaysToExpiration value), but only for the Product Options named in that list.
Why some licenses get skipped
When you create a new Product Option, its Option ID is not added to an existing mailing's list automatically. Licenses issued from that new Option are therefore not searched by the daily process, and those customers do not receive the expiration email. Because nothing errors out, this can go unnoticed for a long time: the mailing keeps working for the older Options while silently skipping the new one.
How to fix it
- Identify the Product Option IDs that should be covered. Each Product Option's numeric Option ID is shown on its record in SOLO Server. To review many at once, the Licenses By Product report includes both the Product Option ID and the Option Name.
- Update the mailing's Option list to include the missing Option IDs: - Hosted SOLO Server: contact us with the updated Daily Process input elements (the Option IDs you want covered), and we will update the daily process. - Self-hosted SOLO Server: open Admin / Daily Processes (Scheduled Jobs) and update the process's input parameters to include the Option IDs.
- Going forward, whenever you add a Product Option whose licenses should send expiration emails, add its Option ID to the mailing's list at the same time.
Common Questions
I added a new product and those customers never got renewal reminders. Why?
Almost certainly the same cause: the new Product Option's ID was not added to the expiration mailing's Option list, so the daily process does not include those licenses. Add the Option ID to the mailing (see above).
Which input controls this, ProdOptionCsv or IncludedProdOptionsCsv?
It depends on the mailing type. The Subscription Expiration Notification Mailing (one email per license) uses ProdOptionCsv. The Customer Subscription Expiration Mailing (one summary per customer) uses ProductIDsCsv / IncludedProdOptionsCsv (with ExcludedProdOptionsCsv to exclude specific options).