Ruby Net :: SMTP - Envoyer email avec bcc: destinataires
-
22-09-2019 - |
Question
Je voudrais utiliser Ruby Net :: SMTP pour envoyer des e-mail. La routine
send_message( msgstr, from_addr, *to_addrs )
fonctionne bien dans mon code pour envoyer des e-mail, mais il est pas évident de cette API comment envoyer un courriel à une liste de personnes qui ont besoin d'être aveugle copié (cci :).
Suis-je manque quelque chose, ou est-il tout simplement pas possible avec Net :: SMTP?
La solution
Le paramètre to_addrs
de send_message
spécifie l'enveloppe à des adresses. Y compris une adresse to_addrs
n'a aucun effet sur l'adresse et à cc qui sont inclus dans l'en-tête du message.
Pour bcc un destinataire, comprennent l'adresse dans le paramètre to_addrs
, mais ne comprennent pas dans les en-têtes dans msgstr
. Par exemple:
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
envoie un courrier électronique à trois destinataires: to@example.org, cc@example.org et bcc@example.org. Seuls to@example.org et cc@example.org seront visibles dans le message reçu.
Autres conseils
Oui il est impossible facilement avec Net :: STMP. Mais il y a un petit bijou vraiment super pour gérer votre e-mail d'envoi ( http://github.com/mikel/mail). Je vous encourage à l'utiliser.