E-mail Output Merge Lines for Some Text..

Hi all.

This is the content of the text file used for the e-mail:

TM ICP-EDW BILLING REGISTER USAGE BREAKDOWN_01062014.csv
TM_ICP_EDWH_FICL_13062014.TXT
TM_ICP_EDWH_FICL_16062014.TXT
TM_ICP_EDW_Detailed Payment Journal Report_13062014.txt
TM_ICP_EDW_Detailed Payment Journal Report_14062014.txt
TM_ICP_EDW_Detailed Payment Journal Report_15062014.txt
TM_ICP_EDW_Detailed Payment Journal Report_16062014.txt
TM_ICP_EDW_Detailed Payment Journal Report_17062014.txt
TM_ICP_EDW_Detailed Payment Journal Report_18062014.txt
TM_ICP_EDW_Detailed Payment Journal Report_19062014.txt
TM_ICP_EDW_FA_REFUND_CONSUMER_01062014.csv
TM_ICP_EDW_FA_REFUND_SME_01062014.csv
TM_ICP_EDW_FIN04-ACCOUNT_CONSOL_20140613.csv
TM_ICP_EDW_FIN04-ACCOUNT_CONSOL_20140614.csv
TM_ICP_EDW_FIN04-ACCOUNT_CONSOL_20140615.csv
TM_ICP_EDW_FIN04-ACCOUNT_CONSOL_20140616.csv
TM_ICP_EDW_FIN04-ACCOUNT_CONSOL_20140618.csv
TM_ICP_EDW_FIN04-ACCOUNT_CONSOL_20140619.csv
TM_ICP_EDW_FM-235A_LAPORAN_RINGKASAN_TRANSAKSI_BAYARAN_FAMIS_12062014.txt
TM_ICP_EDW_FM-235A_LAPORAN_RINGKASAN_TRANSAKSI_BAYARAN_FAMIS_14062014.txt
TM_ICP_EDW_FM-235A_LAPORAN_RINGKASAN_TRANSAKSI_BAYARAN_FAMIS_16062014.txt
TM_ICP_EDW_FM-235A_LAPORAN_RINGKASAN_TRANSAKSI_BAYARAN_FAMIS_17062014.txt
TM_ICP_EDW_LIST_OF_ACCOUNT_WITH_STREAM_CODE_2_3_SERIES_01062014.csv
TM_ICP_EDW_PELANGGAN_ATD_DAN_ANTARABANGSA(OPR)_N_01062014.csv

This is the command that is used:

{ echo "FIRST" ; cat ftp_list.txt ; echo "LAST" ; } | /usr/bin/mailx -s "CAMELOT-MS Portal Missing Reports" my_email@company.com

But when the e-mail is received, this is what I actually get:

FIRST
TM ICP-EDW BILLING REGISTER USAGE BREAKDOWN_01062014.csv TM_ICP_EDWH_FICL_13062014.TXT TM_ICP_EDWH_FICL_16062014.TXT TM_ICP_EDW_Detailed Payment Journal Report_13062014.txt TM_ICP_EDW_Detailed Payment Journal Report_14062014.txt TM_ICP_EDW_Detailed Payment Journal Report_15062014.txt TM_ICP_EDW_Detailed Payment Journal Report_16062014.txt TM_ICP_EDW_Detailed Payment Journal Report_17062014.txt TM_ICP_EDW_Detailed Payment Journal Report_18062014.txt TM_ICP_EDW_Detailed Payment Journal Report_19062014.txt TM_ICP_EDW_FA_REFUND_CONSUMER_01062014.csv
TM_ICP_EDW_FA_REFUND_SME_01062014.csv
TM_ICP_EDW_FIN04-ACCOUNT_CONSOL_20140613.csv
TM_ICP_EDW_FIN04-ACCOUNT_CONSOL_20140614.csv
TM_ICP_EDW_FIN04-ACCOUNT_CONSOL_20140615.csv
TM_ICP_EDW_FIN04-ACCOUNT_CONSOL_20140616.csv
TM_ICP_EDW_FIN04-ACCOUNT_CONSOL_20140618.csv
TM_ICP_EDW_FIN04-ACCOUNT_CONSOL_20140619.csv
TM_ICP_EDW_FM-235A_LAPORAN_RINGKASAN_TRANSAKSI_BAYARAN_FAMIS_12062014.txt
TM_ICP_EDW_FM-235A_LAPORAN_RINGKASAN_TRANSAKSI_BAYARAN_FAMIS_14062014.txt
TM_ICP_EDW_FM-235A_LAPORAN_RINGKASAN_TRANSAKSI_BAYARAN_FAMIS_16062014.txt
TM_ICP_EDW_FM-235A_LAPORAN_RINGKASAN_TRANSAKSI_BAYARAN_FAMIS_17062014.txt
TM_ICP_EDW_LIST_OF_ACCOUNT_WITH_STREAM_CODE_2_3_SERIES_01062014.csv
TM_ICP_EDW_PELANGGAN_ATD_DAN_ANTARABANGSA(OPR)_N_01062014.csv
LAST

