SMTP Mail installation
The SMTP Mail extension enables ShareAspace to send emails using an SMTP server.
Email functionality is required for operations such as user invitations, notifications, and authentication flows.
The SMTP Mail component connects to a mail server using the Simple Mail Transfer Protocol (SMTP).
Note
At least one mail extension (SendGrid Mail or SMTP Mail) must be configured for a ShareAspace collection.
The SMTP Mail component can be installed on the same server as the ShareAspace Host, but it is recommended to run external extensions on a separate server when possible.
Prerequisites
The SMTP Mail extension requires:
- A server running Microsoft Internet Information Services (IIS).
- Software prerequisites.
Note
Access to a configured SMTP server is required.
Installation steps
Step 1: Run the installer
Run the SMTPMail.msi installer to install the ShareAspace SMTP Mail extension on the IIS server.
Step 2: Configure IIS
During installation, an IIS Application Pool named "SMTPMail" is created.
By default, the Application Pool runs under the built-in LocalSystem account.
Note
If a different account is used, it must have read access to the SMTP Mail installation folder.
Step 3: Configure the component
See the Configuration section.
Step 4: Register the extension
See the #extension-registration section.
Configuration
Open the appsettings.json file located in the SMTP Mail installation folder.
By default:
C:\Program Files\Eurostep\ShareAspace\SMTPMail\appsettings.json
Example configuration:
{
"NovaConfig": {
"SymmetricKey": "<generated-key>",
"Smtp": {
"Host": "smtp.mailserver.net",
"Port": 25,
"TLSPort": 465,
"EnableSsl": false,
"UserName": "username",
"Password": "password"
}
}
}
Configuration properties
SymmetricKey– Symmetric key used when registering the extension with ShareAspaceSmtp.Host– Hostname or IP address of the SMTP serverSmtp.Port– Port used for SMTP connections (commonly 25 or 587)Smtp.TLSPort– Port used for SMTPS connections (commonly 465)Smtp.EnableSsl– Indicates whether SSL/TLS should be usedSmtp.UserName– Username for authentication with the SMTP serverSmtp.Password– Password for authentication with the SMTP server
SymmetricKey
The SymmetricKey should be generated as described in:
Generate symmetric signing keys
OpenTelemetry configuration
The SMTP Mail component supports OpenTelemetry (OTEL) for logging, metrics, and tracing.
Configuration is performed using configuration variables, for example:
{
"OTEL_SERVICE_NAME": "ShareAspace.SMTPMail",
"OTEL_EXPORTER_OTLP_ENDPOINT": "https://host.example.com:4317",
"OTEL_EXPORTER_OTLP_PROTOCOL": "grpc"
}
Additional OTEL configuration options are available and are shared across all ShareAspace components.
See: OpenTelemetry logging.
Extension registration
The SMTP Mail extension must be registered as a Nova Extension on a bootstrapped ShareAspace collection.
Note
The SMTP Mail component must be running during registration, as a manifest exchange will occur.
Example registration script:
param (
[Parameter(Mandatory = $true)]
[string]$NovaHost,
[Parameter(Mandatory = $true)]
[string]$PersonalAccessToken,
[Parameter(Mandatory = $true)]
[string]$Extension,
[Parameter(Mandatory = $true)]
[string]$ExtensionApiKey
)
$uri = "{0}/collection/externalExtension/novaExtension" -f $NovaHost
$pat = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$PersonalAccessToken"))
$headers = @{ "Authorization" = "Basic $pat" }
$body = @{ "hostUri" = $Extension; "apiKey" = $ExtensionApiKey; "tokenLifeTime" = 15 } | ConvertTo-Json
Invoke-WebRequest -UseBasicParsing -Method Post -Uri $uri -Headers $headers -Body $body -ContentType "application/json"
Example usage:
.\Add-Extension.ps1 `
-NovaHost https://host.example.com:5001 `
-PersonalAccessToken "<token>" `
-Extension "https://mail.example.com/SMTPMail" `
-ExtensionApiKey "<apikey>"