I've looked into this, and I've found out about Cron jobs - but the thing is that it only has to run once ever.
Background: My users can create something that expires - and they choose when it expires.
One of my solutions: Maybe I don't have to expire it on that day - whenever someone requests that thing, then I can check whether or not it has already expired, and if it has, then I can change that thing accordingly.
Why it wouldn't work: I'd also like to send an email out when that thing expires.
Thanks for any help!