<% '=========================================================================== ' Here is the routine used to actually save the email to disk ' It is saved as an asp file with all the header details stored a ASP ' variables and also as commented out raw header text so it remains hidden '=========================================================================== Dim msgDate, msgSubject, msgFrom, msgFromName, msgReplyTo, msgCC, msgTo Dim msgStrReplyFrom, msgStrReplyAll, msgStrReplyCC, msgIsHTML Dim msgAttachmentPath, msgAttachmentCount, msgAttachments Sub GetMessage( PATH, MSGID ) Set FSO = CreateObject("Scripting.FileSystemObject") '============================================================================ ' If the message files exists then exit the function and display the message '============================================================================ strCheckFilepathASP = addSlash(Replace(userWebPath, "/", "\"), "\") & PATH & "/" & MSGID & ".asp" If FSO.FileExists(strCheckFilepathASP) = True Then InitHeader strCheckFilepathASP msgDate = GetHeader("msgDate") msgSubject = GetHeader("msgSubject") msgFrom = GetHeader("msgFrom") msgFromName = GetHeader("msgFromName") msgReplyTo = GetHeader("msgReplyTo") msgCC = GetHeader("msgCC") msgTo = GetHeader("msgTo") msgStrReplyFrom = GetHeader("msgStrReplyFrom") msgStrReplyAll = GetHeader("msgStrReplyAll") msgStrReplyCC = GetHeader("msgStrReplyCC") msgIsHTML = GetHeader("msgIsHTML") msgAttachmentPath = GetHeader("msgAttachmentPath") msgAttachmentCount = GetHeader("msgAttachmentCount") msgAttachments = GetHeader("msgAttachments") ClearHeader End If Set FSO = nothing End Sub Sub saveMessage( MSGID ) Set FSO = CreateObject("Scripting.FileSystemObject") '============================================================================ ' If the message files exists then exit the function and display the message '============================================================================ strCheckFilepathEML = addSlash(Replace(userPath, "/", "\"), "\") & MSGID & ".eml" strCheckFilepathASP = addSlash(Replace(userWebPath, "/", "\"), "\") & MSGID & ".asp" If FSO.FileExists(strCheckFilepathEML) = True AND FSO.FileExists(strCheckFilepathASP) = True Then InitHeader strCheckFilepathASP msgDate = GetHeader("msgDate") msgSubject = GetHeader("msgSubject") msgFrom = GetHeader("msgFrom") msgFromName = GetHeader("msgFromName") msgReplyTo = GetHeader("msgReplyTo") msgCC = GetHeader("msgCC") msgTo = GetHeader("msgTo") msgStrReplyFrom = GetHeader("msgStrReplyFrom") msgStrReplyAll = GetHeader("msgStrReplyAll") msgStrReplyCC = GetHeader("msgStrReplyCC") msgIsHTML = GetHeader("msgIsHTML") msgAttachmentPath = GetHeader("msgAttachmentPath") msgAttachmentCount = GetHeader("msgAttachmentCount") msgAttachments = GetHeader("msgAttachments") ClearHeader Set FSO = nothing Exit Sub End If Set pop3 = Server.CreateObject( "JMail.POP3" ) '====================== ' Make a POP connection '====================== pop3.Connect MyUsername, MyPassword, POP3Server '==================================== ' Only proceed if there are messages '==================================== if pop3.count > 0 then Dim messageID, isDirectSelected messageID = "0" isDirectSelected = False If MSGID <> "" Then Dim arrPOPArray Dim arrPOPFilter '================================================ ' First check the user inbox file for the message '================================================ arrPOPArray = fileToArray(userInboxFile) arrPOPFilter = Filter(arrPOPArray, MSGID) If UBound(arrPOPFilter) = -1 Then '=============================================== ' No joy so give out an error message and abort! '=============================================== AbortMessage End If '=================================================== ' arrPOPFilter is valid which means the message has ' been found so pass the message ID on to messageID. '=================================================== messageID = Left( arrPOPFilter(0), Instr(arrPOPFilter(0), cacheTOKEN)-1 ) Else '================================= ' In case we want to retrieve the ' message directly using its ID. '================================= If Request.QueryString("ID") <> "" Then messageID = Request.QueryString("ID") isDirectSelected = True End If End If '====================================== ' Strip any leading "#" from messageID '====================================== If Instr(messageID, "#") = 1 Then messageID = Mid(messageID, 2, Len(messageID)) End If On Error Resume Next Set msg = pop3.Messages.item( messageID ) If Err <> 0 Then AbortMessage End If Dim strUniqueURL strUniqueURL = DateToNumber(msg.Date) & "." & msg.From If NOT isDirectSelected Then If strUniqueURL <> MSGID Then AbortMessage End If End If msgUniqueURL = strUniqueURL msgID = messageID msgCount = pop3.Count '================================================= ' First element of this array is 1 ' since POP3 server strangely start counting at 1 '================================================= ReTo = "" ReCC = "" Set Recipients = msg.Recipients msgStrReplyAll = msg.From msgReplyTo = msg.ReplyTo Dim strFirstAddress strFirstAddress = "" '============================================= ' We now need to get all the recipients, ' both normal and Carbon Copy (CC) recipients ' and store them in a string variable '============================================= For i = 0 To Recipients.Count - 1 separatorAll = ", " If i = 0 Then separatorTo = "" separatorCC = "" separatorReTo = "" separatorReCC = "" End If Set re = Recipients.item(i) If re.ReType = 0 Then ReTo = ReTo & separatorReTo & re.EMail separatorReTo = ", " If ( msgStrReplyFrom = "" ) AND ( GetFromAddress(re.EMail) <> "" ) Then msgStrReplyFrom = re.EMail End If If GetFromAddress(re.EMail) = "" Then msgStrReplyAll = msgStrReplyAll & separatorAll & re.EMail End If If strFirstAddress = "" Then strFirstAddress = re.Email else ReCC = ReCC & separatorReCC & re.EMail separatorReCC = ", " If ( msgStrReplyFrom = "" ) AND ( GetFromAddress(re.EMail) <> "" ) Then msgStrReplyFrom = re.EMail End If If GetFromAddress(re.EMail) = "" Then msgStrReplyCC = msgStrReplyCC & separatorCC & re.EMail separatorCC = ", " End If If strFirstAddress = "" Then strFirstAddress = re.Email End If Next '=================================================================================================== ' We haven't found a ReplyFrom address but if there is only one Recipients then this is probably it! '=================================================================================================== If msgStrReplyFrom = "" AND Recipients.Count = 1 Then msgStrReplyFrom = strFirstAddress msgSubject = msg.Subject msgTo = ReTo msgCC = ReCC msgFrom = msg.From msgFromName = msg.FromName Dim isHTMLBody If msg.HTMLBody <> "" Then msgIsHTML = "1" Else msgIsHTML = "0" End If msgDate = msg.Date msgSubject = msg.Subject Comment "Display attachements" '============================== ' Now deal with any attachments '============================== If allowAttachments Then Set Attachments = msg.Attachments '=================================================== ' If we make a message body attachment this is extra '=================================================== msgAttachmentCount = Attachments.Count '=========================================================== ' Attachments are put in a folder attachments/username ' And to avoid duplicate files they are put into subfolders ' named after the attachment date attachmentPath + datePath ' (attachmentPath is set in include.asp) '=========================================================== datePath = DateToNumber(msg.Date) & "." & msg.From & ".attach" msgAttachmentPath = datePath If allowAttachments Then If Attachments.Count > 0 Then '========================================================= ' First make the attachments subfolder ' attachmentPath contains the root path for attachments... ' It is taken from include.asp '========================================================= If fso.FolderExists( attachmentPath ) = False Then dim fba set fba=fso.CreateFolder( attachmentPath ) set fba=nothing End If '============================ ' And then the date subfolder '============================ If fso.FolderExists( attachmentPath & datePath & "\" ) = False Then dim fbd set fbd=fso.CreateFolder( attachmentPath & datePath & "\" ) set fbd=nothing End If End If '===================================================== ' Now deal with the real attachments if there are any '===================================================== separator = "," For i = 0 To Attachments.Count - 1 If i = Attachments.Count - 1 Then separator = "" End If Set at = Attachments(i) '================================================= ' Sometimes messages are sent as attachments .msg ' so rename this message.msg '================================================= If at.Name = ".msg" Then filePath = datePath & "\" & "message" & at.Name msgAttachments = msgAttachments & "message" & removeExtendedChars(at.Name) & separator Else filePath = datePath & "\" & at.Name msgAttachments = msgAttachments & removeExtendedChars(at.Name) & separator End If filePath = removeExtendedChars( filePath ) '=========================================== ' And now finally save the attachment in it '=========================================== If not fso.FileExists( attachmentPath & filePath ) Then at.SaveToFile( attachmentPath & filePath ) End If filePath = Replace( filePath, "\", "/" ) Next End If End if pop3.Disconnect '=================================================== ' Got all the message details - now save the message '=================================================== Dim foSaveFile, strMessageFilepath strMessageFilepath = addSlash(Replace(userPath, "/", "\"), "\") & DateToNumber(msg.Date) & "." & msg.From & ".eml" Set foSaveFile = FSO.CreateTextFile(strMessageFilepath, true) set Headers = msg.Headers foSaveFile.write( Headers.Text ) foSaveFile.write( msg.BodyText ) foSaveFile.close Set foSaveFile = nothing Dim foSaveFileASP, strMessageFilepathASP strMessageFilepathASP = addSlash(Replace(userWebPath, "/", "\"), "\") & DateToNumber(msg.Date) & "." & msg.From & ".asp" Set foSaveFileASP = FSO.CreateTextFile(strMessageFilepathASP, true) foSaveFileASP.writeLine( "<" & "%" ) foSaveFileASP.writeLine( "msgUniqueURL=""" & stripTags(msgUniqueURL) & """" ) foSaveFileASP.writeLine( "msgDate=""" & msgDate & """" ) foSaveFileASP.writeLine( "msgSubject=""" & stripTags(msgSubject) & """" ) foSaveFileASP.writeLine( "msgFrom=""" & stripTags(msgFrom) & """" ) foSaveFileASP.writeLine( "msgFromName=""" & stripTags(msgFromName) & """" ) foSaveFileASP.writeLine( "msgReplyTo=""" & stripTags(msgReplyTo) & """" ) foSaveFileASP.writeLine( "msgCC=""" & stripTags(msgCC) & """" ) foSaveFileASP.writeLine( "msgTo=""" & stripTags(msgTo) & """" ) foSaveFileASP.writeLine( "msgStrReplyFrom=""" & stripTags(msgStrReplyFrom) & """" ) foSaveFileASP.writeLine( "msgStrReplyAll=""" & stripTags(msgStrReplyAll) & """" ) foSaveFileASP.writeLine( "msgStrReplyCC=""" & stripTags(msgStrReplyCC) & """" ) foSaveFileASP.writeLine( "msgIsHTML=""" & msgIsHTML & """" ) foSaveFileASP.writeLine( "msgAttachmentPath=""" & msgAttachmentPath & """" ) foSaveFileASP.writeLine( "msgAttachmentCount=""" & msgAttachmentCount & """" ) foSaveFileASP.writeLine( "msgAttachments=""" & msgAttachments & """" ) foSaveFileASP.writeLine( "'END_HEADER_VARS" ) foSaveFileASP.writeLine( "If Session(""MAILACCESS"") <> ""Yes"" Then Response.End" ) foSaveFileASP.writeLine( "If Request.QueryString(""file"") <> """" Then" ) foSaveFileASP.writeLine( "%" & ">" ) foSaveFileASP.writeLine( "" ) If msgIsHTML Then foSaveFileASP.write( msg.HTMLBody ) Else If Instr(1, msg.Body, "", vbTextCompare) > 0 OR Instr(1, msg.Body, "
", vbTextCompare) > 0 Then foSaveFileASP.write( msg.Body ) Else foSaveFileASP.write( "
" & msg.Body )
   End If  
 End If  
 foSaveFileASP.writeLine( "" )
 foSaveFileASP.writeLine( "<" & "%" & " End If " & "%" & ">")
 foSaveFileASP.close
 Set foASPSaveFile = nothing   

 Set FSO = nothing
End Sub

%>")
color_v="F4F090"				# Background color for number of visites (Default = "F4F090")
color_p="4477DD"				# Background color for number of pages (Default = "4477DD")
color_h="66DDEE"				# Background color for number of hits (Default = "66DDEE")
color_k="2EA495"				# Background color for number of bytes (Default = "2EA495")
color_s="8888DD"				# Background color for number of search (Default = "8888DD")
color_e="CEC2E8"				# Background color for number of entry pages (Default = "CEC2E8")
color_x="C1B2E2"				# Background color for number of exit pages (Default = "C1B2E2")



#-----------------------------------------------------------------------------
# PLUGINS
#-----------------------------------------------------------------------------

# Add here all plugin files you want to load.
# Plugin files must be .pm files stored in 'plugins' directory.
# Uncomment LoadPlugin lines to enable a plugin after checking that perl
# modules required by the plugin are installed.

# Plugin: Tooltips
# Perl modules required: None
# Add some tooltips help on HTML report pages.
# Note that enabling this kind of help will increased HTML report pages size,
# so server load and bandwidth.
#
#LoadPlugin="tooltips"

# Plugin: DecodeUTFKeys
# Perl modules required: Encode and URI::Escape
# Allow AWStats to show correctly (in language charset) keywords/keyphrases
# strings even if they were UTF8 coded by the referer search engine.
#
#LoadPlugin="decodeutfkeys"

# Plugin: IPv6
# Perl modules required: Net::IP and Net::DNS
# This plugin gives AWStats capability to make reverse DNS lookup on IPv6
# addresses.
# Note: If you are interested in having country report, you should use the
# geoipfree or geoip plugin instead of enabled reverse DNS lookup.
#
#LoadPlugin="ipv6"

# Plugin: HashFiles
# Perl modules required: Storable
# AWStats DNS cache files are read/saved as native hash files. This increases
# DNS cache files loading speed, above all for very large web sites.
#
#LoadPlugin="hashfiles"

# Plugin: GeoIP
# Perl modules required: Geo::IP or Geo::IP::PurePerl (from Maxmind)
# Country chart is built from an Internet IP-Country database.
# This plugin is useless for intranet only log files.
# Note: You must choose between using this plugin (need Perl Geo::IP module 
# from Maxmind, database more up to date) or the GeoIPfree plugin (need
# Perl Geo::IPfree module, database less up to datetats_bw.css"
# Example: "/css/awstats_bw.css"
# Default: ""
#
StyleSheet=""


# Those color parameters can be used (if StyleSheet parameter is not used)
# to change AWStats look.
# Example: color_name="RRGGBB"	# RRGGBB is Red Green Blue components in Hex
#
color_Background="FFFFFF"		# Background color for main page (Default = "FFFFFF")
color_TableBGTitle="CCCCDD"		# Background color for table title (Default = "CCCCDD")
color_TableTitle="000000"		# Table title font color (Default = "000000")
color_TableBG="CCCCDD"			# Background color for table (Default = "CCCCDD")
color_TableRowTitle="FFFFFF"	# Table row title font color (Default = "FFFFFF")
color_TableBGRowTitle="ECECEC"	# Background color for row title (Default = "ECECEC")
color_TableBorder="ECECEC"		# Table border color (Default = "ECECEC")
color_text="000000"				# Color of text (Default = "000000")
color_textpercent="606060"		# Color of text for percent values (Default = "606060")
color_titletext="000000"		# Color of text title within colored Title Rows (Default = "000000")
color_weekend="EAEAEA"			# Color for week-end days (Default = "EAEAEA")
color_link="0011BB"				# Color of HTML links (Default = "0011BB")
color_hover="605040"			# Color of HTML on-mouseover links (Default = "605040") 
color_u="FFAA66"				# Background color for number of unique visitors (Default = "FFAA66")
color_v="F4F090"				# Background color for number of visites (Default = "F4F090")
color_p="4477DD"				# Background color for number of pages (Default = "4477DD")
color_h="66DDEE"				# Background color for number of hits (Default = "66DDEE")
color_k="2EA495"				# Background color for number of bytes (Default = "2EA495")
color_s="8888DD"				# Background color for number of search (Default = "8888DD")
color_e="CEC2E8"				# Background color for number of entry pages (Default = "CEC2E8")
color_x="C1B2E2"				# Background color for number of exit pages (Default = "C1B2E2")



#-----------------------------------------------------------------------------
# PLUGINS
#-----------------------------------------------------------------------------

# Add here all plugin files you want to load.
# Plugin files must be .pm files stored in 'plugins' directory.
# Uncomment LoadPlugin lines to enable a plugin after checking that perl
# modules required by the plugin are installed.

# Plugin: Tooltips
# Perl modules required: None
# Add some tooltips help on HTML report pages.
# Note that enabling this kind of help will increased HTML report pages size,
# so server load and bandwidth.
#
#LoadPlugin="tooltips"

# Plugin: DecodeUTFKeys
# Perl modules required: Encode and URI::Escape
# Allow AWStats to show correctly (in language charset) keywords/keyphrases
# strings even if they were UTF8 coded by the referer search engine.
#
#LoadPlugin="decodeutfkeys"

# Plugin: IPv6
# Perl modules required: Net::IP and Net::DNS
# This plugin gives AWStats capability to make reverse DNS lookup on IPv6
# addresses.
# Note: If you are interested in having country report, you should use the
# geoipfree or geoip plugin instead of enabled reverse DNS lookup.
#
#LoadPlugin="ipv6"

# Plugin: HashFiles
# Perl modules required: Storable
# AWStats DNS cache files are read/saved as native hash files. This increases
# DNS cache files loading speed, above all for very large web sites.
#
#LoadPlugin="hashfiles"

# Plugin: GeoIP
# Perl modules required: Geo::IP or Geo::IP::PurePerl (from Maxmind)
# Country chart is built from an Internet IP-Country database.
# This plugin is useless for intranet only log files.
# Note: You must choose between using this plugin (need Perl Geo::IP module 
# from Maxmind, database more up to date) or the GeoIPfree plugin (need
# Perl Geo::IPfree module, database less up to date).
# This plugin reduces AWStats speed of 8% !
#
#LoadPlugin="geoip GEOIP_STANDARD /pathto/GeoIP.dat"

# Plugin: GeoIPfree
# Perl modules required: Geo::IPfree version 0.2+ (from Graciliano M.P.)
# Country chart is built from an Internet IP-Country database.
# This plugin is useless for intranet only log files.
# Note: You must choose between "		# Color of text for percent values (Default = "606060")
color_titletext="000000"		# Color of text title within colored Title Rows (Default = "000000")
color_weekend="EAEAEA"			# Color for week-end days (Default = "EAEAEA")
color_link="0011BB"				# Color of HTML links (Default = "0011BB")
color_hover="605040"			# Color of HTML on-mouseover links (Default = "605040") 
color_u="FFAA66"				# Background color for number of unique visitors (Default = "FFAA66")
color_v="F4F090"				# Background color for number of visites (Default = "F4F090")
color_p="4477DD"				# Background color for number of pages (Default = "4477DD")
color_h="66DDEE"				# Background color for number of hits (Default = "66DDEE")
color_k="2EA495"				# Background color for number of bytes (Default = "2EA495")
color_s="8888DD"				# Background color for number of search (Default = "8888DD")
color_e="CEC2E8"				# Background color for number of entry pages (Default = "CEC2E8")
color_x="C1B2E2"				# Background color for number of exit pages (Default = "C1B2E2")



#-----------------------------------------------------------------------------
# PLUGINS
#-----------------------------------------------------------------------------

# Add here all plugin files you want to load.
# Plugin files must be .pm files stored in 'plugins' directory.
# Uncomment LoadPlugin lines to enable a plugin after checking that perl
# modules required by the plugin are installed.

# Plugin: Tooltips
# Perl modules required: None
# Add some tooltips help on HTML report pages.
# Note that enabling this kind of help will increased HTML report pages size,
# so server load and bandwidth.
#
#LoadPlugin="tooltips"

# Plugin: DecodeUTFKeys
# Perl modules required: Encode and URI::Escape
# Allow AWStats to show correctly (in language charset) keywords/keyphrases
# strings even if they were UTF8 coded by the referer search engine.
#
#LoadPlugin="decodeutfkeys"

# Plugin: IPv6
# Perl modules required: Net::IP and Net::DNS
# This plugin gives AWStats capability to make reverse DNS lookup on IPv6
# addresses.
# Note: If you are interested in having country report, you should use the
# geoipfree or geoip plugin instead of enabled reverse DNS lookup.
#
#LoadPlugin="ipv6"

# Plugin: HashFiles
# Perl modules required: Storable
# AWStats DNS cache files are read/saved as native hash files. This increases
# DNS cache files loading speed, above all for very large web sites.
#
#LoadPlugin="hashfiles"

# Plugin: GeoIP
# Perl modules required: Geo::IP or Geo::IP::PurePerl (from Maxmind)
# Country chart is built from an Internet IP-Country database.
# This plugin is useless for intranet only log files.
# Note: You must choose between using this plugin (need Perl Geo::IP module 
# from Maxmind, database more up to date) or the GeoIPfree plugin (need
# Perl Geo::IPfree module, database less up to date).
# This plugin reduces AWStats speed of 8% !
#
#LoadPlugin="geoip GEOIP_STANDARD /pathto/GeoIP.dat"

# Plugin: GeoIPfree
# Perl modules required: Geo::IPfree version 0.2+ (from Graciliano M.P.)
# Country chart is built from an Internet IP-Country database.
# This plugin is useless for intranet only log files.
# Note: You must choose between using this plugin (need Perl Geo::IPfree
# module, database less up to date) or the GeoIP plugin (need Perl Geo::IP
# module from Maxmind, database more up to date).
# Note: Activestate provide a corrupted version of Geo::IPfree 0.2 Perl
# module, so install it from elsewhere (from www.cpan.org for example).
# This plugin reduces AWStats speed of 10% !
#
#LoadPlugin="geoipfree"

# Plugin: GeoIP_Region_Maxmind
# Perl modules required: Geo::IP (from Maxmind)
# This plugin add a chart of hits by regions. Only regions for US and 
# Canada can be detected.
# Note: This plugin need Maxmind GeoIP Perl module AND the region database.
# Note: I get some problem with Maxmind Geo::IP Perl module with ActiveState
# on Windows but it works great on Linux with default Perl.
# You need to purchase a license from Maxmind to get/use the Region database.
# This plugin reduces AWStats speed.
#
#L)
color_titletext="000000"		# Color of text title within colored Title Rows (Default = "000000")
color_weekend="EAEAEA"			# Color for week-end days (Default = "EAEAEA")
color_link="0011BB"				# Color of HTML links (Default = "0011BB")
color_hover="605040"			# Color of HTML on-mouseover links (Default = "605040") 
color_u="FFAA66"				# Background color for number of unique visitors (Default = "FFAA66")
color_v="F4F090"				# Background color for number of visites (Default = "F4F090")
color_p="4477DD"				# Background color for number of pages (Default = "4477DD")
color_h="66DDEE"				# Background color for number of hits (Default = "66DDEE")
color_k="2EA495"				# Background color for number of bytes (Default = "2EA495")
color_s="8888DD"				# Background color for number of search (Default = "8888DD")
color_e="CEC2E8"				# Background color for number of entry pages (Default = "CEC2E8")
color_x="C1B2E2"				# Background color for number of exit pages (Default = "C1B2E2")



#-----------------------------------------------------------------------------
# PLUGINS
#-----------------------------------------------------------------------------

# Add here all plugin files you want to load.
# Plugin files must be .pm files stored in 'plugins' directory.
# Uncomment LoadPlugin lines to enable a plugin after checking that perl
# modules required by the plugin are installed.

# Plugin: Tooltips
# Perl modules required: None
# Add some tooltips help on HTML report pages.
# Note that enabling this kind of help will increased HTML report pages size,
# so server load and bandwidth.
#
#LoadPlugin="tooltips"

# Plugin: DecodeUTFKeys
# Perl modules required: Encode and URI::Escape
# Allow AWStats to show correctly (in language charset) keywords/keyphrases
# strings even if they were UTF8 coded by the referer search engine.
#
#LoadPlugin="decodeutfkeys"

# Plugin: IPv6
# Perl modules required: Net::IP and Net::DNS
# This plugin gives AWStats capability to make reverse DNS lookup on IPv6
# addresses.
# Note: If you are interested in having country report, you should use the
# geoipfree or geoip plugin instead of enabled reverse DNS lookup.
#
#LoadPlugin="ipv6"

# Plugin: HashFiles
# Perl modules required: Storable
# AWStats DNS cache files are read/saved as native hash files. This increases
# DNS cache files loading speed, above all for very large web sites.
#
#LoadPlugin="hashfiles"

# Plugin: GeoIP
# Perl modules required: Geo::IP or Geo::IP::PurePerl (from Maxmind)
# Country chart is built from an Internet IP-Country database.
# This plugin is useless for intranet only log files.
# Note: You must choose between using this plugin (need Perl Geo::IP module 
# from Maxmind, database more up to date) or the GeoIPfree plugin (need
# Perl Geo::IPfree module, database less up to date).
# This plugin reduces AWStats speed of 8% !
#
#LoadPlugin="geoip GEOIP_STANDARD /pathto/GeoIP.dat"

# Plugin: GeoIPfree
# Perl modules required: Geo::IPfree version 0.2+ (from Graciliano M.P.)
# Country chart is built from an Internet IP-Country database.
# This plugin is useless for intranet only log files.
# Note: You must choose between using this plugin (need Perl Geo::IPfree
# module, database less up to date) or the GeoIP plugin (need Perl Geo::IP
#