email footer

I am trying to add a global footer to all outgoing emails. I do not want the users to be able to remove this footer. I have found documentation on this but not for the version I am running, Iplanet Messaging Server 5.2. Anyone have any ideas where I can find the documentation on how to set this up?

thanks

c.

[335 byte] By [705904] at [2007-11-25 8:30:53]
# 1
Hi,We are also keen to implement similar footer on all out going -mail on iPlanet messaging server 5.2. Where you able to meet up with your requirement? If yes, could you please provide some information on how it was done?Thanks in advance,Suresh
pssuresh at 2007-7-1 15:00:39 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 2

The documentatin that may refer to 5.1 is also valid for 5.2:

Heress the doc I use:

Using the conversion channel to add a disclaimer to every message.

Problem Description

I would like to append a standard disclaimer to the end of every message which passes through the MTA. How do I do this?

Before you Begin

Please read

http://www.goldmark.org/jeff/stupid-disclaimers

http://www.goldmark.org/jeff/stupid-disclaimers/apply.html

Clues to Solving the Problem

The conversion channel can be used to perform arbitrary processing on each message on per body part basis. In this case, you want the processing to be that of appending a disclaimer.

Solution Approach

Modify your MTA configuration files so that all your mail will pass through the conversion channel. Have the conversion channel select only the first part of a multipart message and only append the disclaimer if the message part is text.

Solution Details

To invoke conversion procedures, use the CONVERSION mapping table in the IMTA_MAPPING_FILE to tell iMS which messages should take a detour through the conversion channel. When a messages pass through the conversion channel, instructions as to what commands are executed are specified in the IMTA_CONVERSION_FILE.

The steps to have the conversion channel append a disclaimer are:

1. Create a /opt/iplanet/sitescripts directory (or similar) and make sure that it is owned by the user which iMS runs as.

2. Create a shell script which will take care of appending the disclaimer Call this script append_disclaimer.sh. Make sure that the script is executable.

3. Place a text file containing the disclaimer into the /opt/iplanet/sitescripts directory. For our exercise we call it footer.txt.

4. Modify or create the IMTA_MAPPING_FILE file to trigger a trip through the conversion channel.

The IMTA_MAPPING_FILE is $InstanceRoot/imta/config/mappings on UNIX

!

CONVERSION

IN-CHAN=tcp_*;OUT-CHAN=tcp_*;CONVERTYes

!

! Make all messages going from any tcp channel going to any tcp channel take a

! detour through the conversion channel.

!

5. Modify or create the IMTA_CONVERSION_FILE file to include entries that call the "disclaimer_append.sh" script.

The IMTA_CONVERSION_FILE is $InstanceRoot/imta/config/conversions on UNIX

! Append disclaimer to single part messages if the body part

! is text.

!

in-channel=tcp_*; out-channel=tcp_*;

in-type=text; in-subtype=*; part-number=1;

parameter-symbol-0=NAME; parameter-copy-0=*;

dparameter-symbol-0=FILENAME; dparameter-copy-0=*;

message-header-file=2; original-header-file=1;

override-header-file=1;

command="/opt/iplanet/sitescripts/append_disclaimer.sh footer.txt"

!

! Append disclaimer only to the first part of a multipart message

! if that part is a text message part. (part-number=1.1 is the

! first part of a multipart message).

!

in-channel=tcp_*; out-channel=tcp_*;

in-type=text; in-subtype=*; part-number=1.1;

parameter-symbol-0=NAME; parameter-copy-0=*;

dparameter-symbol-0=FILENAME; dparameter-copy-0=*;

message-header-file=2; original-header-file=1;

override-header-file=1;

command="/opt/iplanet/sitescripts/append_disclaimer.sh footer.txt"

!

Once the changes have been made, recompile & reinstall your configuration, and then restart the Dispatcher.

The append_disclaimer.sh script looks like:

#!/bin/sh

#

# File: append_disclaimer.sh

#

# Usage:

#append_disclaimer.sh [-debug] "name-of-disclaimer-text-file"

#

# References:

#http://docs.sun.com/source/816-6009-10/channel2.htm#42323

#http://docs.sun.com/source/816-6009-10/channel2.htm#42402

#

if [ "$1" = "-debug" ]

then

shift

set -x

fi

DISCLAIMER_FILE=$1

DISCLAIMER_FILE=/opt/iplanet/sitescripts/${DISCLAIMER_FILE}

TAG="Standard Disclaimer Appended `date`"

cp $INPUT_FILE $OUTPUT_FILE # copy original message part to output destination.

# See if the message was already tagged.

