CDONTS객체를 사용한 이메일 발송예제는 너무나 쉽습니다.

아래는 직접사용하고 있는 소스인데 이미지 부분만 빼고 텍스트는 변경하고 올립니다.

참고하세요.


<%
  mail = name & "<table width='658' border='0' cellspacing='0' cellpadding='0'>"
  mail = mail & "<tr bgcolor='BDBABD'>"
  mail = mail & "<td colspan='3' height='1'></td>"
  mail = mail & "</tr>"
  mail = mail & "<tr>"
  mail = mail & "<td bgcolor='BDBABD' width='1'></td>"
  mail = mail & "<td width='656'>"
  mail = mail & "<table width='656' border='0' cellspacing='0' cellpadding='0'>"
  mail = mail & "<tr>"
  mail = mail & "<td></td>"
  mail = mail & "</tr>"
  mail = mail & "<tr>"
  mail = mail & "<td height='8'></td>"
  mail = mail & "</tr>"
  mail = mail & "<tr>"
  mail = mail & "<td align='center'><table width='566' border='0' cellspacing='0' cellpadding='0'>"
  mail = mail & "<tr>"
  mail = mail & "<td align='center'><p><strong>메일 발송 예제입니다</strong></p></td>"
  mail = mail & "</tr>"
  mail = mail & "</table></td>"
  mail = mail & "</tr>"
  mail = mail & "<tr>"
  mail = mail & "<td align='center'>&nbsp;</td>"
  mail = mail & "</tr>"
  mail = mail & "<tr>"
  mail = mail & "</tr>"
  mail = mail & "<tr>"
  mail = mail & "<td align='center'>&nbsp;</td>"
  mail = mail & "</tr>"
  mail = mail & "<tr>"
  mail = mail & "<td align='center'><table width='566' border='0' cellspacing='0' cellpadding='0'>"
  mail = mail & "<tr>"
  mail = mail & "<td><p>안녕하세요.. 이메일 발송 예제입니다. <br>"
  mail = mail & "여기다가 내용을 기재하여 주시고 이미지도 첨부하시면 멋진 이메일이 완성됩니다 <br>"
  mail = mail & "내용을 여기다가 계속 적어주십시오 <br>"
  mail = mail & "이메일 발송 예제 끝입니다.</td>"
  mail = mail & "</tr>"
  mail = mail & "</table></td>"
  mail = mail & "</tr>"
  mail = mail & "<tr>"
  mail = mail & "<td align='center'>&nbsp;</td>"
  mail = mail & "</tr>"
  mail = mail & "<tr>"
  mail = mail & "<td height='66' background='http://61.100.181.53/e-mail/image/bg_01.gif' align='center'>"
  mail = mail & "<table width='656' border='0' cellspacing='0' cellpadding='0'>"
  mail = mail & "<tr>"
  mail = mail & "<td width='210' align='right' height='67'></td>"
  mail = mail & "<td width='390' height='67'><font color='#666666'>Copyright @"
  mail = mail & "http://cafe.naver.com/webdeveloper  </font></td>"
  mail = mail & "</tr>"
  mail = mail & "</table>          </td>"
  mail = mail & "</tr>"
  mail = mail & "</table>"
  mail = mail & "</td>"
  mail = mail & "<td bgcolor='BDBABD' width='1'></td>"
  mail = mail & "</tr>"
  mail = mail & "<tr bgcolor='BDBABD'>"
  mail = mail & "<td colspan='3' height='1'></td>"
  mail = mail & "</tr>"
  mail = mail & "</table>"


  name = "테스트" '받는고객 이름
  Email = "test@testto.co.kr" '받는사람 메일주소
  fromMail = "test@test.co.kr" '보낸사람 메일주소

 

  content=Replace(Replace(mail,chr(13)&chr(10),""),"[고객이름]",name)
 
  Set objMail = Server.CreateObject("CDONTS.NewMail")
  objMail.From = fromMail
  objMail.To = Email
  objMail.subject = name &"님께 메일을 보냅니다"
  objMail.Body = content
  objMail.BodyFormat = 0     ' HTML일떄 0, 일반 Text일때 1 으로 설정한다.
  objMail.MailFormat = 0      ' HTML일떄 0, 일반 Text일때 1 으로 설정한다.
  objMail.Send
  Set objMail = nothing
%>

2008/02/21 15:14 2008/02/21 15:14
해외사이트에서 퍼온 소스입니다. 칼라테이블이 나오고 테이블을 클릭하면 그 테이블의

컬러로 텍스트 색상을 변경해줍니다.  웹서버에 넣고 돌려보니 잘 돌아갑니다.