It sort of it has something to do with those filenames with spaces in it.

Could this be fixed?

Thanks a lot.

---------- Post updated 06-20-14 at 12:48 AM ---------- Previous update was 06-19-14 at 01:59 PM ----------

The problem is weird right? Anyone?

TQ.

Check your input file for any control characters using od or cat

od -c ftp_list.txt

OR

cat -evt ftp_list.txt
1 Like

This is the output

$ od -c ftp_list.txt

0000000   T   M   _   I   C   P   _   E   D   W   H   _   F   I   C   L
0000020   _   1   3   0   6   2   0   1   4   .   T   X   T  \n   T   M
0000040   _   I   C   P   _   E   D   W   H   _   F   I   C   L   _   1
0000060   6   0   6   2   0   1   4   .   T   X   T  \n   T   M   _   I
0000100   C   P   _   E   D   W   _   D   e   t   a   i   l   e   d
0000120   P   a   y   m   e   n   t       J   o   u   r   n   a   l
0000140   R   e   p   o   r   t   _   1   4   0   6   2   0   1   4   .
0000160   t   x   t  \n   T   M   _   I   C   P   _   E   D   W   _   D
0000200   e   t   a   i   l   e   d       P   a   y   m   e   n   t
0000220   J   o   u   r   n   a   l       R   e   p   o   r   t   _   1
0000240   5   0   6   2   0   1   4   .   t   x   t  \n   T   M   _   I
0000260   C   P   _   E   D   W   _   D   e   t   a   i   l   e   d
0000300   P   a   y   m   e   n   t       J   o   u   r   n   a   l
0000320   R   e   p   o   r   t   _   1   6   0   6   2   0   1   4   .
0000340   t   x   t  \n   T   M   _   I   C   P   _   E   D   W   _   D
0000360   e   t   a   i   l   e   d       P   a   y   m   e   n   t
0000400   J   o   u   r   n   a   l       R   e   p   o   r   t   _   1
0000420   7   0   6   2   0   1   4   .   t   x   t  \n   T   M   _   I
0000440   C   P   _   E   D   W   _   D   e   t   a   i   l   e   d
0000460   P   a   y   m   e   n   t       J   o   u   r   n   a   l
0000500   R   e   p   o   r   t   _   1   8   0   6   2   0   1   4   .
0000520   t   x   t  \n   T   M   _   I   C   P   _   E   D   W   _   D
0000540   e   t   a   i   l   e   d       P   a   y   m   e   n   t
0000560   J   o   u   r   n   a   l       R   e   p   o   r   t   _   1
0000600   9   0   6   2   0   1   4   .   t   x   t  \n   T   M   _   I
0000620   C   P   _   E   D   W   _   D   e   t   a   i   l   e   d
0000640   P   a   y   m   e   n   t       J   o   u   r   n   a   l
0000660   R   e   p   o   r   t   _   2   0   0   6   2   0   1   4   .
0000700   t   x   t  \n   T   M   _   I   C   P   _   E   D   W   _   F
0000720   I   N   0   4   -   A   C   C   O   U   N   T   _   C   O   N
0000740   S   O   L   _   2   0   1   4   0   6   1   4   .   c   s   v
0000760  \n   T   M   _   I   C   P   _   E   D   W   _   F   I   N   0
0001000   4   -   A   C   C   O   U   N   T   _   C   O   N   S   O   L
0001020   _   2   0   1   4   0   6   1   5   .   c   s   v  \n   T   M
0001040   _   I   C   P   _   E   D   W   _   F   I   N   0   4   -   A
0001060   C   C   O   U   N   T   _   C   O   N   S   O   L   _   2   0
0001100   1   4   0   6   1   6   .   c   s   v  \n   T   M   _   I   C
0001120   P   _   E   D   W   _   F   I   N   0   4   -   A   C   C   O
0001140   U   N   T   _   C   O   N   S   O   L   _   2   0   1   4   0
0001160   6   1   8   .   c   s   v  \n   T   M   _   I   C   P   _   E
0001200   D   W   _   F   I   N   0   4   -   A   C   C   O   U   N   T
0001220   _   C   O   N   S   O   L   _   2   0   1   4   0   6   1   9
0001240   .   c   s   v  \n   T   M   _   I   C   P   _   E   D   W   _
0001260   F   I   N   0   4   -   A   C   C   O   U   N   T   _   C   O
0001300   N   S   O   L   _   2   0   1   4   0   6   2   0   .   c   s
0001320   v  \n   T   M   _   I   C   P   _   E   D   W   _   F   M   -
0001340   2   3   5   A   _   L   A   P   O   R   A   N   _   R   I   N
0001360   G   K   A   S   A   N   _   T   R   A   N   S   A   K   S   I
0001400   _   B   A   Y   A   R   A   N   _   F   A   M   I   S   _   1
0001420   4   0   6   2   0   1   4   .   t   x   t  \n   T   M   _   I
0001440   C   P   _   E   D   W   _   F   M   -   2   3   5   A   _   L
0001460   A   P   O   R   A   N   _   R   I   N   G   K   A   S   A   N
0001500   _   T   R   A   N   S   A   K   S   I   _   B   A   Y   A   R
0001520   A   N   _   F   A   M   I   S   _   1   6   0   6   2   0   1
0001540   4   .   t   x   t  \n   T   M   _   I   C   P   _   E   D   W
0001560   _   F   M   -   2   3   5   A   _   L   A   P   O   R   A   N
0001600   _   R   I   N   G   K   A   S   A   N   _   T   R   A   N   S
0001620   A   K   S   I   _   B   A   Y   A   R   A   N   _   F   A   M
0001640   I   S   _   1   7   0   6   2   0   1   4   .   t   x   t  \n
0001660   T   M   _   I   C   P   _   E   D   W   _   P   E   L   A   N
0001700   G   G   A   N   _   A   T   D   _   D   A   N   _   A   N   T
0001720   A   R   A   B   A   N   G   S   A   (   O   P   R   )   _   N
0001740   _   0   1   0   6   2   0   1   4   .   c   s   v  \n
0001756

