Smtp Send Configuration

 

The following functions in MailArchiva require the ability to send email:

 

 

Not all functions are required in every deployment. At minimum, status reports should be enabled, so the system can be monitored. All of the above functions require an SMTP Client Connection to be configured under Configuration → Connections.

 

Send Permissions

 

Status reports, alerts, auto search notices, and content filtering notifications only require a mailbox that can send email. No special permissions are needed. The Send function in the search interface allows a user to send a restored message so that it appears to come from the original sender. This requires special permissions, depending on the selected Send strategy.

 

SMTP Send strategies

 

There are three SMTP Send strategies:

 

 

Send As Permissions for all mailboxes

 

If MailArchiva must send messages so they appear to come from any user, the SMTP account (for example, supermailer@contoso.com) must be granted Send As rights on all user mailboxes. These permissions are needed to preserve messages and new message sending strategies above (not send as attachments).

 

Step 1: Connect to Exchange Online

 

Connect-ExchangeOnline

 

Step 2: Grant Send As on all user mailboxes

 

Get-Mailbox -RecipientTypeDetails UserMailbox -ResultSize Unlimited | ForEach-Object { Add-RecipientPermission -Identity $_.Identity -Trustee supermailer@contoso.com -AccessRights SendAs -Confirm:$false }

 

Step 3: Verify on a sample mailbox

 

Get-RecipientPermission user1@contoso.com | Where-Object {$_.Trustee -like "supermailer"}

 

The result should show:

 

AccessRights: SendAs

 

Handling new mailboxes

 

Send As permissions are stored per mailbox. New mailboxes will not automatically include the service account. To maintain permissions, schedule a script that runs regularly.

Example maintenance script:

 

$service = "supermailer@contoso.com"
Get-Mailbox -RecipientTypeDetails UserMailbox -ResultSize Unlimited | ForEach-Object { $perm = Get-RecipientPermission $.Identity -ErrorAction SilentlyContinue | Where-Object {$.Trustee -eq $service} if (-not $perm) { Add-RecipientPermission -Identity $_.Identity -Trustee $service -AccessRights SendAs -Confirm:$false } }

 

This script can be run from:
 

 

Create your own Knowledge Base