<%
   Dim arrColors   ' Array of usable colors

   Dim iMinColor   ' LBound of the array
   Dim iMaxColor   ' UBound of the array

   Dim iR, iG, iB  ' Index vars for looping of each color

   Dim strColor    ' Temp var for building color string in loop


   ' Assign acceptable color components in hex.
   ' This is the 216 color web-safe palette.
   arrColors = Array("00", "33", "66", "99", "CC", "FF")

   ' Note I use the same array for all the colors since
   ' it's really just a mechanism to hold the hex values.

   ' I do this to save the processing time that would o/w
   ' result from doing this computation on each pass of the loop.

   iMinColor = LBound(arrColors)
   iMaxColor = UBound(arrColors)


    ' Table the colors for neat display
    Response.Write "<table cellspacing=""0"" cellpadding=""0"" " _
    & "border=""0"">" & vbCrLf


    ' Loop through reds
    For iR = iMinColor To iMaxColor
    ' Put in a row break so we can see the whole thing on one page
    Response.Write "<tr>" & vbCrLf
    ' Loop through greens
    For iG = iMinColor To iMaxColor
        ' Loop through blues
        For iB = iMinColor To iMaxColor
            ' calculate the color and show it
            strColor = "#" & arrColors(iR) & arrColors(iG) & arrColors(iB)
            Response.Write "<td bgcolor=""" & strColor & """>" _
                & "<a href=""color_chooser.asp?color=" & Server.URLEncode(strColor) _
                & """><img src=""images/spacer.gif"" width=""15"" height=""15"" " _
                & "alt=""" & strColor & """ border=""0""></a></td>" & vbCrLf
        Next 'iB
    Next 'iG
    Response.Write "</tr>" & vbCrLf
    Next 'iR
    Response.Write "</table>" & vbCrLf
%>

<p>
<strong>
<font size="+2" color="<%= Request.QueryString("color") %>">
This text will appear in the color you click above.
</font>
</strong>
</p>

2008/02/21 15:12 2008/02/21 15:12

해외사이트에서 퍼온 트랜잭션 처리예제입니다.   ASP에서 트랜잭션 처리는 좀 의문이네요?

잘 작동하는지는 테스트해보지 않았습니다만 관심있는 분은 소스 참고해 보세요.


<!-- #include file="adovbs.inc" -->
<%
' ADO constants included above.  Questions about adovbs.inc?
' See "What is Adovbs.inc and Why Do I Need It?"

Dim strConnString      ' Connection string
Dim myConnection       ' ADO Connection object
Dim strSqlQuery        ' SQL query
Dim lngRecordsAffected ' Number of records affected by command

' Set our connection string
strConnString = "Provider=SQLOLEDB;Data Source=10.2.1.214;" _
 & "Initial Catalog=samples;User Id=samples;Password=password;" _
 & "Connect Timeout=15;Network Library=dbmssocn;"

' Build our SQL query
strSqlQuery = "INSERT INTO [scratch] (text_field, integer_field, date_time_field) " _
                & "VALUES ('" _
                & CStr(WeekdayName(WeekDay(Date()))) & "', '" _
                & CInt(Day(Now())) & "', '" _
                & Now() & "');"

' Open connection
Set myConnection = Server.CreateObject("ADODB.Connection")
myConnection.Open strConnString

' Start transaction
Response.Write "<p><strong>Starting Transaction.</strong></p>" & vbCrLf
myConnection.BeginTrans

' Execute the SQL command
Response.Write "<p><strong>Executing SQL Command:</strong><br /><code>" & strSqlQuery & "</code></p>" & vbCrLf
myConnection.Execute strSqlQuery, lngRecordsAffected, adCmdText + adExecuteNoRecords

' Echo back the number of records affected
Response.Write "<p><strong>Records Affected:</strong> <code>" & lngRecordsAffected & "</code></p>" & vbCrLf

' Either commit or rollback the transaction based on QueryString
If CBool(Request.QueryString("rollback")) = True Then
 Response.Write "<p><strong>Rolling Back Transaction.</strong></p>" & vbCrLf
 myConnection.RollbackTrans
Else
 Response.Write "<p><strong>Commiting Transaction.</strong></p>" & vbCrLf
 myConnection.CommitTrans
End If

' Close data access objects and free variables
myConnection.Close
Set myConnection = Nothing
%>

<br />

<p>
<strong>Run the script again:</strong>
<a href="<%= Request.ServerVariables("URL") %>?rollback=false">Commit Transaction</a>
or
<a href="<%= Request.ServerVariables("URL") %>?rollback=true">Rollback Transaction</a>
</p>



2번째 이야기

저는 이방법을 쓰지는 않지만  ASP에서 많이들 쓰시는  트랜잭션 처리 방법하나 올립니다.

참고하세요


<!--#include file="dbconnect/dbconnect.asp"-->
<OBJECT RUNAT=server PROGID=ADODB.Connection id=db></object>
<OBJECT RUNAT=server PROGID=ADODB.Recordset id=rs></object>
<%

tblname = request("tblname")

memuid = request("memuid")


dim dberr
dberr = 0


db.begintrans()


sql = "insert into  " & tblname & " ( memuid, idate ) values ('"&memuid&"',getdate())"
db.execute(sql)
dberr = dberr + db.errors.count


if dberr > 0 then
 db.rollbacktrans()
 db.close
 response.write "<center><br><br>회원가입 처리중 에러가 발생 했습니다."
 response.write "에러:<br><br><font color='red'>"&Err.Description&"</font>"
 response.write "<br><br>위의 에러 내용을 사이트관리자에게 문의하여 주시기 바랍니다.</center>"
 err.close()
 response.end
else
 db.committrans()
end if


db.Close
%>


 

2008/02/21 15:12 2008/02/21 15:12

해외사이트에서 퍼온 달력예제입니다.  실제로 웹서버에 넣고 돌려보니 잘 실행됩니다.

달력 필요하신 분들은 소스 참고해 보세요.


<%
' ***Begin Function Declaration***
' New and improved GetDaysInMonth implementation.
' Thanks to Florent Renucci for pointing out that I
' could easily use the same method I used for the
' revised GetWeekdayMonthStartsOn function.
Function GetDaysInMonth(iMonth, iYear)
 Dim dTemp
 dTemp = DateAdd("d", -1, DateSerial(iYear, iMonth + 1, 1))
 GetDaysInMonth = Day(dTemp)
End Function

' Previous implementation on GetDaysInMonth
'Function GetDaysInMonth(iMonth, iYear)
' Select Case iMonth
'  Case 1, 3, 5, 7, 8, 10, 12
'   GetDaysInMonth = 31
'  Case 4, 6, 9, 11
'   GetDaysInMonth = 30
'  Case 2
'   If IsDate("February 29, " & iYear) Then
'    GetDaysInMonth = 29
'   Else
'    GetDaysInMonth = 28
'   End If
' End Select
'End Function

Function GetWeekdayMonthStartsOn(dAnyDayInTheMonth)
 Dim dTemp
 dTemp = DateAdd("d", -(Day(dAnyDayInTheMonth) - 1), dAnyDayInTheMonth)
 GetWeekdayMonthStartsOn = WeekDay(dTemp)
End Function

Function SubtractOneMonth(dDate)
 SubtractOneMonth = DateAdd("m", -1, dDate)
End Function

Function AddOneMonth(dDate)
 AddOneMonth = DateAdd("m", 1, dDate)
End Function
' ***End Function Declaration***


Dim dDate     ' Date we're displaying calendar for
Dim iDIM      ' Days In Month
Dim iDOW      ' Day Of Week that month starts on
Dim iCurrent  ' Variable we use to hold current day of month as we write table
Dim iPosition ' Variable we use to hold current position in table


' Get selected date.  There are two ways to do this.
' First check if we were passed a full date in RQS("date").
' If so use it, if not look for seperate variables, putting them togeter into a date.
' Lastly check if the date is valid...if not use today
If IsDate(Request.QueryString("date")) Then
 dDate = CDate(Request.QueryString("date"))
Else
 If IsDate(Request.QueryString("month") & "-" & Request.QueryString("day") & "-" & Request.QueryString("year")) Then
  dDate = CDate(Request.QueryString("month") & "-" & Request.QueryString("day") & "-" & Request.QueryString("year"))
 Else
  dDate = Date()
  ' The annoyingly bad solution for those of you running IIS3
  If Len(Request.QueryString("month")) <> 0 Or Len(Request.QueryString("day")) <> 0 Or Len(Request.QueryString("year")) <> 0 Or Len(Request.QueryString("date")) <> 0 Then
   Response.Write "The date you picked was not a valid date.  The calendar was set to today's date.<BR><BR>"
  End If
  ' The elegant solution for those of you running IIS4
  'If Request.QueryString.Count <> 0 Then Response.Write "The date you picked was not a valid date.  The calendar was set to today's date.<BR><BR>"
 End If
End If

'Now we've got the date.  Now get Days in the choosen month and the day of the week it starts on.
iDIM = GetDaysInMonth(Month(dDate), Year(dDate))
iDOW = GetWeekdayMonthStartsOn(dDate)

%>
<!-- Outer Table is simply to get the pretty border-->
<TABLE BORDER=10 CELLSPACING=0 CELLPADDING=0>
<TR>
<TD>
<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=1 BGCOLOR=#99CCFF>
 <TR>
  <TD BGCOLOR=#000099 ALIGN="center" COLSPAN=7>
   <TABLE WIDTH=100% BORDER=0 CELLSPACING=0 CELLPADDING=0>
    <TR>
     <TD ALIGN="right"><A HREF="./calendar.asp?date=<%= SubtractOneMonth(dDate) %>"><FONT COLOR=#FFFF00 SIZE="-1">&lt;&lt;</FONT></A></TD>
     <TD ALIGN="center"><FONT COLOR=#FFFF00><B><%= MonthName(Month(dDate)) & "  " & Year(dDate) %></B></FONT></TD>
     <TD ALIGN="left"><A HREF="./calendar.asp?date=<%= AddOneMonth(dDate) %>"><FONT COLOR=#FFFF00 SIZE="-1">&gt;&gt;</FONT></A></TD>
    </TR>
   </TABLE>
  </TD>
 </TR>
 <TR>
  <TD ALIGN="center" BGCOLOR=#0000CC><FONT COLOR=#FFFF00><B>Sun</B></FONT><BR><IMG SRC="./images/spacer.gif" WIDTH=60 HEIGHT=1 BORDER=0></TD>
  <TD ALIGN="center" BGCOLOR=#0000CC><FONT COLOR=#FFFF00><B>Mon</B></FONT><BR><IMG SRC="./images/spacer.gif" WIDTH=60 HEIGHT=1 BORDER=0></TD>
  <TD ALIGN="center" BGCOLOR=#0000CC><FONT COLOR=#FFFF00><B>Tue</B></FONT><BR><IMG SRC="./images/spacer.gif" WIDTH=60 HEIGHT=1 BORDER=0></TD>
  <TD ALIGN="center" BGCOLOR=#0000CC><FONT COLOR=#FFFF00><B>Wed</B></FONT><BR><IMG SRC="./images/spacer.gif" WIDTH=60 HEIGHT=1 BORDER=0></TD>
  <TD ALIGN="center" BGCOLOR=#0000CC><FONT COLOR=#FFFF00><B>Thu</B></FONT><BR><IMG SRC="./images/spacer.gif" WIDTH=60 HEIGHT=1 BORDER=0></TD>
  <TD ALIGN="center" BGCOLOR=#0000CC><FONT COLOR=#FFFF00><B>Fri</B></FONT><BR><IMG SRC="./images/spacer.gif" WIDTH=60 HEIGHT=1 BORDER=0></TD>
  <TD ALIGN="center" BGCOLOR=#0000CC><FONT COLOR=#FFFF00><B>Sat</B></FONT><BR><IMG SRC="./images/spacer.gif" WIDTH=60 HEIGHT=1 BORDER=0></TD>
 </TR>
<%
' Write spacer cells at beginning of first row if month doesn't start on a Sunday.
If iDOW <> 1 Then
 Response.Write vbTab & "<TR>" & vbCrLf
 iPosition = 1
 Do While iPosition < iDOW
  Response.Write vbTab & vbTab & "<TD>&nbsp;</TD>" & vbCrLf
  iPosition = iPosition + 1
 Loop
End If

' Write days of month in proper day slots
iCurrent = 1
iPosition = iDOW
Do While iCurrent <= iDIM
 ' If we're at the begginning of a row then write TR
 If iPosition = 1 Then
  Response.Write vbTab & "<TR>" & vbCrLf
 End If
 
 ' If the day we're writing is the selected day then highlight it somehow.
 If iCurrent = Day(dDate) Then
  Response.Write vbTab & vbTab & "<TD BGCOLOR=#00FFFF><FONT SIZE=""-1""><B>" & iCurrent & "</B></FONT><BR><BR></TD>" & vbCrLf
 Else
  Response.Write vbTab & vbTab & "<TD><A HREF=""./calendar.asp?date=" & Month(dDate) & "-" & iCurrent & "-" & Year(dDate) & """><FONT SIZE=""-1"">" & iCurrent & "</FONT></A><BR><BR></TD>" & vbCrLf
 End If
 
 ' If we're at the endof a row then write /TR
 If iPosition = 7 Then
  Response.Write vbTab & "</TR>" & vbCrLf
  iPosition = 0
 End If
 
 ' Increment variables
 iCurrent = iCurrent + 1
 iPosition = iPosition + 1
