Неплохо бы реализовать подстановку имени/фамилии. Если эти поля вдруг не заполнены, то подставлять предустанавливаемое имя по-умолчанию (например, "Пользователь"). Это же имя по-умолчанию можно использовать для адресов в поле "Дополнительные адреса получателей".
По п.3 - просто нужно определить приоритеты, откуда брать информацию