grep "Comments: Standard Disclaimer Appended" $MESSAGE_HEADERS >/dev/null

if [ $? -ne 0 ]

then

# add a blank line

echo "" >> $OUTPUT_FILE

# append the disclaimer

cat $DISCLAIMER_FILE >> $OUTPUT_FILE

# Set a directive so the message will be tagged

echo "OUTPUT_DIAGNOSTIC=\"${TAG}\"" > $OUTPUT_OPTIONS

fi

# end script.

jay_plesset at 2007-7-1 15:00:39 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 3

Hi, Jay,

I am finding difficulty in configuring desclaimer text for all my internal & external e-mails. I configured the script, mappings file and conversions file. But I notice that script is not calling. How to know where exactly the problem was? I am enabled the imta logging and unable to see anything related in mail.log_current.

I really appreciate if you can help me.

chanamolusr at 2007-7-1 15:00:39 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 4

Without any data, I can hardly troubleshoot this issue. You might start with

imsimta test -rewrite -debug (put an external mail address here)

and see if it's getting routed to the conversion channel at all. If not, then you will need to double check your mappings file for syntax errors.

logging is not truly debugging. You need to put debug commands on as well.

Also, not every message will get a disclaimer. this script isn't powerful enough to add disclaimers to multipart messages, only to simple ones.

Attempting to add disclaimers to every message is just too complex. If it's an absolute requirement to add such, then, honestly, trying to get the server to add it as a footer is a bad idea. Requiring every user to do so will work better. That's what sun does.

jay_plesset at 2007-7-1 15:00:39 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 5

at the end....

I manage to solve this DISCLAIMER thing...

thank you very very much JAY... i love you.... muahahahahaha

what I did was....

-

mappings file (.../imta/config/mappings)

.

.

CONVERSION

IN-CHAN=*;OUT-CHAN=*;CONVERT yes

conversions (../imta/config/conversions)

in-channel=*; out-channel=*;

in-type=text;in-subtype=*;part-number=1;

parameter-symbol-0=NAME; parameter-copy-0=*;

dparameter-symbol-0=FILENAME; dparameter-copy-0=*;

message-header-file=2; original-header-file=1;

override-header-file=1;

command="/sunone/msg/scripts/scripts.sh"

in-channel=*; out-channel=*;

in-type=text;in-subtype=*;part-number=1.1;

parameter-symbol-0=NAME; parameter-copy-0=*;

dparameter-symbol-0=FILENAME; dparameter-copy-0=*;

message-header-file=2; original-header-file=1;

override-header-file=1;

command="/sunone/msg/scripts/scripts.sh"

-

THE SCRIPTS.... (/sunone/msg/scripts/scripts.sh)

#!/usr/bin/sh

cp $INPUT_FILE >> $OUTPUT_FILE

# append the disclaimer

cat /sunone/msg/scripts/disclaimer.txt >> $OUTPUT_FILE

-

NOTES: (Changes from the original guide)

1. I've change the default #!/bin/sh ...to #!/usr/bin/sh...... (in the scripts)

2. I've change the in-channel=tcp_*; out-channel=tcp_*; to....in-channel=*; out-channel=*; (in conversions)

then

#./imsimta cnbuild

#./imsimta refresh

at last.. IT's DONE!!!!!!

kheirul@affinsecurities.com. at 2007-7-1 15:00:39 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 6

TRICKS to eleminate the disclaimer if email not from the internal domain (i.e incoming email)

By default, the conversion will execute for all email... but I've done a trick which can eleminate the conversion that execute the disclaimer IF the email came from the internet mail relay server IP.... it grep the IP from the message header....

you need to have a mail relay... not the mail server ip that runs the conversions..... in our case ... our mail relay is the viruswall server which scans all incoming email and relay it to the messaging server

IN THE SCRIPTS

#!/usr/bin/sh

grep "192.168.1.2" $MESSAGE_HEADERS >/dev/null #the IP is the internet mail relay IP

if [ $? -ne o ]

then

#this is for the disclaimer section

cp $INPUT_FILE >> $OUTPUT_FILE

cat /sunone/scripts/disclaimer.txt >> $OUTPUT_FILE

else

#without disclaimer

cp $INPUT_FILE >> $OUTPUT_FILE

fi

#end of script file

kheirul@affinsecurities.com. at 2007-7-1 15:00:39 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 7
Suspect that's the hard way. Easier is to re-visit your "CONVERSIONS" group in mappings, and not use in-chan=*but use in-chan=tcp_intranetthat way, external mail won't be sent to conversion at all.
jay_plesset at 2007-7-1 15:00:40 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 8