Loop

' Write spacer cells at end of last row if month doesn't end on a Saturday.
If iPosition <> 1 Then
 Do While iPosition <= 7
  Response.Write vbTab & vbTab & "<TD>&nbsp;</TD>" & vbCrLf
  iPosition = iPosition + 1
 Loop
 Response.Write vbTab & "</TR>" & vbCrLf
End If
%>
</TABLE>
</TD>
</TR>
</TABLE>

<BR>

<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0><TR><TD ALIGN="center">
<FORM ACTION="./calendar.asp" METHOD=GET>
<SELECT NAME="month">
 <OPTION VALUE=1>January</OPTION>
 <OPTION VALUE=2>February</OPTION>
 <OPTION VALUE=3>March</OPTION>
 <OPTION VALUE=4>April</OPTION>
 <OPTION VALUE=5>May</OPTION>
 <OPTION VALUE=6>June</OPTION>
 <OPTION VALUE=7>July</OPTION>
 <OPTION VALUE=8>August</OPTION>
 <OPTION VALUE=9>September</OPTION>
 <OPTION VALUE=10>October</OPTION>
 <OPTION VALUE=11>November</OPTION>
 <OPTION VALUE=12>December</OPTION>
</SELECT>
<SELECT NAME="day">
 <OPTION VALUE=1>1</OPTION>
 <OPTION VALUE=2>2</OPTION>
 <OPTION VALUE=3>3</OPTION>
 <OPTION VALUE=4>4</OPTION>
 <OPTION VALUE=5>5</OPTION>
 <OPTION VALUE=6>6</OPTION>
 <OPTION VALUE=7>7</OPTION>
 <OPTION VALUE=8>8</OPTION>
 <OPTION VALUE=9>9</OPTION>
 <OPTION VALUE=10>10</OPTION>
 <OPTION VALUE=11>11</OPTION>
 <OPTION VALUE=12>12</OPTION>
 <OPTION VALUE=13>13</OPTION>
 <OPTION VALUE=14>14</OPTION>
 <OPTION VALUE=15>15</OPTION>
 <OPTION VALUE=16>16</OPTION>
 <OPTION VALUE=17>17</OPTION>
 <OPTION VALUE=18>18</OPTION>
 <OPTION VALUE=19>19</OPTION>
 <OPTION VALUE=20>20</OPTION>
 <OPTION VALUE=21>21</OPTION>
 <OPTION VALUE=22>22</OPTION>
 <OPTION VALUE=23>23</OPTION>
 <OPTION VALUE=24>24</OPTION>
 <OPTION VALUE=25>25</OPTION>
 <OPTION VALUE=26>26</OPTION>
 <OPTION VALUE=27>27</OPTION>
 <OPTION VALUE=28>28</OPTION>
 <OPTION VALUE=29>29</OPTION>
 <OPTION VALUE=30>30</OPTION>
 <OPTION VALUE=31>31</OPTION>
