如何使用Play Mailer向多个收件人发送电子邮件并隐藏其地址

时间:2016-06-15 12:03:47

标签: scala email playframework mailer

我正在使用Scala的Play Mailer,我正在尝试向多个收件人发送相同的电子邮件。有没有办法将我的电子邮件单独发送给多个收件人,这意味着收件人无法看到其他收件人的地址?以下是用于将相同电子邮件发送到一系列电子邮件的代码,因此收件人可以在TO字段中查看所有其他地址。

import play.api.libs.mailer._
import java.io.File
import org.apache.commons.mail.EmailAttachment
import javax.inject.Inject
import play.api._
import play.api.mvc._
import scala.concurrent.Future
import play.api.libs.json._

class MailerApi @Inject() (mailerClient: MailerClient) extends Controller {
  def sendEmail = Action.async(parse.json) { request =>
    val subject: String = (request.body \ "subject").as[String]

    val cid = "1234"
    val email = Email(
      subject,
      "ExcelWay <email1@gmail.com>",
      Seq("Miss TO <email2@gmail.com>",<email3@gmail.com>),
      // adds attachment
      attachments = Seq(),
      // sends text, HTML or both...
      bodyText = Some("A text message"),
      bodyHtml = Some("content")
      )
    mailerClient.send(email)
    Future.successful(Ok("ok !!"))
  }
}

1 个答案:

答案 0 :(得分:0)

在不知道有其他收件人的情况下向多个收件人发送邮件的最佳做法是向自己发送电子邮件并将所有收件人添加为BCC。

将此添加到您的Mail对象:

bcc = Seq("email1@domain.com", "email2@domain.com")

并使用您自己的邮件地址设置TO字段。