I tried to do the same as Author 11470 did, but it didnt work for me

mappings file (.../imta/config/mappings)

.

CONVERSIONS

IN-CHAN=*;OUT-CHAN=*;CONVERT yes

.

-

conversions (../imta/config/conversions)

in-channel=*; out-channel=*;

in-type=text;in-subtype=*;part-number=1;

parameter-symbol-0=NAME; parameter-copy-0=*;

dparameter-symbol-0=FILENAME; dparameter-copy-0=*;

message-header-file=2; original-header-file=1;

override-header-file=1;

command="/download/channelscripts/scripts.sh"

in-channel=*; out-channel=*;

in-type=text;in-subtype=*;part-number=1.1;

parameter-symbol-0=NAME; parameter-copy-0=*;

dparameter-symbol-0=FILENAME; dparameter-copy-0=*;

message-header-file=2; original-header-file=1;

override-header-file=1;

command="/download/channelscripts/scripts.sh"

-

SCRIPTS.... (/download/channelscripts/scripts.sh)

#!/bin/sh

cp $INPUT_FILE >> $OUTPUT_FILE

cat /download/channelscripts/footer.txt >> $OUTPUT_FILE

-

then

#./imsimta cnbuild

#./imsimta refresh

I sent a message using:

#cat "test" | mailx user1@domain1.com

Disclaimer wasnt added to the message!

I checked the mod and ownership and it was fine.

#ls -l

-rwxrwxrwx1 mailsrv iplanet22 Apr 6 14:00 footer.txt

-rwxr-xr-x1 mailsrv iplanet143 Jul 9 10:24 scripts.sh

I looked at mail.log_current and mail was sent to conversion channel.

09-Jul-2004 11:12:00.96 1436.1.0 lconversionE 1 root@domain.com rfc822; user1@domain1.com user1%domain1.com@ims-ms-daemon /usr/iplanet/ms5.2/msg-iplanet/imta/queue/conversion/ZZ0I0K00304UW0ZQ.00 <0I0K00303UW0ZQ@ipl.domain.com > root ipl.domain.com

09-Jul-2004 11:12:01.28 1437.1.0 conversionims-msE 1 root@domain.com rfc822; user1@domain1.com user1%domain1.com@ims-ms-daemon /usr/iplanet/ms5.2/msg-iplanet/imta/queue/ims-ms/009/ZZ0I0K00304UW1ZR.00 <0I0K00303UW0ZQ@ipl.domain.com > root conversion-daemon.ipl.domain.com

09-Jul-2004 11:12:01.29 1437.1.1 conversionD 1 root@domain.com rfc822; user1@domain1.com user1%domain1.com@ims-ms-daemon /usr/iplanet/ms5.2/msg-iplanet/imta/queue/conversion/ZZ0I0K00304UW0ZQ.00 <0I0K00303UW0ZQ@ipl.domain.com > root

09-Jul-2004 11:12:01.78 1438.1.0 ims-msD 1 root@domain.com rfc822; user1@domain1.com user1%domain1.com @ims-ms-daemon /usr/iplanet/ms5.2/msg-iplanet/imta/queue/ims-ms/009/ZZ0I0K00304UW1ZR.00 <0I0K00303UW0ZQ@ipl.domain.com > root

I suspected that maybe my webmail client wasnt showing it properly, and if I look at the message on disk, my text will be there.

So, I looked at it, but it wasnt there either.

I turned on master_debug for conversion channel in imta.cnf

# cat conversion_master.log-0I0K00302UW1ZR

11:12:01.17: Debug output enabled, program version V5.0 compiled Sep 8 200318:36:20

11:12:01.17: PMDF shared library version 5.2 HotFix 1.21 linked 18:35:22, Sep 8 2003

11:12:01.17: Thread depth = 12811:12:01.18: Message dequeue of file: "/usr/iplanet/ms5.2/msg-iplanet/imta/queue/conversion/ZZ0I0K00304UW0ZQ.00".

11:12:01.18: Initializing MM for resubmission.

11:12:01.18: Processing address list.

11:12:01.20: Good addresses found. Continuing...

11:12:01.20: Working on message parts.

11:12:01.20: Processing part 1.

11:12:01.20:Content type: TEXT

11:12:01.20:Content subtype: PLAIN

11:12:01.20:Content disposition:

11:12:01.20: Checking CONVERSIONS file for COMMAND or CALL entries.

11:12:01.20:Performing simple bodypart copy.

11:12:01.20: Finished with this part.

11:12:01.20: Processing successful. Terminate submission.

I have no idea what could be wrong

Do I have to set some environment variables by any chance or what?

