i agree, .. seems ok to me. this our line of work and what he wants is his line of work. none of it is illegal since you provide a legit opt-out option. if you think he may have obtained the address' illegally somehow, maybe just add a clause in the contract that he has obtained the addys legally and you are not responsible.
i don't think a printing company would turn down a print job because they don't like the way their client does business. ( even though it is legal )
besides, you'll probably forget all about your internal ethical conflict on the way to the bank anyways
