8

Ruby Net::SMTPを使用してメールを送信したいと思います。ルーチン

send_message( msgstr, from_addr, *to_addrs )

メールを送信するための私のコードではうまく機能しますが、このAPIから、ブラインドコピーが必要な人のリスト(bcc:)にメールを送信する方法が明確ではありません。

私は何かが足りないのですか、それともNet :: SMTPでは不可能ですか?

4

2 に答える 2

18

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のみが表示されます。

于 2010-03-27T17:52:58.367 に答える
1

はい、Net::STMPでは簡単にできません。しかし、メール送信を管理するための本当に素晴らしい宝石があります(http://github.com/mikel/mail)。ぜひご利用ください。

于 2010-03-27T17:17:02.730 に答える