JAY? Anyone?

D.Demian at 2007-7-1 15:00:40 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 9

Ok, let's begin at the beginning.

What version Messaging are you using?

Since the steps worked for 11470, and have worked for others, either you have a very old version, or you've done something incorrectly. . .

Ideally, we would look at your configuration files in total, not just snippets, to see what the problem is.

Since it's clear that your messages are indeed going to the conversion channel, the problem most likely is within your conversion script. since you provide that script, you will need to do some basic script-level debugging to see why it's not adding the footer.

jay_plesset at 2007-7-1 15:00:40 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 10

As for the version of Messaging, you couldve seen it from master_debug, buy anyway, Im running (on Solaris 8):

iPlanet Messaging Server 5.2 HotFix 1.21 (built Sep 8 2003)

libimta.so 5.2 HotFix 1.21 (built 18:35:22, Sep 8 2003)

So, the problem is probably within conversion script, like youve said.

Im not very familiar with scripts, so I dont know how to do script-level debugging that youve suggested.

Any suggestions? Or at least docs where to find it so I can do some reading?

Thank you

D.Demian at 2007-7-1 15:00:40 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 11

I tried to figure out where is the problem it seamed that the script wasnt running at all.

Ive changed my conversions file and the script (mappings stayed the same):

conversions (../imta/config/conversions)

in-chan=*; out-chan=*;

in-type=text; in-subtype=*;

command="/download/channelscripts/scripts.sh"

-

SCRIPTS.... (/download/channelscripts/scripts.sh)

#!/bin/sh

echo "test" >> /download/channelscripts/f.txt

echo $INPUT_FILE >> /download/channelscripts/f.txt

cp $INPUT_FILE >> $OUTPUT_FILE

cat /download/channelscripts/footer.txt >> $OUTPUT_FILE

echo $OUTPUT_FILE >> /download/channelscripts/f.txt

-

then

#./imsimta cnbuild

#./imsimta refresh

I sent a message from user1@domain1.com to himself using webmail.

This time disclaimer WAS there, but there was no message body, meaning it was overwritten by disclaimer.

Here is the f.txt debug file:

# cat f.txt

test

/usr/iplanet/ms5.2/msg-iplanet/imta/tmp/-CO-_0I0Q00E04LAI4K.00

/usr/iplanet/ms5.2/msg-iplanet/imta/tmp/-CI-_0I0Q00E05LAI4K.00

conversion_master.log file was like this:

# cat conversion_master.log-0I0Q00E02LAI4K

13:30:18.35: Debug output enabled, program version V5.0 compiled Sep 8 200318:36:20

13:30:18.35: PMDF shared library version 5.2 HotFix 1.21 linked 18:35:22, Sep 8 2003

13:30:18.35: Thread depth = 12813:30:18.35: Message dequeue of file: "/usr/iplanet/ms5.2/msg-iplanet/imta/queue/conversion/ZZ0I0Q00E04LAI4C.00".

13:30:18.35: Initializing MM for resubmission.

13:30:18.36: Processing address list.

13:30:18.37: Good addresses found. Continuing...

13:30:18.37: Working on message parts.

13:30:18.38: Processing part 1.

13:30:18.38:Content type: text

13:30:18.38:Content subtype: plain

13:30:18.38:Content disposition: inline

13:30:18.38: Checking CONVERSIONS file for COMMAND or CALL entries.

13:30:18.38: Default mode for original part is 0

13:30:18.38: Application of conversion generated language: en

13:30:18.38: Actual mode for original part determined to be 0

13:30:18.38: Actual mode for new part determined to be 0

13:30:18.38:Conversion input file: /usr/iplanet/ms5.2/msg-iplanet/imta/tmp/-CO-_0I0Q00E04LAI4K.00

13:30:18.38:Conversion output file: /usr/iplanet/ms5.2/msg-iplanet/imta/tmp/-CI-_0I0Q00E05LAI4K.00

13:30:18.38:Executing command: "/download/channelscripts/scripts.sh".

cp: Insufficient arguments (1)

Usage: cp [-f] [-i] [-p] f1 f2

cp [-f] [-i] [-p] f1 ... fn d1

cp -r|R [-f] [-i] [-p] d1 ... dn-1 dn

13:30:18.44:Completion status: 0

13:30:18.44:Command status: 0

13:30:18.44: Spawn operation successful.

13:30:18.44: Final mode for new part determined to be 0

13:30:18.44: Opening output file.

13:30:18.44:Open successful.

13:30:18.44:Text mode processing for result.

13:30:18.44:Processing (reincorporation) complete.

13:30:18.44: Finished with this part.

