Odp: filrt + makro przenoszenie załączników do nowej wiadomości
Sądzę, że łatwiej byłoby uzyskać żądane efekty przez odpowiednią konfigurację serwera pocztowego, bo zapewne firma ma taki u siebie.
Można jednak wykorzystać The Bat!, ale przy odpowiedziach z zewnątrz nie będzie to już bardzo proste. Przede wszystkim należy zadbać, aby format przekazywanych do właściwego adresata wiadomości był taki sam jakiego użył nadawca. W przypadku przeadresowywania takich wiadomości sprawa jest prosta, ale można to robić tylko ręcznie. Wynika to z faktu, że nie udaje się uruchomić makra, które podczas operacji przeadresowania uruchamianej przez filtr wstawiałoby właściwy adres odbiorcy pobrany z tematu.
Pozostaje zatem przekazywanie wiadomości uruchamiane przez filtr poczty przychodzącej reagujący na obecność w temacie frazy "Jakaś stała treść". Dodatkowo trzeba włączyć w nim opcję Zawsze używaj formatu MIME pierwotnej wiadomości - wtedy do odbiorcy dotrze ona jako załącznik (ale to chyba nie przeszkadza).
Pozostaje jeszcze problem wyszukania adresu e-mail odbiorcy w książce adresowej na podstawie jego imienia i nazwiska (zakładamy oczywiście, że te dane są w temacie). The Bat! ma tylko makra, które z książki adresowej potrafią wydobyć dane na podstawie adresu e-mail, a nie odwrotnie.
Aby żądane wyszukiwanie było możliwe, trzeba posłużyć się innym mechanizmem. Należy w tym celu wyeksportować książkę adresową odbiorców do pliku tekstowego w postaci prostej listy adresowej. Plik ten będzie zawierał w każdym wierszu imię, nazwisko i adres e-mail. Ten plik będzie już można przeszukiwać za pomocą makr użytych w odpowiednim szablonie podręcznym. Niechaj plik nazywa się "Adresy.txt" i będzie umieszczony w głównym katalogu na dysku D: (to tylko jako przykład - u siebie możesz to skonfigurować zgodnie z potrzebami). Wtedy szablon podręczny (nazwijmy go "Adresy"), wyszukujący adres e-mail na podstawie danych odbiorcy z tematu ma postać:
%_Nazwa=$%SetPattRegexp="(?is)^.*Jakaś stała treść \- (.*)"%RegExpMatch="%OSubj"$%-
%_Adresy(%Put="D:\adresy.txt")%-
%SetPattRegexp="(?isU)%_Nazwa.*$"%RegexpMatch="%_Adresy"%-
Szablon przekazania wiadomości w filtrze może być następujący:
Wiadomość przekazana
Od: %OFromName <%OFromAddr>
Data: %ODate, %OTimeLong
Temat: %OSubj
Oryginalna wiadomość w załączniku!
%To=""%To="%QInclude(Adresy)"
%Subject=%OSubj
--
Pozdrowienia,
%FromName
Najważniejsze w tym szablonie są dwa wiersze:
%To=""%To="%QInclude(Adresy)"
%Subject=%OSubj
Odpowiadają one za wywołanie szablonu podręcznego o nazwie "Adresy", wpisanie wyniku jego działania do pola To: i odpowiednie sformatowanie tematu.
Poniżej gotowy filtr, który możesz wkleić do grupy filtrów poczty przychodzącej i zmodyfikować go według potrzeby:
$$$$ TB! Message Filter $$$$
beginFilter
UID: [7E6CF3A9.01CA19EE.4105708A.6F7ADEB6]
Name: Przekazuj\20wiadomości
Filter: {\0D\0A\20`2`0`Jakaś\20stała\20treść\0D\0A}
Forward template Wiadomość\20przekazana\0D\0AOd:\20%OFromName\20<%OFromAddr>\0D\0AData:\20%ODate,\20%OTimeLong\0D\0ATemat:\20%OSubj\0D\0A\0D\0AOryginalna\20wiadomość\20w\20załączniku!\0D\0A\0D\0A%To\3D\22\22%To\3D\22%QInclude(Adresy)\22\0D\0A%Subject\3D%OSubj\0D\0A--\20\0D\0APozdrowienia,\0D\0A\20%FromName MIME address x
IsActive
Ignore
endFilter