E' molto semplice:

quando un utente realizza una cartolina devi semplicemente inserire tutti i dati in una tabella del DB, ad es. titolo, autore, immagine di sfondo, tipo carattere, email destinatario ecc.. insomma tutto quello che hai previsto per personalizzare la cartolina.
Ogni cartolina creata avrà un ID, ovvero identificativo numerico che la distinguerà dalle altre (basta un campo intero autoincrement nella tabella).

Una volta inseriti questi dati potrai recuperare tale ID ed inviare una mail al destinatario con un indirizzo che punti alla pagina php che si occupa della visualizzazione delle cartoline. Qualcosa del tipo www.tuosito.it/mostra_cartolina.php?id=123

Ovviamente l'id dell'URL andrà posto al corretto valore di volta in volta.

La pagina mostra_cartolina.php si limiterà a prelevare i dati della cartolina corrispondenti all'id nell'url

Per aumentarne la sicurezza, al posto di un id numerico puoi usare un codice casuale in modo che un utente non possa vedere tutte le cartoline semplicemente alterando tale id