How do I use drupal_mail() without the $to value? I'm trying to send same email to several users at once. They should not see each other's email addresses, so I add them as Bcc in the header.

However, the problem is that Drupal seems to require the $to parameter passed to drupal_mail() function. I tried passing both NULL and an empty string but without success. System would return the Unable to send e-mail. message.

I don't want to use some random email address instead and I want to avoid new modules.

How can I send an email just with BCC recipients?
You do this by putting the string 'undisclosed-recipients:;' (notice the colon and semicolon at the end) is the $to parameter you pass to the drupal_mail function. E.g.:

drupal_mail('mymodule', 'send', 'undisclosed-recipients:;', $language, $params);


You can now add the list of bcc-recipients to the header.