I set up a Xmas e-card facility on a charity website. There are several WordPress plugins for ecards, both free and premium, but I didn’t like the way any of them worked.
It was really easy to build this using Gravity Forms instead, which I already had installed. Presumably Ninja Forms or similar plugins could be used just as well. Both the sender and recipient saw a discreet link to make a donation – and it was quite successufl – but if you wanted to take a payment by PayPal before sending the card, that should be possible with GF.
Gravity Forms let you use HTML in email notifications, and insert fields (image, name etc) where you want them.
But… if it’s going to get a lot of usage, do some testing to ensure that emails actually arrive ok, and consider measures to avoid it being used for spam.