$ cat -evt ftp_list.txt

TM_ICP_EDWH_FICL_13062014.TXT$
TM_ICP_EDWH_FICL_16062014.TXT$
TM_ICP_EDW_Detailed Payment Journal Report_14062014.txt$
TM_ICP_EDW_Detailed Payment Journal Report_15062014.txt$
TM_ICP_EDW_Detailed Payment Journal Report_16062014.txt$
TM_ICP_EDW_Detailed Payment Journal Report_17062014.txt$
TM_ICP_EDW_Detailed Payment Journal Report_18062014.txt$
TM_ICP_EDW_Detailed Payment Journal Report_19062014.txt$
TM_ICP_EDW_Detailed Payment Journal Report_20062014.txt$
TM_ICP_EDW_FIN04-ACCOUNT_CONSOL_20140614.csv$
TM_ICP_EDW_FIN04-ACCOUNT_CONSOL_20140615.csv$
TM_ICP_EDW_FIN04-ACCOUNT_CONSOL_20140616.csv$
TM_ICP_EDW_FIN04-ACCOUNT_CONSOL_20140618.csv$
TM_ICP_EDW_FIN04-ACCOUNT_CONSOL_20140619.csv$
TM_ICP_EDW_FIN04-ACCOUNT_CONSOL_20140620.csv$
TM_ICP_EDW_FM-235A_LAPORAN_RINGKASAN_TRANSAKSI_BAYARAN_FAMIS_14062014.txt$
TM_ICP_EDW_FM-235A_LAPORAN_RINGKASAN_TRANSAKSI_BAYARAN_FAMIS_16062014.txt$
TM_ICP_EDW_FM-235A_LAPORAN_RINGKASAN_TRANSAKSI_BAYARAN_FAMIS_17062014.txt$
TM_ICP_EDW_PELANGGAN_ATD_DAN_ANTARABANGSA(OPR)_N_01062014.csv$
$

So how?

Thank you.

What is the output of

{ echo "FIRST" ; cat ftp_list.txt ; echo "LAST" ; }

If that looks normal then perhaps there is something fishy in the mail system...
What is your OS and version ?

1 Like

It works fine:

