I just finished making a card for my Valentine (and I know he's going to love it). I only had to pay $0.44 cents for it to be shipped.
Tiny Prints has a sweet offer. You can personalize a Valentine’s Day card with your own pictures and writing. When you go to checkout, use code FREELOVE and the card is free (that's a savings of $3.99).
But it only comes to the 1st 5,000 orders so hurry up and make yours soon!
UPDATE: Their campaign was very successful and all the 5,000 free cards are gone, but you can still get them for just $1.49 using code LASTLOVE.
UPDATE #2: They have codes at the top of the page regularly posted for various holidays, so check back to see what specials they have up.