mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FEATURE: Add hooks for email poller plugins (#21384)
While we are unable to support OAUTH2 with pop3 (due to upstream dependency ruby/net-pop#16), we are adding the support for mail pollers plugin. Doing so, it would be possible to write a plugin which then uses other ways (microsoft graph sdk for example) to poll emails from a mailbox. The idea is that a plugin would define a class which inherits from Email::Poller and defines a poll_mailbox static method which returns an array of strings. Then the plugin could call register_mail_poller(<class_name>) to have it registered. All the configuration (oauth2 tokens, email, etc) could be managed by sitesettings defined in the plugin.
This commit is contained in:
@@ -647,6 +647,11 @@ class Plugin::Instance
|
||||
end
|
||||
end
|
||||
|
||||
def register_email_poller(poller)
|
||||
plugin = self
|
||||
DiscoursePluginRegistry.register_mail_poller(poller) if plugin.enabled?
|
||||
end
|
||||
|
||||
def register_asset(file, opts = nil)
|
||||
raise <<~ERROR if file.end_with?(".hbs", ".handlebars")
|
||||
[#{name}] Handlebars templates can no longer be included via `register_asset`.
|
||||
|
||||
Reference in New Issue
Block a user