msg.addRecipient (Message.RecipientType.BCC, новый InternetAddress ("joe@example.com"));
По умолчанию JavaMail собирает всех получателей, указанных в объекте сообщения, включая получателей скрытой копии, и использует их в команде RCPT для SMTP-сервера. Однако получатели скрытой копии не будут отображаться в заголовках сообщений (в этом весь смысл скрытой копии).