【问题标题】:Create microsoft teams announcement via SMTP通过 SMTP 创建微软团队公告
【发布时间】:2021-02-04 15:30:53
【问题描述】:

我正在使用JavaMailSender 类通过 SMTP 协议向 Microsoft Teams 频道添加新消息。它工作正常,但我需要创建公告而不是默认对话消息。有什么方法可以实现吗?

我正在使用 spring 框架和 JavaMailSenderImpl 类向团队发送消息。也许我应该添加一些标题或类似的东西来发送通知,而不是对话消息?

@RequiredArgsConstructor
@Slf4j
public class DefaultTeamsService implements TeamsService{
    private final JavaMailSender mailSender;
    @Value("${app.mail.from}")
    private String from;

    @Override
    public void sendMessage(String to, String subject, String html) {
        try {
            MimeMessage message = formMessage(from, to, subject, html);
            mailSender.send(message);
        } catch (MessagingException e) {
            log.error("Failed to form message", e);
        }
    }

    private MimeMessage formMessage(String from, String to, String subject, String html) throws MessagingException {
        MimeMessage message = mailSender.createMimeMessage();
        message.setSubject("", "utf-8");

        MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8");

        helper.setFrom(from);
        helper.setTo(to);
        helper.setSubject(subject);
        helper.setText(html, true);

        return message;
    }

This is how it shows now

This is how it should be

【问题讨论】:

  • “公告”到底是什么意思?像标题等?
  • 在团队频道中添加新消息时,您可以指定其类型:“新对话”和“公告”。 Example

标签: java spring email smtp microsoft-teams


【解决方案1】:

我不确定如何像这样直接创建一个实际的“公告”类型,或者是否有可能,但至少支持有限的降价语法,所以有一些“标题”和其他格式可能有用的选项 - 请参阅here 了解更多信息。另一种选择是查看使用webhooks。创建机器人并使用主动消息传递和自适应卡片是另一种选择,但工作量更大。

【讨论】:

  • 嗨@BANTYC,您能否确认上述解决方案是否适合您?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-21
  • 1970-01-01
  • 2021-05-27
相关资源
最近更新 更多