Don*_*Don 19 java email jakarta-mail
我正在使用javamail将电子邮件发送到收件人列表,但不希望他们能够看到其他人收到了电子邮件.我也不想使用BCC发送它,因为用户甚至没有在TO列表中看到自己.我认为这段代码会这样做,但它会显示TO列表中的所有收件人.除了创建循环并一次发送一封电子邮件之外,还有另一种方法吗?
(注意:recipients []是一个包含电子邮件地址的字符串数组.)
javax.mail.internet.InternetAddress[] addressTo = new javax.mail.internet.InternetAddress[recipients.length];
for (int i = 0; i < recipients.length; i++)
{
addressTo[i] = new javax.mail.internet.InternetAddress(recipients[i]);
}
msg.setRecipients(javax.mail.Message.RecipientType.TO, addressTo);
Run Code Online (Sandbox Code Playgroud)
Cam*_*pka 16
不,没有办法用电子邮件做到这一点.
您必须显式构建并发送由每个收件人迭代的电子邮件,其中一个作为您addressTo阵列的唯一成员.
SMTP协议不关心邮件中列出的人员,并且RCPT TO命令中指定的收件人仅用于确定将邮件传输到的人员.没有什么可以阻止您使用To标头构建RFC822消息,如上所述,然后编写一个自定义SMTP客户端,将您的特定消息发送出去但使用不同的收件人集.只是因为你可以发送消息并不意味着一路上的垃圾邮件过滤器会注意到不稳定的收件人标头并阻止消息.
根据我的经验,JavaMail的SMTP客户端非常擅长发送基本消息,而没有您经常看到邮件列表提供商和垃圾邮件发送者使用的任何邮件技巧.这些公司花了很多精力确保他们能够以他们想要的方式发送消息,但他们也在不断努力确保他们的消息被视为合法的电子邮件.
简短的回答:我会求助于BCC,如果这是出于营销目的,请考虑使用专门从事这类工作的公司.
| 归档时间: |
|
| 查看次数: |
62270 次 |
| 最近记录: |