LE=".length());
i = s1.indexOf(NEWLINE);
String s3;
if(i < 0)
{
s3 = "";
}
else
{
s3 = s1.substring(i + NEWLINE.length());
s1 = s1.substring(0, i);
}
if(s1.startsWith("\""))
s1 = s1.substring(1);
if(s1.endsWith("\""))
s1 = s1.substring(0, s1.length() - 1);
try
{
BufferedReader bufferedreader = new BufferedReader(new
InputStreamReader(new FileInputStream(s1)));
while((s1 = bufferedreader.readLine()) != null)
s2 = s2 + s1 + NEWLINE;
bufferedreader.close();
}
catch(Exception _ex)
{
return s;
}
return s2 + insertFiles(s3);
}
private String prepareString(String s, Hashtable hashtable)
{
int i = s.indexOf("$");
String s1 = "";
if(i < 0 || i == s.length() - 1)
return s;
for(StringTokenizer stringtokenizer = new StringTokenizer(s, "
,\t;:!@#%^~&*()-+_=|\\/?<>" + NEWLINE, true); stringtokenizer.hasMoreTokens();)
{
String s2 = stringtokenizer.nextToken();
String s3;
if(s2.startsWith("$"))
{
if(s2.length() == 1)
s1 = s1 + s2;
else
if((s3 = (String)hashtable.get(s2.substring(1).toUpperCase())) != null)
s1 = s1 + s3;
else
s1 = s1 + s2;
}
else
{
s1 = s1 + s2;
}
}
return s1;
}
private boolean usedParameter(String s, Hashtable hashtable)
{
for(Enumeration enumeration = hashtable.keys(); enumeration.hasMoreElements();)
{
String s1 = (String)hashtable.get((String)enumeration.nextElement());
if(s1.indexOf(s) >= 0)
return true;
}
return false;
}
private void readTemplateFile(String s, Hashtable hashtable)
{
String s4 = "";
boolean flag = false;
try
{
BufferedReader bufferedreader = new BufferedReader(new
InputStreamReader(new FileInputStream(s)));
String s1;
while((s1 = bufferedreader.readLine()) != null)
{
s1 = s1.trim();
if(s1.length() > 0)
{
String s3 = s1.toUpperCase();
if(s3.startsWith("PORT:"))
{
if(flag)
{
hashtable.remove("BODY");
hashtable.put("BODY", s4);
}
flag = false;
s4 = "";
hashtable.remove("PORT");
hashtable.put("PORT", s1.substring("PORT:".length()).trim());
}
else
if(s3.startsWith("DOMAIN:"))
{
if(flag)
{
hashtable.remove("BODY");
hashtable.put("BODY", s4);
}
flag = false;
s4 = "";
hashtable.remove("DOMAIN");
hashtable.put("DOMAIN",
s1.substring("DOMAIN:".length()).trim());
}
else
if(s3.startsWith("T"))
{
if(flag)
{
hashtable.remove("BODY");
hashtable.put("BODY", s4);
}
flag = false;
s4 = "";
hashtable.remove("TO");
hashtable.put("TO", s1.substring("T".length()).trim());
}
else
if(s3.startsWith("CC:"))
{
if(flag)
{
hashtable.remove("BODY");
hashtable.put("BODY", s4);
}
flag = false;
s4 = "";
hashtable.remove("CC");
hashtable.put("CC", s1.substring("CC:".length()).trim());
}
else
if(s3.startsWith("SUBJECT:"))
{
if(flag)
{
hashtable.remove("BODY");
hashtable.put("BODY", s4);
}
flag = false;
s4 = "";
hashtable.remove("SUBJECT");
hashtable.put("SUBJECT",
s1.substring("SUBJECT:".length()).trim());
}
else
if(s3.startsWith("MAILHOST:"))
{
if(flag)
{
hashtable.remove("BODY");
hashtable.put("BODY", s4);
}
flag = false;
s4 = "";
hashtable.remove("MAILHOST");
hashtable.put("MAILHOST",
s1.substring("MAILHOST:".length()).trim());
}
else
if(s3.startsWith("FROM:"))
{
if(flag)
{
hashtable.remove("BODY");
hashtable.put("BODY", s4);
}
flag = false;
s4 = "";
hashtable.remove("FROM");
hashtable.put("FROM", s1.substring("FROM:".length()).trim());
}
else
if(s3.startsWith("REPLY:"))
{
if(flag)
{
hashtable.remove("BODY");
hashtable.put("BODY", s4);
}
flag = false;
s4 = "";
hashtable.remove("REPLY");
hashtable.put("REPLY", s1.substring("REPLY:".length()).trim());
}
else
if(s3.startsWith("ATTACH:"))
{
if(flag)
{
hashtable.remove("BODY");
hashtable.put("BODY", s4);
}
flag = false;
s4 = "";
hashtable.remove("ATTACH");
hashtable.put("ATTACH",
s1.substring("ATTACH:".length()).trim());
}
else
if(s3.startsWith("ENCODING:"))
{
if(flag)
{
hashtable.remove("BODY");
hashtable.put("BODY", s4);
}
flag = false;
s4 = "";
hashtable.remove("ENCODING");
hashtable.put("ENCODING",
s1.substring("ENCODING:".length()).trim());
}
else
if(s3.startsWith("BODY:"))
{
hashtable.remove("BODY");
flag = true;
s4 = s1.substring("BODY:".length()).trim();
}
else
if(flag)
s4 = s4 + NEWLINE + s1;
}
else
if(flag)
s4 = s4 + NEWLINE;
}
bufferedreader.close();
File file = new File(s);
hashtable.put("edt", String.valueOf(file.lastModified()));
}
catch(Exception _ex) { }
String s2;
if((s2 = (String)hashtable.get("PORT")) != null)
try
{
int i = Integer.parseInt(s2);
if(i <= 0)
hashtable.remove("PORT");
}
catch(Exception _ex)
{
hashtable.remove("PORT");
}
if((s2 = (String)hashtable.get("DOMAIN")) != null && s2.length() == 0)
hashtable.remove("DOMAIN");
if((s2 = (String)hashtable.get("REPLY")) != null && s2.length() == 0)
hashtable.remove("REPLY");
if((s2 = (String)hashtable.get("FROM")) != null && s2.length() == 0)
hashtable.remove("FROM");
if((s2 = (String)hashtable.get("TO")) != null && s2.length() == 0)
hashtable.remove("TO");
if((s2 = (String)hashtable.get("CC")) != null && s2.length() == 0)
hashtable.remove("CC");
if(hashtable.get("PORT") ==