$ { echo "FIRST" ; cat ftp_list.txt ; echo "LAST" ; }
FIRST
TM_ICP_EDWH_FICL_13062014.TXT
TM_ICP_EDWH_FICL_16062014.TXT
TM_ICP_EDW_Detailed Payment Journal Report_14062014.txt
TM_ICP_EDW_Detailed Payment Journal Report_15062014.txt
TM_ICP_EDW_Detailed Payment Journal Report_16062014.txt
TM_ICP_EDW_Detailed Payment Journal Report_17062014.txt
TM_ICP_EDW_Detailed Payment Journal Report_18062014.txt
TM_ICP_EDW_Detailed Payment Journal Report_19062014.txt
TM_ICP_EDW_Detailed Payment Journal Report_20062014.txt
TM_ICP_EDW_FIN04-ACCOUNT_CONSOL_20140614.csv
TM_ICP_EDW_FIN04-ACCOUNT_CONSOL_20140615.csv
TM_ICP_EDW_FIN04-ACCOUNT_CONSOL_20140616.csv
TM_ICP_EDW_FIN04-ACCOUNT_CONSOL_20140618.csv
TM_ICP_EDW_FIN04-ACCOUNT_CONSOL_20140619.csv
TM_ICP_EDW_FIN04-ACCOUNT_CONSOL_20140620.csv
TM_ICP_EDW_FM-235A_LAPORAN_RINGKASAN_TRANSAKSI_BAYARAN_FAMIS_14062014.txt
TM_ICP_EDW_FM-235A_LAPORAN_RINGKASAN_TRANSAKSI_BAYARAN_FAMIS_16062014.txt
TM_ICP_EDW_FM-235A_LAPORAN_RINGKASAN_TRANSAKSI_BAYARAN_FAMIS_17062014.txt
TM_ICP_EDW_PELANGGAN_ATD_DAN_ANTARABANGSA(OPR)_N_01062014.csv
LAST

$ uname -a

HP-UX system1 B.11.31 U ia64 0189138652 unlimited-user license

TQ.

---------- Post updated at 11:34 AM ---------- Previous update was at 11:26 AM ----------

Well, if it is too strange.

Now it works fine with this:

SUBJECT="CAMELOT-MS Portal Missing Reports"
CONTENT="/EDWH-DMT02/script/CAMELOT/ftp_list.txt"
sh /EDWH-DMT02/script/MISC/email_v1.sh "my_email@company.com" "$SUBJECT" "$CONTENT"

email_v1.sh

# Author: Mohd Suhaimi Shariff
# Template for HTML E-mail
# 1st creation: Friday, May 18, 2012 04:07:14 PM

export MAILTO="$1"
export SUBJECT="$2"
export CONTENT="$3"
(
 echo "Subject: $SUBJECT"
 echo "MIME-Version: 1.0"
 echo "Content-Type: text/html"
 echo "Content-Disposition: inline"
 echo '<HTML><BODY><PRE>'
 cat $CONTENT
 echo '</PRE></BODY></HTML>'
) | /usr/sbin/sendmail $MAILTO

But how do I send e-mail to multiple recipients just using the same below command

sh /EDWH-DMT02/script/MISC/email_v1.sh "my_email@company.com" "$SUBJECT" 

Thank you.

I've encountered this issue with outlook mail clients before.

Try putting a couple of spaces in the front of every line:

{ echo "  FIRST" ; sed 's/^/  /' ftp_list.txt ; echo "  LAST" ; } | /usr/bin/mailx ...
1 Like

Thanks a lot!

That fix the issue right away!

But I still want to know about the one line command for my previous question.

Thank you.

I'd rewrite your script like this:

# Author: Mohd Suhaimi Shariff
# Template for HTML E-mail
# 1st creation: Friday, May 18, 2012 04:07:14 PM
# 2nd creation: (add multi receipients)
[ $# -lt 3 ] && {
   echo "Usage: $0 subject content-file receipient [...]" >&2
   exit 2
}

export SUBJECT="$1"
export CONTENT="$2"
shift 2
(
 echo "Subject: $SUBJECT"
 echo "MIME-Version: 1.0"
 echo "Content-Type: text/html"
 echo "Content-Disposition: inline"
 echo '<HTML><BODY><PRE>'
 cat $CONTENT
 echo '</PRE></BODY></HTML>'
) | /usr/sbin/sendmail $@
1 Like

With the original script in post #5 you could send to multiple recipients by using commas:

sh /EDWH-DMT02/script/MISC/email_v1.sh "my_email@company.com,my_email2@company.com,..." "$SUBJECT" "$CONTENT"
1 Like

Thanks. It works!

Actually I've tried using the comma before but it doesn't work, only send the e-mail to the 1st list.

Is it because I used

sh /EDWH-DMT02/script/MISC/email_v1.sh "my_email@company.com, my_email2@company.com,..." "$SUBJECT" "$CONTENT"

instead of

sh /EDWH-DMT02/script/MISC/email_v1.sh "my_email@company.com,my_email2@company.com,..." "$SUBJECT" "$CONTENT"

Note the space in front of the ','

---------- Post updated at 03:35 PM ---------- Previous update was at 03:32 PM ----------

Thanks.

But how do I use it?

---------- Post updated at 03:38 PM ---------- Previous update was at 03:35 PM ----------

By the way, by using my e-mail script above, when I received the e-mail, the recipient address is not displayed at all - totally blank.

Can I make it to display all the recipients?

Thank you.