13:30:18.44: Processing successful. Terminate submission.

So, now it is obvious that INPUT_FILE is empty and thats the reason for message body being overwritten by disclaimer (OUTPUT_FILE).

So, the problem is not in script, but in conversions file.

As I understood, options in my previous conversions file were set in a manner to create an INPUT_FILE, but something was wrong and I dont understand why my script wasnt running then.

D.Demian at 2007-7-1 15:00:40 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 12
I would start looking where you create the temporary files, and if the server has write permission there. If conversion is creating empty files, or non-existant files, the first thing that comes to mind is permisisons and/or file location.
jay_plesset at 2007-7-1 15:00:40 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 13

At last, it works!!!

It wasnt the permission issue, because temporary files are created in /usr/iplanet/ms5.2/msg-iplanet/imta/tmp by default:

drwxr-x4 mailsrv iplanet512 Jul 12 13:30 tmp

There was another small mistake in

SCRIPTS.... (/download/channelscripts/scripts.sh)

Instead of:

cp $INPUT_FILE >> $OUTPUT_FILE

It should be:

cp $INPUT_FILE $OUTPUT_FILE

(Please, notice the difference between reply 2-correct and reply 5,6,8,11-incorrect)

(For further notice I want to point out that strange things could happen if one misses a semicolon somewhere in conversions file)

Anyway, thanks for your help, I wouldnt learn about scripting in any other way :)

D.Demian at 2007-7-1 15:00:40 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 14
Glad you got it working.. . Scripting is a totally different area of expertise. . .I do limited scripts, and leave big stuff to experts.
jay_plesset at 2007-7-1 15:00:40 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 15
Hi Jay.I want to know if it's possble to put a logo (image) in the disclaimer.If it's possible can you explain how to add the image in the disclaimer.Thank You.Regards
r_nady at 2007-7-1 15:00:42 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 16
Since the footer needs to be text, that would eliminate the possibility of a graphic logo.
jay_plesset at 2007-7-1 15:00:42 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 17
Does anyone have made a disclaimer under windows platform? I'm trying to do it and I'm having problems adapting the "append_disclaimer.sh" into a Windows .bat file.Any clue?
phobi21 at 2007-7-1 15:00:42 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 18
Honestly, I don't have much advice for writing .bat files. I moved my mail server to Solaris X86 (which is now free for the downloading), and find it good. Yes, I also moved to 6.2 from 5.2.
jay_plesset at 2007-7-1 15:00:42 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 19

hi , jay

I try to add disclaimer to the end of every message , but it doesn't work , i try it many times, please help me , here are our config files,

======================mappings Begin======================================

Expanded address:

! VERSION=1.0

! Modified by IMS administration server on: Thu Jan 19 15:14:54 CST 2006

!

PORT_ACCESS

*|*|*|*|* $C$|INTERNAL_IP;$3|$Y$E

* $YEXTERNAL

INTERNAL_IP

$(172.16.3.73/32) $Y

$(172.16.3.73/24) $Y

127.0.0.1 $Y

* $N

LIST_AUTH

*;*|* $[IMTA_LIBUTIL,imdlauth,$2+$1@$0]

ORIG_SEND_ACCESS

tcp_local|*|tcp_local|* $N$D30|Relaying$ not$ allowed

tcp_*|*|native|* $N

tcp_*|*|hold|* $N

tcp_*|*|pipe|* $N

tcp_*|*|ims-ms|* $N

SEND_ACCESS

tcp_*|*|*|*@[127.*] $X5.1.2|$NBad$ destination$ system

tcp_*|*|*|*@localhost.* $X5.1.2|$NBad$ destination$ system

! Delete the next two items for Direct LDAP mode

*|*|inactive|* $X4.2.1|$NMailbox$ temporarily$ disabled

*|*|deleted|* $X5.1.6|$NRecipient$ no$ longer$ on$ server

! VERSION=1.0

! Modified by IMS administration server on: Thu Jan 19 15:14:54 CST 2006

!

PORT_ACCESS

*|*|*|*|* $C$|INTERNAL_IP;$3|$Y$E

* $YEXTERNAL

INTERNAL_IP

$(172.16.3.73/32) $Y

$(172.16.3.73/24) $Y

127.0.0.1 $Y

* $N

LIST_AUTH

*;*|* $[IMTA_LIBUTIL,imdlauth,$2+$1@$0]

ORIG_SEND_ACCESS

tcp_local|*|tcp_local|* $N$D30|Relaying$ not$ allowed

tcp_*|*|native|* $N

tcp_*|*|hold|* $N

tcp_*|*|pipe|* $N

