Forum Moderators: open

Message Too Old, No Replies

Need help with aspmail

I need to know if this is even possible

         

utahman3431

10:59 pm on Oct 28, 2004 (gmt 0)

10+ Year Member



I'm kinda new to the asp world. I just created a form, and am trying to use aspmail to process it. I had found a sendmail script that I wasn't able to work. I don't know if its because the server I'm on doesn't use CDONTS or not. The script was supposed to email me the results of a form using an html template that I had previously created. Is there a way to do this using ASPmail?

defanjos

11:27 pm on Oct 28, 2004 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



welcome to WebmasterWorld utahman3431

For ASPmail to work, it has to be installed on your server.
CDONTS is a different email component.

First, find out which email component your hosting company has installed on your server, then do some searches online for its tutorial. For example "aspmail tutorial" or "aspemail tutorial".

utahman3431

12:01 am on Oct 29, 2004 (gmt 0)

10+ Year Member



I know they have aspmail, cause I was able to use it to send a text email to myself with the form results. I was looking at their services, and it looks like they also have cdosys on the server as well. I was trying to update my sendmail script with the correct cdosys settings. Could someone tell me if this even looks close to correct?

<%
'---------------------------------------------------------------------------------------------------
'FORM MAIL SCRIPT
'----------------
'usage:
'<form ACTION="sendmail.asp" ...>
'
'Hidden fields to use in the form:
'redirect- the url to redirect to when the mail has been sent (REQUIRED)
'mailto- the email address of the recipient (separate multiple recipients with

commas) (REQUIRED)
'cc- the email address of the cc recipient (separate multiple recipients

with commas) (OPTIONAL)
'bcc- the email address of the bcc recipient (separate multiple recipients

with commas) (OPTIONAL)
'mailfrom- the email address of the sender (REQUIRED)
'subject- the subject line of the email (REQUIRED)
'message- the message to include in the email above the field values. not used when a

template is
' being used. (OPTIONAL)
'template- specifies a text or html file to use as the email template, relative to the

location of the
' sendmail script. (e.g. ../email.txt) Templates should reference form

fields like this: [$Field Name$]
'html- if this has the value "yes", the email will be sent as an html email. only

used if a template is supplied.
'testmode- if this is set to "yes", the email contents will be written to the screen

instead of being emailed.
'---------------------------------------------------------------------------------------------------

option explicit

function getTextFromFile(path)
dim fso, f, txt
set fso = Server.CreateObject("CDO.Message")
if not fso.fileexists(path) then
getTextFromFile = ""
exit function
end if
set f = fso.opentextfile(path,1)
if f.atendofstream then txt = "" else txt = f.readall
f.close
set f = nothing
set fso = nothing
getTextFromFile = txt
end function
set objConfig = Server.CreateObject("CDO.Configuration")
'Configuration:
objConfig.Fields(cdoSendUsingMethod) = cdoSendUsingPort

objConfig.Fields(cdoSMTPServer)="smtp.1and1.com"
objConfig.Fields(cdoSMTPServerPort)=25
objConfig.Fields(cdoSMTPAuthenticate)=cdoBasic
objConfig.Fields(cdoSendUserName) = "m37089278-creditapps"
objConfig.Fields(cdoSendPassword) = "classic"

'Update configuration
objConfig.Fields.Update
Set objMail.Configuration = objConfig

dim redir, mailto, mailfrom, subject, item, body, cc, bcc, message, html, template, usetemplate,

testmode
redir = request.form("redirect")
mailto = request.form("mailto")
cc = request.form("cc")
bcc = request.form("bcc")
mailfrom = request.form("mailfrom")
subject = request.form("subject")
message = request.form("message")
template = request.form("template")
testmode = lcase(request.form("testmode"))="yes"

if len(template) > 0 then template = getTextFromFile(server.mappath(template))
if len(template) > 0 then usetemplate = true else usetemplate = false
dim msg : set msg = server.createobject("CDO.Message")
if usetemplate and lcase(request.form("html")) = "yes" then
objMail.bodyformat = 0 '(html)
objMail.mailformat = 0 '(mime)
end if
objMail.subject = subject
objMail.to = mailto
objMail.from = mailfrom
if len(cc) > 0 then objMail.cc = cc
if len(bcc) > 0 then objMail.bcc = bcc

if not usetemplate then
body = body & message & vbcrlf & vbcrlf
else
body = template
end if
for each item in request.form
select case item
case "redirect", "mailto", "cc", "bcc", "subject", "message", "template", "html",

"testmode"
case else
if not usetemplate then
if item <> "mailfrom" then body = body & item & ": " &

request.form(item) & vbcrlf & vbcrlf
else
body = replace(body, "[$" & item & "$]",

replace(request.form(item),vbcrlf,"<br>"))
end if
end select
next

if usetemplate then 'remove any leftover placeholders
dim rx : set rx = new regexp
rx.pattern = "\[\$.*\$\]"
rx.global = true
body = rx.replace(body, "")
end if

objMail.TextBody = body
if testmode then
if lcase(request.form("html")) = "yes" then
response.write "<pre>" & vbcrlf
response.write "Mail to: " & mailto & vbcrlf
response.write "Mail from: " & mailfrom & vbcrlf
if len(cc) > 0 then response.write "Cc: " & cc & vbcrlf
if len(bcc) > 0 then response.write "Bcc: " & bcc & vbcrlf
response.write "Subject: " & subject & vbcrlf & string(80,"-") & "</pre>"
response.write body
else
response.write "<html><head><title>Sendmail.asp Test Mode</title></head><body><pre>" &

vbcrlf
response.write "Mail to: " & mailto & vbcrlf
response.write "Mail from: " & mailfrom & vbcrlf
if len(cc) > 0 then response.write "Cc: " & cc & vbcrlf
if len(bcc) > 0 then response.write "Bcc: " & bcc & vbcrlf
response.write "Subject: " & subject & vbcrlf & vbcrlf
response.write string(80,"-") & vbcrlf & vbcrlf & "<span style=""color:blue;"">"
response.write body & "</span>" & vbcrlf & vbcrlf
response.write string(80,"-") & vbcrlf & "**END OF EMAIL**</pre></body></html>"
end if
else
objMail.Send
response.redirect redir
end if
set objMail = nothing
set objConfig = nothing
%>