How can we improve WHMCS?

Share, discuss and vote for what you would like to see added to WHMCS

Disable reminder emails for domains which are set to auto renew

  • Boris Hinzer shared this idea 5 years ago
  • Automation
  • 4 Comments


Our clients are used to set domains to auto renew. Usually they get very much confused if we inform them, that their domains are about to expire. Therefor it would be great if we could skip sending those reminder emails - at least on a client level.

5 Comments

Login to post a comment.

Superb, I will use it for us !
Hi Boris

Are you talking abut the "Upcoming Domain Renewal Notice"?
The below is the template we use. It still generates the occasional request, but works decently well. I guess you could move things around to make it even clearer:

Dear {$client_name},

The domain(s) listed below is/are going to expire in {$domain_days_until_expiry} days.

If you are set up for automatic payment and the domain is set to automatically renew and be paid then it will be renewed when we process your payment on {$domain_next_due_date}. An invoice will be sent to you a few days in advance.
If you would like to cancel the domain renewal please contact us to stop the renewal and charge.

If you are not set up for automatic payment but the domain is set for automatic renewal then please be advised that the domain name(s) will not be renewed until we have received your payment.
An invoice will be issued a few days before the due date. Please make sure to pay in time before the expiry date. If paying by anything else than directly in the billing system we have to manually initiate your renewal - please keep this in mind for payment deadlines.

{if $expiring_domains}{foreach from=$expiring_domains item=domain}{$domain.name} - {if $domain_do_not_renew}Autorenew DISABLED{else}Autorenew enabled{/if}
Due Date: {$domain.nextduedate} ({$domain.days} Days)
Expiry Date: {$domain.expirydate}{/foreach}
{elseif $domains}{foreach from=$domains item=domain}{$domain.name} - {if $domain_do_not_renew}Autorenew DISABLED{else}Autorenew enabled{/if}
Due Date: {$domain.nextduedate}
Expiry Date: {$domain.expirydate}{/foreach}
{else}{$domain_name} - {if $domain_do_not_renew}Autorenew DISABLED{else}Autorenew enabled{/if}
Due Date: {$domain_next_due_date} ({$domain_days_until_nextdue} Days)
Expiry Date: {$domain_expiry_date} ({$domain_days_until_expiry} Days)
{/if}

Should you allow the domain(s) to expire, you may still be able to renew it at a higher cost. The time available depends on the domain extension. During this time, the domain will not be accessible so any web site or email services associated with it will stop working.

{$signature}
Unfortunately, it is not possible to send out separate reminders for domains based on their "Auto Renew" status. However, with a little bit of custom coding, you can create a custom hook that can abort the renewal reminder email if auto-renew is enabled. Here are a couple of links that can help you get started :

https://developers.whmcs.com/hooks-reference/everything-else/#emailpresend
https://docs.whmcs.com/Email_Templates#Merge_Fields
Hi there,
Thanks for this suggestion. Currently the ICANN regulations state that renewal reminders must be sent: https://www.icann.org/resources/pages/reminders-2013-05-03-en

This would seemingly preclude this kind of option from being implemented. Based on my review of ICANN regulations I'm not aware of an exception in the event the owner indicates they intend to renew the domain automatically. But if one exists, that might change the situation.
Could it not send the reminder without sending an invoice, though? If it sends a "your domain will automatically renew" reminder and nothing else, and then still generated an invoice (but did not email it) and still sent a payment confirmation when it's paid, it seems that would be less confusing for customers without violating the ICANN regulations.