If you have an SMTP server available, you can use the SMTP client that's part of the .net framework.
You can set up a daemon in the Application_Start method of Global.asax.cs that might check daily for expiring contracts then sends SMTP emails regarding the contracts that are about to expire.
Something like this might be appropriate:
// this is System.Threading.Timer
_timer = new Timer(x =>
{
var listOfExpiringContracts = GetContractsThatAreAboutToExpire();
if (listOfExpiringContracts.Count > 0)
{
SendEmailToOtherDepartmentRegardingContractsThatAreAboutToExpire(listOfExpiringContracts);
}
}, null, GetNextTimeToCheckForExpiringContracts().Subtract(DateTime.Now), TimeSpan.FromDays(1));