Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ruby Net::SMTP - Send email with bcc: recipients

Tags:

email

ruby

bcc

I would like to use Ruby Net::SMTP to send email. The routine

send_message( msgstr, from_addr, *to_addrs )

works well in my code for sending email, but it is not clear from this API how to send email to a list of people that need to be blind copied (bcc:).

Am I missing something, or is it just not possible with Net::SMTP?

like image 350
Jay Godse Avatar asked Mar 27 '10 17:03

Jay Godse


1 Answers

The to_addrs parameter of send_message specifies the envelope to addresses. Including an address in to_addrs has no effect on the to and cc addresses that get included in the message header.

To bcc a recipient, include the address in the to_addrs parameter, but don't include it in the headers in msgstr. For example:

msgstr = <<EOF
From: [email protected]
To: [email protected]
Cc: [email protected]
Subject: Test BCC

This is a test message.
EOF

Net::SMTP.start(smtp_server, 25) do |smtp|
  smtp.send_message msgstr, '[email protected]', 
    '[email protected]', '[email protected]', '[email protected]'
end

This will send an email to three recipients: [email protected], [email protected] and [email protected]. Only [email protected] and [email protected] will be visible in the received message.

like image 147
Phil Ross Avatar answered Sep 17 '22 15:09

Phil Ross