Customer (id, phys_address_id, mail_address_id)
Address (id, street, city, etc.)
Address (id, customer_id, address_type, street, city, etc.)
Customer (id, phys_street, phys_city, etc. mail_street, mail_city, etc.)
I tend towards first approach for all the usual reasons of normalisation. This approach also makes it easier to perform data cleansing on mailing details.
If you are possibly going to allow multiple addresses (mail, residential, etc) or wish to be able to use effective dates, consider this approach
Customer (id, phys_address_id) Cust_address_type (cust_id, mail_address_id, address_type, start_date, end_date) Address (id, street, city, etc.)