有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我可以使用SendGrid向多个用户发送电子邮件吗?

我有一个eventhub函数,代码如下

public class Function {

    @FunctionName("ehprocessor")
    public void eventHubProcessor(
            @EventHubTrigger(name = "msg", eventHubName = "", connection = "eventhubConnString", dataType = "string", cardinality = Cardinality.ONE) String eventHubMessage,
            @SendGridOutput(name = "message", dataType = "String", apiKey = "sendGridAPIKey", to = "jithinvariyarmv@gmail.com", from = "jithin@vinnovatelabz.com", subject = "Azure Functions email with SendGrid", text = "Sent from Azure Functions") OutputBinding<String> message,
            final ExecutionContext context) {

        final String toAddress = "jithinvariyarmv@gmail.com";
        final String value = "Sent from Azure Functions-->" + eventHubMessage;

        StringBuilder builder = new StringBuilder().append("{")
                .append("\"personalizations\": [{ \"to\": [{ \"email\": \"%s\"}]}],")
                .append("\"content\": [{\"type\": \"text/plain\", \"value\": \"%s\"}]").append("}");

        final String body = String.format(builder.toString(), toAddress, value);

        message.setValue(body);
    }
}

正如您所看到的,我使用了@SendGridOutput注释,其中包含发件人和收件人的电子邮件地址。功能。生成的json如下所示

{
  "scriptFile" : "../eventfunction-0.0.1-SNAPSHOT.jar",
  "entryPoint" : "dk.scanomat.coffeecloud.eventfunction.Function.eventHubProcessor",
  "bindings" : [ {
    "type" : "eventHubTrigger",
    "direction" : "in",
    "name" : "msg",
    "dataType" : "string",
    "connection" : "eventhubConnString",
    "eventHubName" : "",
    "cardinality" : "ONE"
  }, {
    "type" : "sendGrid",
    "direction" : "out",
    "name" : "message",
    "apiKey" : "sendGridAPIKey",
    "subject" : "Azure Functions email with SendGrid",
    "dataType" : "String",
    "from" : "jithin@vinnovatelabz.com",
    "to" : "jithinvariyarmv@gmail.com",
    "text" : "Sent from Azure Functions"
  } ]
}

所以这封邮件只有一个收件人。有没有办法将同一封电子邮件发送给多个用户


共 (1) 个答案

  1. # 1 楼答案

    您需要使用Personalization

    var personalization = new Personalization();
    personalization.AddBcc(new Email("mark@test.com"));  
    personalization.AddTo(new Email("bob@test.com"));