Ruby Net::SMTPを使用してメールを送信したいと思います。ルーチン
send_message( msgstr, from_addr, *to_addrs )
メールを送信するための私のコードではうまく機能しますが、このAPIから、ブラインドコピーが必要な人のリスト(bcc:)にメールを送信する方法が明確ではありません。
私は何かが足りないのですか、それともNet :: SMTPでは不可能ですか?
のto_addrs
パラメータはsend_message
、アドレスへのエンベロープを指定します。にアドレスをto_addrs
含めても、メッセージヘッダーに含まれる宛先アドレスとccアドレスには影響しません。
受信者をBCCにするには、パラメータにアドレスを含めますto_addrs
が、のヘッダーには含めないでくださいmsgstr
。例えば:
msgstr = <<EOF
From: from@example.org
To: to@example.org
Cc: cc@example.org
Subject: Test BCC
This is a test message.
EOF
Net::SMTP.start(smtp_server, 25) do |smtp|
smtp.send_message msgstr, 'from@example.org',
'to@example.org', 'cc@example.org', 'bcc@example.org'
end
これにより、to @ example.org、cc @ example.org、bcc@example.orgの3人の受信者にメールが送信されます。受信したメッセージには、to@example.orgとcc@example.orgのみが表示されます。
はい、Net::STMPでは簡単にできません。しかし、メール送信を管理するための本当に素晴らしい宝石があります(http://github.com/mikel/mail)。ぜひご利用ください。