前提
研修でSpring Bootでメールを送信する機能を作っています。
送信するメール毎に本のタイトルをメールに埋め込みたいと考えております。
実現したいこと
ここに実現したいことを箇条書きで書いてください。
- メールの本文に本のタイトルを埋め込みたい。(htmlタグを使いたい)
発生している問題・エラーメッセージ
Javaのコードにエンティティから取得した本のタイトルを埋め込みたいです。 sendMailメソッド呼出時にString bodyのメール本文部分への本のタイトルを埋め込むhtmlタグや改行の書き方がわかりません。
該当のソースコード
Bookエンティティ @Data @NoArgsConstructor @AllArgsConstructor public class Book { private Integer bookId; private String bookTitle;
BookServiceImplクラス @Override public void sendSes(Book book) { String titleForSes = book.getbookTitle(); sesService.sendMail(List.of("user@example.com"), "購入", "本の購入が完了しました。<br> タイトル名:<var>titleForSes</var>"); }
SesServiceImplクラス @Override public String sendMail(List<String> address, String subject, String body) { String charset = StandardCharsets.UTF_8.name(); SendEmailRequest sendEmailRequest = new SendEmailRequest().withDestination(new Destination().withToAddresses(toAddress)) .withMessage(new Message() .withBody(new Body().withHtml( new Content().withCharset(charset).withData(body))) .withSubject(new Content().withCharset(charset).withData(subject))) .withSource(fromAddress); AmazonSimpleEmailService client = awsEnv.createAmazonSimpleEmailService(); SendEmailResult result = client.sendEmail(sendEmailRequest); return result.getMessageId(); }
試したこと
sendMailメソッド呼出時にString bodyのメール本文部分への本のタイトルを埋め込むためにhtmlで使うタグの改行タグの<br>や<var>取得したタイトル名</var>を書いてみましたが、メールのログをみても<br>,<var>titleForSes</var>が文字列として読み込まれていました。
補足情報(FW/ツールのバージョンなど)
特になし。

回答2件
あなたの回答
tips
プレビュー