gpt4 book ai didi

email - 从 Redmine 插件发送电子邮件

转载 作者:行者123 更新时间:2023-12-04 10:42:10 26 4
gpt4 key购买 nike

我正在编写一个 Redmine 插件。我已经有了模型、 View 和 Controller 。
每当有人创建、更新或删除我的模型时,我都想向某个组中的人发送电子邮件。 (类似于当有人创建或更新问题时由 Redmine 发送的电子邮件)有人可以告诉我什么是最好的方法吗?
谢谢!

最佳答案

我知道自从你问起已经有 2 年了,但我遇到了同样的问题,我想出了如何用我的插件发送电子邮件。

对于名为 my_plugin 的插件,您需要做的是:

1. 创建一个继承自 Mailer 的模型。

因此,如果我想要一个名为 MyPluginMailer 的邮件程序:

  • 我创建 redmine_folder/plugins/my_plugin/app/models/my_plugin_mailer.rb
  • 我创建了 MyPluginMailer 类,它继承自 redmine Mailer

  • 像那样:
    class MyPluginMailer < Mailer
    end

    2. 创建一个方法来调用邮件程序。

    假设我正在为 redmine 编写一个新闻插件。
    我想发送一封电子邮件,总结我提交的文章,这样用户就不必每次想知道是否有新内容时都轮询插件。

    我在邮件程序类中创建了一个方法:
    class MyPluginMailer < Mailer
    def on_new_article(user_to_warn, article)
    mail to: user_to_warn.email, subject: "New article: #{article.title}"
    @article = article #So that @article will be available in the views.
    end
    end

    例如,您可以在您的文章类中的 after_create 回调中调用此方法。

    3. 为方法创建一些 View 。

    必须创建 2 个不同的文件:
  • my_method.html.erb
  • my_method.text.erb

  • 否则 redmine 将因“找不到模板”异常而崩溃。

    所以在我的 redmine_folder/plugins/my_plugin/app/views/my_plugin_mailer/我创建
  • on_new_article.html.erb
  • on_new_article.text.erb

  • 在我的 on_new_article.html.erb 中,我写了如下内容:
    <h1><%= @article.title %></h1>
    <p><%= @article.summary %></p>

    关于email - 从 Redmine 插件发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10505894/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com