Search Search

#1 worldwide
FREE Coding Lessons

since 1996
   THE BEST WAY to learn ASP & Asp.net!
Advertise Here!
click for details
Credits Host:
DiscountASP.net
Server Admin:
The "Team"
Contact Info.
Charles M. Carroll

my Blog

Subroutines w/Dictionary Objects by Charles Carroll

Subroutines using traditional parameters cannot support optional or variable parameters. Thanks to the wonders of dictionary objects, see:
http://www.learnasp.com/freebook/asp/dictionary.aspx
subroutines can accept merely one dictionary objects which can contain simple variables, objects and other items to pass in. 

   filename=/learn/test/mailtool1.asp

<Test Script Below>


<!--#include file="lib_mailtool.asp"-->
<%response.buffer=true%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>MailTool Demo</title>
</head>
<body bgcolor="#FFFFFF">
<%
    set mailparms=server.CreateObject("Scripting.Dictionary")
    mailparms.Add "goodmailmsg", ""
    
    mailparms.Add "who", "Sith Lord"
    mailparms.Add "whoemail", "darthcarroll@asplists.com"
        
    mailparms.Add "whofrom","Anakin Skywalker"
    mailparms.Add "whofromemail", "jedi@senate.com"
    
    mailparms.Add "subject", "need help?"

    BodyOfMail="I am thinking about"
    BodyOfMail=BodyOfMail & vbcrlf & "the dark side!!!" 
    BodyOfMail=BodyOfMail &    vbcrlf & "Let me know if you need a hand!"

    mailparms.Add "body", BodyOfMail
    
    Call MailThat(mailparms)
    set mailparms=nothing
%>
</body>
</html>
    

The Include file lib_mailtool.asp looks like this:

   filename=/learn/test/lib_mailtool.asp

<Test Script Below>


<%
SUB MailThat(Dictparm)
    goodmailmsg=Dictparm.item("goodmailmsg")
    who=Dictparm.item("who")
    whoemail=Dictparm.item("whoemail")
    
    whofrom=Dictparm.item("whofrom")
    whofromemail=Dictparm.item("whofromemail")
    
    whobcc=Dictparm.item("whobcc")
    whobccemail=Dictparm.item("whobccemail")
    
    subject=Dictparm.item("subject")
    mailbody=Dictparm.item("body")

    
    IF instr(whoemail,"@") >0 THEN
        goodemail=true
    ELSE
        goodemail=false
        reason="bad target mail:" & whoemail & " "
        tempSUBJ="bad signup"
    END IF

    Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
    'Mailer.RemoteHost = "mail.innerhost.com"
    Mailer.RemoteHost = "localhost"
    Mailer.FromName = whofrom
    Mailer.FromAddress = whofromemail
    Mailer.AddRecipient who, whoemail
    Mailer.AddBCC whobcc,whobccemail
    mailer.subject = subject
    Mailer.BodyText = mailbody
    If goodemail=false THEN
        response.write "<p align='left'><font face='Comic Sans MS' color='#8000FF'>"
        response.write "<big>Errors in processing request!<br>"
        response.write "Your email address was invalid<br>"
        response.write "<a href='/search'>Search Is Here</a> If You Wanted That!<br>"
        response.write "OR Enter Correct Email address in previous form</big></font></p>"
    END IF
    
    IF Mailer.SendMail and goodemail=TRUE THEN
        If goodmailmsg="" THEN
            response.write "mail sent to " & who & "(" & whoemail & ")"
        ELSE
            response.write goodmailmsg
        END IF 
    ELSE
        IF goodemail=TRUE THEN
            badmailsend=TRUE
        END IF
    END IF
    
    
    IF badmailsend=TRUE THEN
        response.write "Error Sending Mail!<br>"
        response.write mailer.response & reason
        response.write "<br>Sorry! Try Later...<br>"
    END IF
End Sub
%>

Chaz Wish List
Tall Tip $5
Grande Tip $20
Venti Tip $39
Tip Jar Thanks
2004 Thanks
2005 Thanks
HUGE Tip -love site