</SELECT>
<SELECT NAME="year">
 <OPTION VALUE=1990>1990</OPTION>
 <OPTION VALUE=1991>1991</OPTION>
 <OPTION VALUE=1992>1992</OPTION>
 <OPTION VALUE=1993>1993</OPTION>
 <OPTION VALUE=1994>1994</OPTION>
 <OPTION VALUE=1995>1995</OPTION>
 <OPTION VALUE=1996>1996</OPTION>
 <OPTION VALUE=1997>1997</OPTION>
 <OPTION VALUE=1998>1998</OPTION>
 <OPTION VALUE=1999>1999</OPTION>
 <OPTION VALUE=2000 SELECTED>2000</OPTION>
 <OPTION VALUE=2001>2001</OPTION>
 <OPTION VALUE=2002>2002</OPTION>
 <OPTION VALUE=2003>2003</OPTION>
 <OPTION VALUE=2004>2004</OPTION>
 <OPTION VALUE=2005>2005</OPTION>
 <OPTION VALUE=2006>2006</OPTION>
 <OPTION VALUE=2007>2007</OPTION>
 <OPTION VALUE=2008>2008</OPTION>
 <OPTION VALUE=2009>2009</OPTION>
 <OPTION VALUE=2010>2010</OPTION>
</SELECT>
<BR>
<INPUT TYPE="submit" VALUE="Show This Date on the Calendar!">
</FORM>
</TD></TR></TABLE>

2008/02/21 15:10 2008/02/21 15:10