Two years ago I told my DH's younger son (age 22) that his father has birthdays, Father's Days, and Christmases, and that I felt he was old enough to start acknowledging his father on those dates. I told him that in the 11 years I'd been with his father, neither he nor his brother had ever acknowledged their father on any birthday or holiday. I told him if this continued, perhaps his DDad might forget he had a birthday.

I wasn't mean about it, I was only trying to teach him a lesson that his own mother should have taught him. I told him I did not expect him to buy gifts for his father, but that I would appreciate it if he'd acknowledge his DDad with either a card or a phone card.
Guess what? It worked, and he now calls his dad and sends him cards, and sometimes buys him gifts "just because". This past Father's Day, he emailed me to let me know he didn't get his dad's Father's Day card mailed in time, but he had bought him one. He emailed his dad a picture of the front, the inside and the back of the card, and sent him a sweet email saying he was sorry he hadn't mailed the card in time. I thought it was adorable. I am so proud that he finally acknowledges his father on special occasions.
Now, if I could only get through to DH's older son!