Encoding fix for the inbound email parser perl script

git-svn-id: svn://192.168.202.10@1993 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
mattf
2013-06-07 05:55:42 +00:00
parent 57aa45426b
commit 95da38a276
+9 -4
View File
@@ -54,6 +54,7 @@ use MIME::QuotedPrint;
# changes:
# 121213-2200 - First Build
# 130127-0025 - Added better non-latin characters support
# 130607-0155 - Encoding fix
#
# default path to astguiclient configuration file:
@@ -228,9 +229,10 @@ while (@row=$rslt->fetchrow_array) {
$message = $client->body_string($msgs[$j]);
$charset="";
$content_type=~/charset\=(KOI8\-R|ISO\-8859\-[0-9]+|windows\-12[0-9]+|utf\-8)/i;
$content_type=~/charset\=\"?(KOI8\-R|ISO\-8859\-[0-9]+|windows\-12[0-9]+|utf\-8|us\-ascii)\"?/i;
$charset=$&;
$charset=substr($charset, 8);
$charset=~s/\"//gi;
$text_written=0; ## Keeps track of whether or not text of email was grabbed
$attach_ct=0; ## Keeps number
@@ -322,9 +324,10 @@ while (@row=$rslt->fetchrow_array) {
}
## Do a second check for a charset in the message, just in case.
$sub_content_type=~/charset\=(KOI8\-R|ISO\-8859\-[0-9]+|windows\-12[0-9]+|utf\-8)/i;
$sub_content_type=~/charset\=\"?(KOI8\-R|ISO\-8859\-[0-9]+|windows\-12[0-9]+|utf\-8|us\-ascii)\"?/i;
$charset=$&;
$charset=substr($charset, 8);
$charset=~s/\"//gi;
## Check for attachments
if ($sub_content_disposition=~/attachment/) {
@@ -565,9 +568,10 @@ while (@row=$rslt->fetchrow_array) {
@output_ins_values=();
# Check for charset, in case decoding is necessary
$content_type=~/charset\=(KOI8\-R|ISO\-8859\-[0-9]+|windows\-12[0-9]+|utf\-8)/i;
$content_type=~/charset\=\"?(KOI8\-R|ISO\-8859\-[0-9]+|windows\-12[0-9]+|utf\-8|us\-ascii)\"?/i;
$charset=$&;
$charset=substr($charset, 8);
$charset=~s/\"//gi;
if ($content_type=~/^text\/plain/i) {
## Do nothing - it's plain text and needs no further work on it.
@@ -642,9 +646,10 @@ while (@row=$rslt->fetchrow_array) {
}
## Do a second check for a charset in the message, just in case.
$sub_content_type=~/charset\=(KOI8\-R|ISO\-8859\-[0-9]+|windows\-12[0-9]+|utf\-8)/i;
$sub_content_type=~/charset\=\"?(KOI8\-R|ISO\-8859\-[0-9]+|windows\-12[0-9]+|utf\-8|us\-ascii)\"?/i;
$charset=$&;
$charset=substr($charset, 8);
$charset=~s/\"//gi;
$content_type.="; charset=$charset";
## Check for attachments