tcp_*|*|ims-ms|* $N

SEND_ACCESS

tcp_*|*|*|*@[127.*] $X5.1.2|$NBad$ destination$ system

tcp_*|*|*|*@localhost.* $X5.1.2|$NBad$ destination$ system

! Delete the next two items for Direct LDAP mode

*|*|inactive|* $X4.2.1|$NMailbox$ temporarily$ disabled

*|*|deleted|* $X5.1.6|$NRecipient$ no$ longer$ on$ server

!

CONVERSIONS

IN-CHAN=tcp_*;OUT-CHAN=tcp_*;CONVERT Yes

!

! Make all messages going from any tcp channel going to any tcp channel take a

! detour through the conversion channel.

!

<IMTA_TABLE:mappings.locale

=======================mappings End==============================================

=======================conversions Begin=========================================

! Append disclaimer to single part messages if the body part

! is text.

!

in-channel=*; out-channel=*;

in-type=text; in-subtype=*; part-number=1;

parameter-symbol-0=NAME; parameter-copy-0=*;

dparameter-symbol-0=FILENAME; dparameter-copy-0=*;

message-header-file=2; original-header-file=1;

override-header-file=1;

command="/usr/iplanet/server5/msg-sunws/sitescript/append_disclaimer.sh footer.txt"

!

! Append disclaimer only to the first part of a multipart message

! if that part is a text message part. (part-number=1.1 is the

! first part of a multipart message).

!

in-channel=*; out-channel=*;

in-type=text; in-subtype=*; part-number=1.1;

parameter-symbol-0=NAME; parameter-copy-0=*;

dparameter-symbol-0=FILENAME; dparameter-copy-0=*;

message-header-file=2; original-header-file=1;

override-header-file=1;

command="/usr/iplanet/server5/msg-sunws/sitescript/append_disclaimer.sh footer.txt"

!

=======================conversions End===========================================

I run the ./imsimta test -rewrite -debug, it seem doesn't througth conversion channel, the messages is below

bash-2.05# ./imsimta test -rewrite -debug

Initializing mm_.

Initializing mm_ submission.

Checking identifiers.

Address: dennisi@mds.com.tw

*** Debug output from initializing MM for submission:

22:23:07.02: mmc_winit('l','postmaster@sunws.mccc.com.tw','0IVY00702VYJVU@sunws.mccc.com.tw' ) called.

22:23:07.02: Queue area size 18741768, temp area size 18741768

22:23:07.02:4685442 blocks of effective free queue space available; setting disk limit accordingly.

22:23:07.02: Rewriting: Mbox = "postmaster", host = "sunws.mccc.com.tw", domain = "$*", literal = "", tag = ""

22:23:07.02: Rewrite: "$*", position 0, hash table -

22:23:07.02:Failed.

22:23:07.02: Rewrite: "$*", position 0, rewrite database -

22:23:07.03:(domain database does not exist)

22:23:07.03:Failed

22:23:07.03: Rewriting: Mbox = "postmaster", host = "sunws", domain = "sunws.mccc.com.tw", literal = "", tag = ""

22:23:07.03: Rewrite: "sunws.mccc.com.tw", position 0, hash table -

22:23:07.03:Found: "$U%$D@sunws.mccc.com.tw"

22:23:07.03:New mailbox: "postmaster".

22:23:07.03:New host: "sunws.mccc.com.tw".

22:23:07.03:New route: "sunws.mccc.com.tw".

22:23:07.03:New channel system: "sunws.mccc.com.tw".

22:23:07.03: Looking up host "sunws.mccc.com.tw".

22:23:07.03:- found on channel l

22:23:07.03: Routelocal flag set; scanning for % and !

22:23:07.03: Rewriting: Mbox = "postmaster", host = "sunws.mccc.com.tw", domain = "$*", literal = "", tag = ""

22:23:07.03: Rewrite: "$*", position 0, hash table -

22:23:07.03:Failed.

22:23:07.03: Rewrite: "$*", position 0, rewrite database -

22:23:07.03:(domain database does not exist)

22:23:07.03:Failed

22:23:07.03: Rewriting: Mbox = "postmaster", host = "sunws", domain = "sunws.mccc.com.tw", literal = "", tag = ""

22:23:07.03: Rewrite: "sunws.mccc.com.tw", position 0, hash table -

22:23:07.03:Found: "$U%$D@sunws.mccc.com.tw"

22:23:07.03:New mailbox: "postmaster".

22:23:07.03:New host: "sunws.mccc.com.tw".

22:23:07.03:New route: "sunws.mccc.com.tw".

