……
border=0 height=51 width=110>
……
As you see in this example I use an image for Submit Button, and another image for reset button, at the reset button I made a reload of the page (refresh) that really cleans all the fields.
At action=”view.asp?fromn=seeit” I use fromn to know if view.asp is being accessed from the creation phase or from the person that wants to view the digital postcard that was sent to them. I chose to set fromn to Seeit if we are still in the creation phase, and out if we are wanting to view the postcard.
In the file makin.html all we want to do is to send the information collected in the above FORM. The fields that im using are the ones named above: R1, nameto, mailto, namefrom, emailfrom.
FILE: view.asp
This the the important part, here we will see if there is a person previewing the card before sending it, or a person viewing card already sent. We will take all the information sent by the POST form of the previous file.
Dim fromn
Dim ident
Dim psw
erring tells us if the card already
exists. By default, we assum it does.
Dim erring
I normaly use 0 and 1 for boolean,
cause it is quicker
erring = 0
Receiving the information
from the link that led to this file;
this one tell us
what kind of access were doing
fromn = Request.QueryString(“fromn”)
here we take the ID from the post card,
for us to know wich card we want to see.
All this information will be compared with
the one in the database.
ident = Request.QueryString(“ident”)
This is the password
We do not want a person that knows there exists a
postcard with ID 13 tries to see one with ID 12.
We will generate a random number for the password
psw = Request.QueryString(“psw”)
if fromn = “seeit” then
If we just want to see the preview
I have created sessions to keep the information,
so that I can view the data at any step
session(“postal”) = Request.form(“R1”)
session(“namefrom”) = Request.form(“namefrom”)
session(“emailfrom”) = Request.form(“emailfrom”)
session(“nameto”) = Request.form(“nameto”)
session(“emailto”) = Request.form(“emailto”)
session(“message”) = Request.form(“message”)
else
Someone is wanting to see an already sent card
Open the DB connection
Set Conn = Server.CreateObject(“ADODB.Connection”)
The DSN you made for the database
conn.open “DSN=postal;”
Create a recordset
Set rs = Server.CreateObject(“ADODB.Recordset”)
This is asimple SQL statement that see if the ID and
password are connected in the DB
SQLStmt = “SELECT * FROM postal WHERE ID_POSTAL = ” %26amp; _
CInt(ident) %26amp; ” AND passw = ” %26amp; CInt(psw)
Execute the SQL statementz
rs.Open SQLstmt, Conn, 1, 2
if rs.EOF then
Post card doesnt exist or invalid password!
erring = 1
else
Postcard does exist. Populate the session
variables with the database info.
session(“postal”) = rs(“postal”)
session(“namefrom”) = rs(“namefrom”)
session(“emailfrom”) = rs(“emailfrom”)
session(“nameto”) = rs(“nameto”)
session(“emailto”) = rs(“emailto”)
session(“message”) = rs(“message”)
if fromn have “seeit we will show =
end if
end if
%> marginheight=”0″
marginwidth=”0″
topmargin=”0″
leftmargin=”0″
background=”images/something.gif”
bgcolor=”#002400″
text=”#FCC403″
>
At this time we will see if there has been an error
We also want to make sure the form data is valid.
if erring <> 1 and (fromn=”seeit” or fromn=”out”) and
session(“postal”) <> “” then
if everything is correct we show the information
%>
.jpg” hspace=”5″
border=”2″ WIDTH=”354″ HEIGHT=”231″>
bordercolor=”#000000″ height=”202″>
From:
Email:
To:
Email:
Message:
if fromn == “seeit” we will show the
buttons “to send” and “to retry”
if fromn=”seeit” then
%>
height=”53″ border=”0″>
%26amp;nbsp;%26amp;nbsp;%26amp;nbsp;%26amp;nbsp;%26amp;nbsp;%26amp;nbsp;%26amp;nbsp;
height=”53″ border=”0″>
Someone is viewing a card already made
Show the reply button
else
%>
width=”176″>
end if
This else will only be reached if there is no card
(i.e. the password was incorrect) We need to show
an error message.
else
%>
border=”0″>
end if
This is where i remove all the postcards
in the DB with more than 30 days old.
I do not want to make a huge DB, so I clean
it just to have the messages of the last 30 days.
You can now ask.. “-So, why did you put this code here?”
My response is:
“- Because this is the place where you fill the DB,
so if you are going to put another record
at the DB, lets clean some old stuff.”
That being said, lets clean the db! 🙂
Here we will get the system date (yes, the server date)
d = now()
We will decrease 30 days at the date we have
d = DateAdd(“d”,-30,d)
Set Conn = Server.CreateObject(“ADODB.Connection”)
conn.open “DSN=postal;”
Set rs = Server.CreateObject(“ADODB.Recordset”)
Run a SQL query that will remove all out of date records
SQLStmt = “DELETE FROM postal WHERE data < #" %26amp; d %26amp; "#"
Run the query
rs.Open SQLstmt,Conn,1,2
%>
FILE: enviado.asp
At this time, we will validate all the information that it is supposed to sent as well as the data that we
will put in the DB. If everything is well we will send the information to the receiver by e-mail. I will
explain later how to get the free e-mail component, how to register it at the server, and how to use it.
This is the variable that I use to the ID
of the post card
Dim identifier
goby is anotther boolean to
see if there is an error in the data
Dim goby
goby = 1 lets start it with True
%>
marginheight=”0″
marginwidth=”0″
topmargin=”0″
leftmargin=”0″
background=”images/something.gif”
bgcolor=”#002400″
text=”#FCC403″
>
Lets validate the name; the length of the
name must be at least 2 characters long
if len(session(“nameto”)) < 2 then
So if there is any problem there will be an error
goby = 0
end if
if len(session(“namefrom”)) < 2 then
goby = 0
end if
Validate the e-mail, I have written
an arthicle about this, take a look at it
If Len(session(“emailfrom”)) <= 5 Then
goby = 0
Else
If InStr(1, session(“emailfrom”), “@”, 1) < 2 Then
goby = 0
Else
If InStr(1,session(“emailfrom”), “.”, 1) < 4 Then
goby = 0
End If
End If
End If
If Len(session(“emailto”)) <= 5 Then
goby = 0
Else
If InStr(1, session(“emailto”), “@”, 1) < 2 Then
goby = 0
Else
If InStr(1,session(“emailto”), “.”, 1) < 4 Then
goby = 0
End If
End If
End If
Make sure the message is less than 500 characters.
If len(session(“message”)) >= 500 Then
goby = 0
End If
If there are errors, then let the user know
And make him/her correct the data
if goby = 0 then %>
height=”53″ border=”0″>
end if
There are no errors. Put the data in the DB
and send the link to the receiver via email.
If goby = 1 then
Set Conn = Server.CreateObject(“ADODB.Connection”)
conn.open”DSN=postal;”
Set rs = Server.CreateObject(“ADODB.Recordset”)
We need to insert a record into the database
SQLStmt = “INSERT INTO Postcard (” %26amp; _
“passw, postal, nameto, namefrom, ” %26amp; _
“emailfrom, emailto, message, data) ” %26amp; _
“VALUES (”
We need a random number for our password, so
use randomize/rnd to make a random number.
randomize()
passw = Int((9999-1)*Rnd + 1)
SQLStmt = SQLStmt %26amp; passw %26amp; “,” %26amp; session(“postal”) %26amp; _
“,” %26amp; session(“nameto”) %26amp; “,” %26amp; _
session(“namefrom”) %26amp; “,” %26amp; _
session(“emailfrom”) %26amp; “,” %26amp; _
session(“emailto”) %26amp; “,” %26amp; _
session(“message”) %26amp; “,” %26amp; session(“data”) %26amp; “)”
Write information to database
rs.Open SQLStmt, Conn
Now you will see how to use the Free Persits
E-Mail component
First, Create the Mail object
Set Mail = Server.CreateObject(“Persits.MailSender”)
Put the mail server you are using
Mail.Host = “mail.mailserver.com”
Send the information of the
person that is sending the e-mail
Mail.From = session(“emailfrom”)
Who youre sending the email to.
Mail.FromName = session(“namefrom”)
Put the email to send to, as well as the name of the person
Mail.AddAddress session(“emailto”), session(“nameto”)
Subject of the email
Mail.Subject = “Digital PostCard to ” %26amp; session(“nameto”)
Print the body of the email
enviar = “Let me inform you that ” %26amp; session(“namefrom”) %26amp; _
Chr(13) %26amp; Chr(10) %26amp; _
“have sent you a digital card. To see ” %26amp; _
“it follow the link :” %26amp; _
Chr(13) %26amp; Chr(10) %26amp; Chr(13) %26amp; Chr(10) %26amp; _
“http://www.???????.com/view.asp?fromn=out%26amp;” %26amp; _
“ident=” %26amp; identifier %26amp; _
“%26amp;psw=” %26amp; passw %26amp; ” ” %26amp; Chr(13) %26amp; Chr(10) %26amp; _
” your card is available till the day ” %26amp; _
formatDateTime(d,2) %26amp; _
Chr(13) %26amp; Chr(10) %26amp; Chr(13) %26amp; Chr(10) %26amp; _
Chr(13) %26amp; Chr(10) %26amp; _
” Thanks”
Mail.Body = enviar
Just skip if there are any errors…
On Error resume Next
This will send the email
Mail.Send
Display an error message if there was an error
If Err <> 0 Then %>
border=”0″>
Comment out this code if you want to see
the error number
Response.Write “
” %26amp; “Error found : ” %26amp; _
Err.description %26amp; “
”
Response.Write “SERVER SIDE ERROR, ” %26amp; _
“contact site webmaster.”
goby = 0
Else
Response.Write “
POSTCARD WAS SENT ” %26amp; _
“NO PROBLEMS…
”
End if
End if
I think that you have seen that I use the JavaScript history.back
and go. I use it so when the user come back he dont
loose any information already entered into the form.
%>
Get the E-Mail free component:http://www.aspemail.com/
Let me explain how to set it up. Put the component wherever you want, I usually put the components I use
in the directory C:\Inetpub\components\. Then register it (after you put it in the directory you want) by
typing:
regsvr32 AspEmail.dll
from the command line. Thats all! Remember, the email code wont work unless you register the component!
If you have any questions, please contact me:http://www.4guysfromrolla.com/webtech/joao.shtml
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 使用aspmail组件发送数字卡片_邮件服务器
分享到:
更多 (0)
相关推荐     MySQL常用的实用命令
     mysql的root密码修改
     Linux如何查看JDK的安装路径
     Linux硬盘分区生效命令partprobe
     Nginx下无法使用中文URL的解决方法
     Linux上查看用户创建日期的几种方法
© 2018-2021 IDC资讯中心
为学习和知识分享目的,本站文章部分自网络,本站文章部分自网络,如有侵权,请联系:2653426586@qq.com QQ:2653426586
如有其他需求,请联系:2653426586@qq.com QQ:2653426586