package com.pingcap.kb.integration.service;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;

@Service
public class MailService {

  private final JavaMailSender mailSender;
  private final String sender;

  public MailService(JavaMailSender javaMailSender, @Value("${spring.mail.username}") String username) {
    this.mailSender = javaMailSender;
    this.sender = username;
  }

  public void send(String to, String title, String body) throws MessagingException {
    MimeMessage message = mailSender.createMimeMessage();
    MimeMessageHelper helper = new MimeMessageHelper(message, true);
    helper.setFrom(sender);
    helper.setTo(to);
    helper.setSubject(title);
    helper.setText(body, true);
    mailSender.send(message);
  }
}