22:23:07.03:New channel system: "sunws.mccc.com.tw".

22:23:07.03: Looking up host "sunws.mccc.com.tw".

22:23:07.03:- found on channel l

22:23:07.03: Routelocal flag set; scanning for % and !

22:23:07.04:Mapped return address: postmaster@sunws.mccc.com.tw

***

*** Debug output from rewriting a forward header address:

22:23:07.04: Rewriting: Mbox = "dennisi", host = "mds.com.tw", domain = "$*", literal = "", tag = ""

22:23:07.04: Rewrite: "$*", position 0, hash table -

22:23:07.04:Failed.

22:23:07.04: Rewrite: "$*", position 0, rewrite database -

22:23:07.04:(domain database does not exist)

22:23:07.04:Failed

22:23:07.04: Rewriting: Mbox = "dennisi", host = "mds", domain = "mds.com.tw", literal = "", tag = ""

22:23:07.04: Rewrite: "mds.com.tw", position 0, hash table -

22:23:07.04:Failed.

22:23:07.04: Rewrite: "mds.com.tw", position 0, rewrite database -

22:23:07.04:(domain database does not exist)

22:23:07.04:Failed

22:23:07.04: Rewriting: Mbox = "dennisi", host = "mds", domain = ".com.tw", literal = "", tag = ""

22:23:07.04: Rewrite: "*.com.tw", position 0, hash table -

22:23:07.04:Failed

22:23:07.04: Rewrite: ".com.tw", position 0, hash table -

22:23:07.04:Failed.

22:23:07.04: Rewrite: ".com.tw", position 0, rewrite database -

22:23:07.04:(domain database does not exist)

22:23:07.04:Failed

22:23:07.04: Rewriting: Mbox = "dennisi", host = "mds.com", domain = ".tw", literal = "", tag = ""

22:23:07.04: Rewrite: "*.*.tw", position 0, hash table -

22:23:07.04:Failed

22:23:07.04: Rewrite: ".tw", position 0, hash table -

22:23:07.04:Found: "$U%$H$D@TCP-DAEMON"

22:23:07.04:New mailbox: "dennisi".

22:23:07.04:New host: "mds.com.tw".

22:23:07.04:New route: "TCP-DAEMON".

22:23:07.04:New channel system: "TCP-DAEMON".

22:23:07.04: Looking up host "TCP-DAEMON".

22:23:07.04:- found on channel tcp_local

22:23:07.04:Rewrite rules result: dennisi@mds.com.tw

22:23:07.04:Applying reverse database to: dennisi@mds.com.tw

22:23:07.04:No match -- no such entry.

***

forward channel= tcp_local

channel description=

channel user filter=

dest channel filter=

source channel filter =

channel flags #0= BIDIRECTIONAL SINGLE_SYSTEM IMMNONURGENT NOSERVICEALL

channel flags #1= SMTP MX IDENTNONELIMITED DEFAULT

channel flags #2= COPYSENDPOST COPYWARNPOST POSTHEADONLY HEADERINC NOEXPROUTE

channel flags #3= LOGGING NOGREY NORESTRICTED RETAINSECURITYMULTIPARTS

channel flags #4= EIGHTNEGOTIATE NOHEADERTRIM NOHEADERREAD RULES

channel flags #5=

channel flags #6= LOCALUSER REPORTHEADER

channel flags #7= SWITCHCHANNEL REMOTEHOST DATEFOUR DAYOFWEEK

channel flags #8= NODEFRAGMENT EXQUOTA REVERSE NOCONVERT_OCTET_STREAM

channel flags #9= NOTHURMAN INTERPRETENCODING USEINTERMEDIATE RECEIVEDFROM VALIDATELOCALNONE NOTURN

defaulthost= mccc.com.tw mccc.com.tw

linelength = 998

addrsperfile= 99

channel env addr type = SOURCEROUTE

channel hdr addr type = SOURCEROUTE

channel official host = tcp-daemon

channel queue 0 name= SMTP_POOL

channel queue 1 name= SMTP_POOL

channel queue 2 name= SMTP_POOL

channel queue 3 name= SMTP_POOL

channel after params=

channel user name=

urgentnotices = 1 2 4 7

normalnotices = 1 2 4 7

nonurgentnotices= 1 2 4 7

channel rightslist ids =

local behavior flags= %x0

backward channel= tcp_local

header To: address= dennisi@mds.com.tw

header From: address= dennisi@mds.com.tw

envelope To: address= dennisi@mds.com.tw (route (TCP-DAEMON,TCP-DAEMON)) (host mds.com.tw)

envelope From: address = dennisi@mds.com.tw

