1

次のメール送信を実装しました。

Template template = freemarkerConfig.getTemplate(templateFileName);
String html = FreeMarkerTemplateUtils.processTemplateIntoString(template, props);
logger.debug("Send email to {} with subject: [{}]", Arrays.toString(to), subject);
Personalization personalization = new Personalization();
for (String toEmail : to) {
    personalization.addTo(new Email(toEmail));
}       
Mail mail = new Mail();
mail.addPersonalization(personalization);
mail.setSubject(subject);
mail.setFrom(new Email(from));
mail.addContent(new Content("text/html", html));
Request request = new Request();
try {
    request.setMethod(Method.POST);
    request.setEndpoint("mail/send");
    request.setBody(mail.build());
    Response response = this.sendGrid.api(request);
    logger.info("Response:{}", response);
    } catch (IOException ex) {
    logger.error("Exception occurred during email sending", ex);
}

SMTP-over-SSL、またはを使用する必要がある要件がありますSMTP+STARTTLS

私はそれが何を意味するのか分かりません。この場合、(web api の代わりに) smtp api を使用する必要がありますか? ただし、sendgrid の公式サイトでは、Web API を使用することを推奨しています。

4

1 に答える 1

1

TLS 経由で Sendgridに送信することのみに関心がある場合は、それを開始して接続を適切に実行することを確認してください。そうすれば、暗号化されて送信されます。

すべてのメールが TLS 経由でのみ SendGrid から送信されるようにする必要がある場合は、メール送信のオプションとしてTLSを強制できます。SendGrid は常に TLS 接続の送信を試みますが、フラグが設定されていない場合は暗号化されていない状態に戻ります。

于 2018-01-29T23:52:58.350 に答える