OK,
it's an old version (for CF 3), but you can modify it to
suite your needs under CF 4 (I added quickly some CF 4 code).
The registry tags are different under CF4 - so you MUST change it,
the rest of the code should work OK.
Don't use it for CF 4.5, thre are better ways to properly format the
emails under CF 4.5. If you want more help - contact me off-list.
Throw out the attachments section, it will not work without cf_upload
tag (written by me) :(
<!--- CF_WebMail start code --->
<!-- CF_WebMail - written by Miro Hryckowiak - [EMAIL PROTECTED] -->
<!--- Variables --->
<CFSET Error = "Error">
<CFSET Jest="Nie">
<CFSET ErN = 0>
<CFSET Status="">
<!--- check CF version? --->
<CFSET Jest="Nie">
<CFIF Server.OS.Name IS "UNIX">
<CFSET ErN = (ErN + 1)>
<CFSET Error = Error & "<BR>" & ErN & ". Gereral Configuration Error. Cannot
process.">
</CFIF>
<CFIF Server.ColdFusion.ProductVersion CONTAINS "3, 1">
<CFSET WersjaCF = "3">
<CFELSEIF Server.ColdFusion.ProductVersion CONTAINS "4">
<CFSET WersjaCF = "4">
<CFELSE>
<CFSET ErN = (ErN + 1)>
<CFSET Error = Error & "<BR>" & ErN & ". Wrong Cold Fusion version. Cannot
process.">
</CFIF>
<!--- Error display: --->
<CFIF Error IS NOT "Error">
<CFOUTPUT>
#Error#
<p>
<CFIF Trim(CGI.HTTP_Referer) IS NOT "">Back to <a
href="#CGI.HTTP_Referer#">#CGI.HTTP_Referer#</a></CFIF>
</CFOUTPUT>
<CFABORT>
</CFIF>
<!--- End version checking --->
<!--- checkt the required parameters? --->
<CFIF Not IsDefined("ATTRIBUTES.SendTo")><CFSET ErN = (ErN + 1)>
<CFSET Error =Error & "<BR>" & ErN & ". You must define the SendTo
(recipient) address.">
</CFIF>
<CFIF Not IsDefined("ATTRIBUTES.From")><CFSET ErN = (ErN + 1)>
<CFSET Error = Error & "<BR>" & ErN & ". You must define the From (sender)
address.">
</CFIF>
<CFIF Not IsDefined("ATTRIBUTES.Subject")><CFSET ErN = (ErN + 1)>
<CFSET Error = Error & "<BR>" & ErN & ". You must define the message
Subject.">
</CFIF>
<CFIF Not IsDefined("ATTRIBUTES.MessText")><CFSET ErN = (ErN + 1)>
<CFSET Error = Error & "<BR>" & ErN & ". You must define the message text
(Body).">
</CFIF>
<CFIF Not IsDefined("ATTRIBUTES.Attachement")><CFSET ErN = (ErN + 1)>
<CFSET Error = Error & "<BR>" & ErN & ". Please supply the required
parameter Attachement (0-5).">
</CFIF>
<!--- Error display: --->
<CFIF Error IS NOT "Error">
<CFOUTPUT>
#Error#
<p>
<CFIF Trim(CGI.HTTP_Referer) IS NOT "">Back to <a
href="#CGI.HTTP_Referer#">#CGI.HTTP_Referer#</a></CFIF>
</CFOUTPUT>
<CFABORT>
</CFIF>
<!--- set OS version --->
<CFIF (Server.OS.Version Contains "4") AND (Server.OS.Name IS "Windows NT")>
<CFSET AktOS = "NT4">
<CFELSEIF Server.OS.Version CONTAINS "95">
<CFSET AktOS = "Win95">
</CFIF>
<!--- read registry settings --->
<!--- if it is ColdFusion 3 --->
<CFIF WersjaCF IS "3">
<CFADMIN_REGISTRY_SET
BRANCH="HKEY_LOCAL_MACHINE\SOFTWARE\Allaire\ColdFusion\CurrentVersion"
TYPE="KEY" ENTRY="Mail">
<CFADMIN_REGISTRY_GET BRANCH
="HKEY_LOCAL_MACHINE\SOFTWARE\Allaire\ColdFusion\CurrentVersion\Mail"
TYPE="STRING" NAME="MailServer" ENTRY="MailServer">
<!--- if the mailserver set to localhost, ignore the email --->
<CFIF (Trim(MailServer) IS "localhost") OR (Trim(MailServer) IS "") OR
(Trim(MailServer) IS "127.0.0.1")>
<CFSET ErN = (ErN + 1)>
<CFSET Error = Error & "<BR>" & ErN & ". You must set up a valid mail
server using CF Administrator.">
<CFOUTPUT>#Error#</CFOUTPUT><CFABORT>
<CFELSE>
<CFSET SMTPS = "#MailServer#">
</CFIF>
<CFADMIN_REGISTRY_GET BRANCH
="HKEY_LOCAL_MACHINE\SOFTWARE\Allaire\ColdFusion\CurrentVersion\Mail"
TYPE="STRING" NAME="BaseDirectory" ENTRY="BaseDirectory">
<CFSET SpoolerKat = "#BaseDirectory#\Spool\">
<!--- read timezone info --->
<CFADMIN_REGISTRY_GET BRANCH
="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation"
TYPE="STRING" NAME="StrefaCzasu" ENTRY="StandardName">
<CFSET TZone = "#StrefaCzasu#">
<CFIF AktOS IS "Win95">
<CFSET TZone = "#Replace("#StrefaCzasu#", " Standard Time", "")#">
<CFADMIN_REGISTRY_GET BRANCH
="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Time
Zones\#TZone#" TYPE="STRING" NAME="TZDispl" ENTRY="Display">
<CFELSE>
<CFADMIN_REGISTRY_GET BRANCH ="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Time Zones\#TZone#" TYPE="STRING" NAME="TZDispl"
ENTRY="Display">
</CFIF>
<!--- if it is ColdFusion 4 version --->
<CFELSE>
<CFREGISTRY ACTION=SET ENTRY="Mail" BRANCH
="HKEY_LOCAL_MACHINE\SOFTWARE\Allaire\ColdFusion\CurrentVersion" TYPE="KEY">
<CFREGISTRY ACTION=GET BRANCH
="HKEY_LOCAL_MACHINE\SOFTWARE\Allaire\ColdFusion\CurrentVersion\Mail"
TYPE="STRING" NAME="MailServer" ENTRY="MailServer">
<CFIF (Trim(MailServer) IS "localhost") OR (Trim(MailServer) IS "") OR
(Trim(MailServer) IS "127.0.0.1")>
<CFSET ErN = (ErN + 1)>
<CFSET Error = Error & "<BR>" & ErN & ". You must set up a valid mail
server using CF Administrator.">
<CFOUTPUT>#Error#</CFOUTPUT><CFABORT>
<CFELSE>
<CFSET SMTPS = "#MailServer#">
</CFIF>
<CFREGISTRY ACTION=GET BRANCH
="HKEY_LOCAL_MACHINE\SOFTWARE\Allaire\ColdFusion\CurrentVersion\Mail"
TYPE="STRING" NAME="BaseDirectory" ENTRY="BaseDirectory">
<CFSET SpoolerKat = "#BaseDirectory#\Spool\">
<!--- get the time zone --->
<CFREGISTRY ACTION=GET BRANCH
="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation"
TYPE="STRING" NAME="StrefaCzasu" ENTRY="StandardName">
<CFSET TZone = "#StrefaCzasu#">
<CFIF AktOS IS "Win95">
<CFSET TZone = "#Replace("#StrefaCzasu#", " Standard Time", "")#">
<CFREGISTRY ACTION=GET BRANCH
="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Time
Zones\#TZone#" TYPE="STRING" NAME="TZDispl" ENTRY="Display">
<CFELSE>
<CFREGISTRY ACTION=GET BRANCH
="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time
Zones\#TZone#" TYPE="STRING" NAME="TZDispl" ENTRY="Display">
</CFIF>
</CFIF> <!--- en if CF version is 3 --->
<CFSET Strefa = "#Mid("#TZDispl#", 5, 6)#">
<!--- Attachments --->
<CFIF Attributes.Attachement EQ 0>
<CFSET STATUS = Status & "<small>File attachement not allowed.</small>">
<CFELSE>
<CFSET Petle = "#Attributes.Attachement#">
<CFSET Lista = "">
<CFLOOP Index="Lp" From="1" To="#Petle#">
<CFSET Name = "Attributes.File" & Lp>
<CFIF IsDefined("#Name#")>
<CFIF FileExists("#Evaluate(Name)#")>
<CFSET Plik = "#Lista#">
<CFSET Name = "#Evaluate(Name)#">
<CFSET Lista= ListAppend("#Plik#","#Name#")>
</CFIF>
</CFIF>
</CFLOOP>
</CFIF>
<!--- other mail parameters --->
<CFSET From = "#Attributes.From#">
<CFSET SendTo = "#Attributes.SendTo#">
<CFSET Subject = "#Attributes.Subject#">
<CFSET MessText = "#Attributes.MessText#">
<CFIF IsDefined("Attributes.Server")>
<CFSET MailFile = "Server: #Attributes.Server##Chr(10)#">
<CFELSE>
<CFSET MailFile = "Server: #SMTPS##Chr(10)#">
</CFIF>
<CFIF IsDefined("Attributes.Port")>
<CFSET MailFile = "Port: #Attributes.Port##Chr(10)#">
</CFIF>
<CFIF IsDefined("Attributes.Timeout")>
<CFSET MailFile = "Timeout: #Attributes.Timeout##Chr(10)#">
</CFIF>
<CFSET MailFile = MailFile & "Date: #DateFormat('#Now()#','ddd, dd mmm
yyyy')##TimeFormat('#Now()#', ' HH:mm:ss')# #Strefa##Chr(10)#">
<CFSET MailFile = MailFile & "From: #From##Chr(10)#">
<CFSET MailFile = MailFile & "To: #ReplaceList("#HTMLEditFormat(SendTo)#",
"<,>", ",")##Chr(10)#">
<CFSET MailFile = MailFile & "Subject: #Subject##Chr(10)#">
<CFIF IsDefined("ATTRIBUTES.CCopy")>
<CFSET CCopy = "#ATTRIBUTES.CCopy#"><CFIF Trim(CCopy) IS NOT "">
<CFSET MailFile = MailFile & "CC: #CCopy##Chr(10)#"></CFIF>
</CFIF>
<CFIF IsDefined("ATTRIBUTES.BCC")>
<CFSET BCC = "#ATTRIBUTES.BCC#"><CFIF Trim(BCC) IS NOT "">
<CFSET MailFile = MailFile & "BCC: #ATTRIBUTES.BCC##Chr(10)#"></CFIF>
</CFIF>
<CFIF IsDefined("ATTRIBUTES.ReplyTo")>
<CFSET ReplyTo = "#ATTRIBUTES.ReplyTo#"><CFIF Trim(ReplyTo) IS NOT "">
<CFSET MailFile = MailFile & "Reply-To: #ReplyTo##Chr(10)#"></CFIF>
</CFIF>
<CFIF Trim(Lista) IS NOT "">
<CFSET Attachement = "#Lista#">
<CFSET MailFile = MailFile & "Attach: #Lista##Chr(10)#">
</CFIF>
<CFSET Mime="text">
<CFIF IsDefined("ATTRIBUTES.Type")>
<CFIF Attributes.Type IS "HTML">
<CFSET Mime = "HTML">
<CFSET MailFile = MailFile & "MIME-Version: 1.0#Chr(10)#Content-Type:
text/html; charset=us-ascii#Chr(10)#Content-Transfer-Encoding:
7bit#Chr(10)#">
</CFIF>
</CFIF>
<CFSET MailFile = MailFile & "#Chr(10)##MessText#">
<CFSET MailFile = MailFile & "#Chr(10)#">
<!--- write to CF mail spooler --->
<CFSET Teraz = "#DateFormat('#Now()#','yyyy, mm, dd')#">
<CFSET Teraz = Teraz & " 00:00:00">
<CFSET Numer = "#DateDiff("s", "{ts '#Teraz#'}", "#Now()#")#">
<CFFILE Action="Write" File="#SpoolerKat#cfm#Numer#.tmp"
Output="#MailFile#">
<CFMAIL To="#From#" From="#From#" Subject="Confirmation">
The message "#Subject#" has been sent
to #SendTo#
CF_WebMail
</CFMAIL>
<!--- CF_WebMail end code --->
Best,
Miro.
------------------------------------------------------------------------------
Archives: http://www.mail-archive.com/[email protected]/
To Unsubscribe visit
http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/cf_talk or send a
message to [EMAIL PROTECTED] with 'unsubscribe' in the body.