add module

master
Christopher 2020-06-30 08:46:07 +02:00
parent c7fdde81cd
commit 163124945e
1 changed files with 102 additions and 1 deletions

View File

@ -1,14 +1,115 @@
using MimeKit;
using Mono.Addins;
using Nini.Config;
using OpenMetaverse;
using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Framework.Scenes;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
[assembly: Addin("MailKitMailModule", "0.1")]
[assembly: AddinDependency("OpenSim.Region.Framework", OpenSim.VersionInfo.VersionNumber)]
namespace OpenSim.Modules.EMail
{
class MailKitMailModule
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "MailKitMailModule")]
class MailKitMailModule : INonSharedRegionModule, IEmailModule
{
private IConfigSource m_config = null;
private bool m_enabled = false;
private Scene m_scene = null;
private String SMTP_SERVER_HOSTNAME = null;
private String SMTP_SERVER_LOGIN = null;
private String SMTP_SERVER_PASSWORD = null;
private String SMTP_SERVER_SENDER = null;
private int SMTP_SERVER_PORT = 25;
private bool SMTP_SERVER_ENCRYPTION = false;
private String IMAP_SERVER_HOSTNAME = null;
private String IMAP_SERVER_LOGIN = null;
private String IMAP_SERVER_PASSWORD = null;
private int IMAP_SERVER_PORT = 25;
private bool IMAP_SERVER_ENCRYPTION = false;
#region ISharedRegionModule
public string Name
{
get { return "MailKitMailModule"; }
}
public Type ReplaceableInterface
{
get { return null; }
}
public void AddRegion(Scene scene)
{
if (!m_enabled)
return;
scene.RegisterModuleInterface<IEmailModule>(this);
m_scene = scene;
}
public void Close()
{
throw new NotImplementedException();
}
public void Initialise(IConfigSource source)
{
m_config = source;
if(source.Configs["Startup"] != null)
{
m_enabled = (m_config.Configs["Startup"].GetString("emailmodule", "DefaultEmailModule") == "MailKitMailModule");
if (!m_enabled)
return;
}
if (source.Configs["Mail"] == null)
return;
SMTP_SERVER_HOSTNAME = m_config.Configs["Mail"].GetString("SMTP_SERVER_HOSTNAME", "127.0.0.1");
SMTP_SERVER_PORT = m_config.Configs["Mail"].GetInt("SMTP_SERVER_PORT", 25);
SMTP_SERVER_ENCRYPTION = m_config.Configs["Mail"].GetBoolean("SMTP_SERVER_ENCRYPTION", false);
SMTP_SERVER_LOGIN = m_config.Configs["Mail"].GetString("SMTP_SERVER_LOGIN", "lsl@localhost");
SMTP_SERVER_PASSWORD = m_config.Configs["Mail"].GetString("SMTP_SERVER_PASSWORD", "");
SMTP_SERVER_SENDER = m_config.Configs["Mail"].GetString("SMTP_SERVER_SENDER", "");
IMAP_SERVER_HOSTNAME = m_config.Configs["Mail"].GetString("IMAP_SERVER_HOSTNAME", "127.0.0.1");
IMAP_SERVER_PORT = m_config.Configs["Mail"].GetInt("IMAP_SERVER_PORT", 25);
IMAP_SERVER_ENCRYPTION = m_config.Configs["Mail"].GetBoolean("IMAP_SERVER_ENCRYPTION", false);
IMAP_SERVER_LOGIN = m_config.Configs["Mail"].GetString("IMAP_SERVER_LOGIN", "lsl@localhost");
IMAP_SERVER_PASSWORD = m_config.Configs["Mail"].GetString("IMAP_SERVER_PASSWORD", "");
}
public void PostInitialise()
{
}
public void RegionLoaded(Scene scene)
{
}
public void RemoveRegion(Scene scene)
{
}
#endregion
public void SendEmail(UUID objectID, string address, string subject, string body)
{
}
public Email GetNextEmail(UUID objectID, string sender, string subject)
{
}
}
}