Jednym ze sposobów zabezpieczenia serwera pocztowego jest uniemożliwienie użytkownikom wysyłki poczty pod zmienionym adresem nadawcy. Istnieją jednak od tej zasady odstępstwa np. sytuacja, w której sekretarka ma mieć możliwość odpowiedzi na pocztę w imieniu swojego przełożonego. Zatem jak osiągnąć zakładana funkcjonalność na przykładzie Postfix'a  oraz MS Exchange 2010.

W przypadku serwera pocztowego Postfix w sekcji smtpd_sender_restrictions dopisujemy parametr reject_sender_login_mismatch. Następnie dodajemy jeszcze wpis:

smtpd_sender_login_maps = hash:/etc/postfix/sender_login_maps

gdzie w /etc/postfix/sender_login_maps mapujemy to co znajduje się w nagłówku mail from z loginem jaki posłużył użytkownikowi w nawiązaniu połączenia smtp-auth np:

witalis@foo.bar     witalis
witalis2@foo.bar     witalis

użytkownik witalis, może podać się za osobę uprawnioną do wysyłki poczty z adresów witalis@foo.bar witalis2@foo.bar.

Na sam koniec należy poleceniem:

postmap /etc/postfix/sender_login_maps

wygenerować bazę danych. Baza ta nie koniecznie musi mieć postać pliku tekstowego, możemy dołączyć do naszego systemu bazę SQL. Więcej informacji pod adresem [1].

W przypadku MS Exchange 2010 systemu mającego szersze zastosowanie niż tylko zwykły serwery pocztowy, postawione zadanie możemy zrealizować na dwa sposoby z poziomu konsoli serwera. Pierwszy ze sposobów to skorzystanie z opcji SendOnBehalf, otrzymujemy w zamian możliwość wysyłki jako ktoś inny, przy czym w temacie nadawanej wiadomości znajdzie się w następująca przykładowa wzmianka:

witalis <witalis@foo.bar>; on behalf of; wit <wit@foo.bar>

Do konfiguracji tego ustawienia możemy użyć zarówno Exchange Management Console jak i Exchange Management Shell. Ilustracja ustawienia tego parametru w tym drugim wymienionym narzędziu de facto powershell' u wygląda następująco:

Set-Mailbox wit -GrantSendOnBehalfTo witalis@foo.bar

dla mailbox'a wit użytkownik witalis@foo.bar jest uprawniony do wysyłki, sprawdzenie ustawień:

Get-Mailbox -identity wit | Select-Object GrantSendOnBehalfTo

Druga opcja dostępna w Exchange'u to Send As Permission, tym razem nie mamy już wzmianki o tym, że wysłana wiadomość jest w imieniu innej osoby. W celu ustawienia tej opcji korzystamy z polecenia:

Add-ADPermission wit -ExtendedRights Send-As -user witalis@foo.bar

podobnie jak w poprzedniej wersji użytkownik witalis@foo.bar wysyła pocztę w imieniu właściciela mailbox'a wit. Zmiana ta jednak nie jest widoczna od razu, wymagana jest jej replikacja lub restart usługi Microsoft Exchange Information Store:

sc stop "MSExchangeIS"

sc start "MSExchangeIS"

sprawdzenie dostępności tego parametru, dla konkretnego konta to polecenie:

Get-ADPermission -identity wit1 |  Select-Object identity,user,extendedrights |   
? {$_.extendedrights -like "Send-As" }

Dodatkowo opcję delegowania send-as dla danego mailbox'a możemy wykonać z poziomu samego MS Outlook'a.

[1] http://www.postfix.org/postconf.5.html#smtpd_sender_login_maps