name=

mbox= dennisi

Extracted address action list:

dennisi@mds.com.tw

Extracted 733 address action list:

dennisi@mds.com.tw

Address list expansion:

-13 expansion total.

*** Debug output from submitting an envelope address:

22:23:07.04: mmc_wadr(0x0005ed70,'dennisi@mds.com.tw','dennisi@mds.com.tw') called.

22:23:07.04: Copy estimate before address addition is 1

22:23:07.04:Parsing address dennisi@mds.com.tw

22:23:07.04: Rewriting: Mbox = "dennisi", host = "mds.com.tw", domain = "$*", literal = "", tag = ""

22:23:07.04: Rewrite: "$*", position 0, hash table -

22:23:07.04:Failed.

22:23:07.05: Rewrite: "$*", position 0, rewrite database -

22:23:07.05:(domain database does not exist)

22:23:07.05:Failed

22:23:07.05: Rewriting: Mbox = "dennisi", host = "mds", domain = "mds.com.tw", literal = "", tag = ""

22:23:07.05: Rewrite: "mds.com.tw", position 0, hash table -

22:23:07.05:Failed.

22:23:07.05: Rewrite: "mds.com.tw", position 0, rewrite database -

22:23:07.05:(domain database does not exist)

22:23:07.05:Failed

22:23:07.05: Rewriting: Mbox = "dennisi", host = "mds", domain = ".com.tw", literal = "", tag = ""

22:23:07.05: Rewrite: "*.com.tw", position 0, hash table -

22:23:07.05:Failed

22:23:07.05: Rewrite: ".com.tw", position 0, hash table -

22:23:07.05:Failed.

22:23:07.05: Rewrite: ".com.tw", position 0, rewrite database -

22:23:07.05:(domain database does not exist)

22:23:07.05:Failed

22:23:07.05: Rewriting: Mbox = "dennisi", host = "mds.com", domain = ".tw", literal = "", tag = ""

22:23:07.05: Rewrite: "*.*.tw", position 0, hash table -

22:23:07.05:Failed

22:23:07.05: Rewrite: ".tw", position 0, hash table -

22:23:07.05:Found: "$U%$H$D@TCP-DAEMON"

22:23:07.05:New mailbox: "dennisi".

22:23:07.05:New host: "mds.com.tw".

22:23:07.05:New route: "TCP-DAEMON".

22:23:07.05:New channel system: "TCP-DAEMON".

22:23:07.05: Looking up host "TCP-DAEMON".

22:23:07.05:- found on channel tcp_local

22:23:07.05:- adding address dennisi@mds.com.tw to headers.

22:23:07.05:- orig_send_access mapping check: l|postmaster@sunws.mccc.com.tw|tcp_local|dennisi@mds.com.tw

22:23:07.05: - passed.

22:23:07.05:- send_access mapping check: l|postmaster@sunws.mccc.com.tw|tcp_local|dennisi@mds.com.tw

22:23:07.05: - passed.

22:23:07.05:- adding address dennisi@mds.com.tw to channel tcp_local

22:23:07.05: Copy estimate after address addition is 2

***

Expanded address:

dennisi@mds.com.tw

Submitted address list:

tcp_local

dennisi@mds.com.tw (orig dennisi@mds.com.tw, host mds.com.tw) *NOTIFY-FAILURES* *NOTIFY-DELAYS>

dennisi05 at 2007-7-1 15:00:42 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 20

If you've read through the rest of this thread, you will find that adding a footer this way will ONLY work if the entire message is text.If there are any MIME parts, then your footer will not show in any mail client.

Have you looked at the actual mail file on disk, to see if you're adding it?

Is your conversion channel actually getting any messages?

In order to troubleshoot any problem, first you need to figure out where the problem is, not a global, "it doesn' t work" kind of thing.

I always start at the beginning. Do your messages get to the conversion channel?

jay_plesset at 2007-7-1 15:00:42 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 21
Dear jay, you mean that if mail content have a image, or a attachment ,then conversions will not add footer?Is there any way to do in IMS 52 to add footer after mail messages?
dennisi05 at 2007-7-1 15:00:42 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 22

Since a message is a series of MIME parts, to add another MIME part is complex.

If the message were totally text, it would be simple to add a footer. Messages like this are getting more and more rare.

Conversion can indeed add a text footer to a text message. Somthing that's not likely to do you much good.

Adding a footer of any kind to a message that includes MIME parts is simply not easy, nor something for me to be able to tell you how to handle it, here.

It likely would require a custom channel be written, as I've said before.

jay_plesset at 2007-7-1 15:00:42 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...