Table of Contents

Class MessagingServiceProvider

Namespace
ArcanaDevelopment.adTempus.Client
Assembly
ArcanaDevelopment.adTempus.Client.dll

Contains settings for a Messaging Service Provider (e.g., email server).

public sealed class MessagingServiceProvider : ADTIndependentObject
Inheritance
object
MessagingServiceProvider

Properties

AuthenticationType

Specifies the type of authentication to use for this provider.

public int AuthenticationType { get; set; }

Property Value

int

Remarks

The range of valid values depend on the type of provider.

<ul><li>For SMTP notification, use the values from <xref href="ArcanaDevelopment.adTempus.Shared.SMTPAuthenticationType" data-throw-if-not-resolved="false"></xref></li></ul>
See Also

ClassID

The Class ID for the object

[IgnoreDataMember]
public override ClassID ClassID { get; }

Property Value

ClassID

ClassKeyName

The key name for the class.

public override string ClassKeyName { get; }

Property Value

string

Remarks

This name the name used by adTempus to identify the class and is intended for programmatic use only. Use the ClassName for a user-friendly name.

Enabled

Determines whether this provider is enabled

public bool Enabled { get; set; }

Property Value

bool

Remarks

When a provider is disabled any operations that target it will be failed

IsDependent

Indicates whether the object is a dependent of (owned by) another object

[IgnoreDataMember]
public override bool IsDependent { get; }

Property Value

bool

Remarks

An independent object (IsDependent is false) is an object that can exist on its own without being part of another object. For example, Jobs, Job Groups, etc.

A dependent object (IsDependent is true) is a part of another object. For example, a JobStep cannot exist independently of a Job, so the JobStep is dependent.

Dependent objects cannot be directly fetched from the server: they are only fetched as part of the object they belong to. They also cannot be saved or deleted independently: they are automatically saved or deleted when the owning object is saved or deleted.

MailFetchProtocol

The protocol used when MessagingServiceType is IncomingEmail

public MailFetchProtocol? MailFetchProtocol { get; set; }

Property Value

MailFetchProtocol?

MaxMessageLength

The maximum length for a message

public int MaxMessageLength { get; set; }

Property Value

int

Remarks

The behavior depends on the MessagingServiceType:

Messages longer than MaxMessageLength are truncated
Messages longer than MaxMessageLength are truncated if SplitLongMessages is false, or split into up to MaxMessages if SplitLongMessages is true.

MaxMessages

The maximum number of message parts to send when an SMPP message is broken into parts based on MaxMessageLength

public int MaxMessages { get; set; }

Property Value

int

MessagingServiceType

The type of messaging service this service provides

public MessagingServiceType MessagingServiceType { get; set; }

Property Value

MessagingServiceType

Name

The display name for the provider

public string Name { get; set; }

Property Value

string

OAuth2Provider

The service that OAuth2 authentication is being performed against. Must be set to one of the ArcanaDevelopment.OAuthConnector.OAuth2ProviderNames values.

public string OAuth2Provider { get; set; }

Property Value

string

Remarks

Requires ServerVersion 5 or higher.

OAuth2TokenSet

public bool OAuth2TokenSet { get; }

Property Value

bool

PasswordSet

Indicates whether a password has been set for the provider

public bool PasswordSet { get; }

Property Value

bool
See Also

Priority

The priority for this provider

public int Priority { get; set; }

Property Value

int

Remarks

Use the Priority to set the order in which providers are tried when multiple providers can be used for an operation. For example, if there are several SMTP servers defined, adTempus will try them in order of Priority until the message can be sent successfully.

Protocol

The protocol to use

public string Protocol { get; set; }

Property Value

string

Remarks

Values provider-type dependent.

No Protocol values are currently defined.

ReturnAddress

The return address to use when sending SMTP messages

public string ReturnAddress { get; set; }

Property Value

string

Remarks

This must be a valid email address and most mail servers will validate it to ensure it is a valid email address for the account you are attempting to send mail from.

SenderName

The display name to use for the message sender

public string SenderName { get; set; }

Property Value

string

Remarks

If this is not specified a default value of "adTempus on computername" is used.

ServerAddress

The name or IP address of the server

public string ServerAddress { get; set; }

Property Value

string

ServerPort

The port number to connect to

public int ServerPort { get; set; }

Property Value

int

Remarks

Set to 0 to use the default for the service type

SplitLongMessages

Determines whether messages that exceed MaxMessageLength are split into shorter messages

public bool SplitLongMessages { get; set; }

Property Value

bool

Remarks

See Remarks under MaxMessageLength

UserID

The user ID for connecting to this service

public string UserID { get; set; }

Property Value

string

Methods

GetObjectDescription()

Gets a description of the object's key settings.

protected override string GetObjectDescription()

Returns

string

Remarks

This method is called by GetDescription() to get a user-friendly description of the object (such as its key settings) for display to the user. The description should contain enough information to distinguish this object from others of the same class.

SetOAuth2Token(string)

public void SetOAuth2Token(string value)

Parameters

NameTypeDescription
value string

SetPassword(string)

Sets the password for the provider

public void SetPassword(string value)

Parameters

NameTypeDescription
value string

The new password

Remarks

The password can only be set; it cannot be retrieved. Use PasswordSet to determine whether a password has been set.

Test(string)

Tests the settings to determine whether a connection can be made

public MessageCollection Test(string testData)

Parameters

NameTypeDescription
testData string

The test data to use. See Remarks

Returns

MessageCollection

A collection of Messages indicating the results of the test. If the test succeeds, the collection will contain a single message with severity Informational and HighestSeverity() will return MessageType.Informational. If the test fails the collection will contain one or more messages with MessageType.Error describing the error(s).

Remarks

For outgoing providers (providers that send messages) Test will attempt to connect to the server and send a test message using the testData as the message body.

For inbound providers (providers that fetch email) Test attempts to connect to the server and list the messages.

WriteToConfigurationReport(IADTObjectConfigurationReportWriter)

Writes the object and any contained objects to a configuration report

public override void WriteToConfigurationReport(IADTObjectConfigurationReportWriter reportBuilder)

Parameters

NameTypeDescription
reportBuilder IADTObjectConfigurationReportWriter

The report builder to write the object to.

Inherited Members