8

我想使用 Ruby Net::SMTP 发送电子邮件。例行公事

send_message( msgstr, from_addr, *to_addrs )

在我的发送电子邮件的代码中运行良好,但是从这个API中不清楚如何将电子邮件发送到需要被盲目复制的人员列表(密件抄送:)。

我错过了什么,还是 Net::SMTP 不可能?

4

2 回答 2

18

to_addrs参数send_message指定地址的信封。包含地址to_addrs对包含在消息头中的 to 和 cc 地址没有影响。

要密件抄送收件人,请在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。只有 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 回答