Makale numarası: 266452 - Son Gözden Geçirme: 21 Nisan 2006 Cuma - Gözden geçirme: 3.3

Nasıl yapılır: CDONTS ve deftere nakil Acceptor kullanarak ASP ek gönderme

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Özet

Birlikte çalışma veri nesneleri için Microsoft Windows NT Server (Active Server Pages (ASP) sayfalarından e-posta göndermek için CDONTS) kullanımını yaygın hale geldi. CDONTS, diğer teknolojileri ile birlikte kullanarak, kullanıcıların kendi e-posta ekleriyle sağlayan Web tabanlı bir arabirim oluşturabilirsiniz. Bu e-posta için önce dosya eki sunucuya gerekir; böylece CDONTS sunucuda yürütür.

Dosya karşıya yükleme, deftere nakil Microsoft Acceptor gerçekleştirilebilir. Deftere nakil Acceptor sunucuda yüklü ve bir dosya için Web sunucusu kullanıcının bilgisayarından deftere nakletmek bir istemci sağlar. Bu dosya, daha sonra e-posta iletilerine ek olarak gönderilebilir.

Daha fazla bilgi

Not: Basit Posta Aktarım Protokolü (SMTP) hizmetinin etkin ve CDONTS kullanmak üzere yapılandırılmış gerekir. (Ayrıntılar için ınternet ınformation Services belgelerine bakın.)

Ileti için bir dosya ekleme adımları

  1. Microsoft Visual ınterdev Web sunucusunda yüklü deftere nakil Acceptor'ile myEmailWebApp adlı yeni bir Web uygulama proje oluşturun.
  2. Projeye default.asp adlı bir ASP sayfası ekleyin.
  3. Varsayılan olarak sayfa ile gelen kodu silin.
  4. Sayfasına aşağıdaki kodu ekleyin:
    <%@ Language=VBScript %>
    <HTML>
    <HEAD>
    
    <%
    Dim strServerURL  'Server Name including http:// protocol
    strServerURL = "http://" + Request.ServerVariables("SERVER_NAME")
    
    Dim strServerURLFull 'Path to subweb directory
    strServerURLFull = strServerURL & "/myEmailWebApp"
    
    Dim strTargetURL  'Directory where we will upload our file to
    strTargetURL = strServerURLFull & "/uploaded_files"
    
    Dim strRepostURL  'Path to the page we will display after our file uploads
    strRepostURL = strServerURLFull & "/SendMail.asp"
    
    Dim strPathToPA   'Path to the cpshost.dll
    strPathToPA =  strServerURL & "/Scripts/cpshost.dll"
    
    Dim strPostingURL 'Action path for our form
    strPostingURL = strPathToPA + "?PUBLISH?" + strRepostURL
    %>
    
    
    
    </HEAD>
    <BODY bgcolor="white"> 
    <!--The Form must include the enctype properties set to "multipart/form-data" or the upload will fail. -->
    <FORM enctype="multipart/form-data" action="<%=strPostingURL %>" method="post" id="form1" name="form1">
    <INPUT type="hidden" name="TargetURL" value="<% = strTargetURL %>">
    <!--This hidden field is used to determine if a file post is being made.-->
    <INPUT type="hidden" name="bolAttach" value="true"> 
    	<CENTER>
    		<TABLE bgcolor=Gray border=1>
    			<tr>
    				<td>From:</td>
    				<!--Who is this message from.-->
    				<td><INPUT id="FromBox" name="FromBox" maxlength="50" value="myEmail@myDomain.com"></td>
    			<tr>
    			<tr>
    				<!--Who is this message To.-->
    				<td>To:</td>
    				<td><INPUT id="ToBox" name="ToBox" maxlength="50" value="myEmail@myDomain.com"></td>
    			<tr>
    			<tr>
    				<!--This message's Subject.-->
    				<td>Subject:</td>
    				<td><INPUT id="SubjectBox" name="SubjectBox" maxlength="50" value="Email with attachment.">
    				</td>
    				
    			</tr>
    			<tr>
    				<!--This message's body.-->
    				<td colspan="2"><br><br>Message:<br>
    				<TEXTAREA cols="40" id="MessageArea" name="MessageArea" rows="10">Here is the text for this message.</TEXTAREA>
    				<br>
    				</td>
    			</tr>
    				<tr>
    				<td colspan="2" align="Left" valign="center">
    				Specify File Attachment Paths: 
    				</td>
    			</tr>
    			<tr>
    				<!--Path to the file to attach to this message.-->
    				<td colspan="2" align="right" valign="center">
    				<INPUT name="my_file" type="file" size="20">
    				<br><br>
    				</td>
    			</tr>
    			<tr>
    				<!--This message's importance.-->
    				<td colspan="2" ><br>Importance Level:
    				<INPUT type="radio" id=optImpo name=optImpo value=0 checked>Low
    				<INPUT type="radio" id=optImpo name=optImpo value=1>Medium
    				<INPUT type="radio" id=optImpo name=optImpo value=2>High
    				<br></td>
    			<tr>
    			<tr>
    				<!--Validating Submit Button.-->
    				<td colspan="2" align="right" valign="center">
    				<INPUT type="button" value="Send" id="button1" name="button1" LANGUAGE="javascript" onclick="return button1_onclick()">
    				<INPUT type="reset" value="Reset" id="reset1" name="reset1">
    				</td>
    			</tr>
    		</TABLE>
    	</CENTER>
    </FORM>
    <SCRIPT ID="clientEventHandlersJS" LANGUAGE="javascript">
    <!--
    function button1_onclick() {
    	//Determine if there is a From address at all.
    	if(form1.FromBox.value =="")
    	{
    		//No from Address -Stop Submission
    		alert("You have not typed a From: Address.");
    		return;
    	}
    	//Determine if there is a To address at all.
    	if(form1.ToBox.value =="")
    	{
    		//No To Address -Stop Submission
    		alert("You have not typed a TO: Address.");
    		return;
    	}
    	//Determine if there is a subject at all.
    	if(form1.SubjectBox.value =="")
    	{
    		//No Subject - Question Submission
    		//Determine if they care.
    		var bolCancel = confirm("You have not typed a Subject continue?\n");
    		
    		if(bolCancel==false)
    		{
    			//User clicked Cancel -Stop Submission
    			return;
    		}
    	}
    	if(form1.MessageArea.value =="")
    	{
    		//No Message - Question Submission
    		//Determine if they care.
    		var bolStop = confirm("You have not typed a Message continue?\n");
    		
    		if(bolStop==false)
    		{
    			//User clicked Cancel -Stop Submission
    			return;
    		}
    	}
    	SubmitForm();
    }
    
    function SubmitForm()
    {
       //File counter for the number of files on the Form
       var FileNumber = 0;
       //FormMain is set to the form1 of the document
       var FormMain = document.forms("form1");
       //Loop counter
       var i;
       //Start at zero and loop until i is equal to the number of
       //elements in the page. Step i +1 per loop through
       for (i=0;i<FormMain.elements.length;i++)
       {
    	if (FormMain.elements[i].name == 'my_file' && FormMain.elements[i].value.length > 0)
    	{
    		FileNumber++;
    	}
       }
       //If there are files being posted then send the file to the Posting Acceptor
       //If not, skip to the send mail page with the Attachment boolean set to false.
       if(FileNumber==0)
       {
    	form1.bolAttach.value = "false"
    	form1.action = 'SendMail.asp';
    	//The encoding must be set to a different type in order to not 
    	//use the posting acceptor.
    	form1.encoding = 'application/x-www-form-urlencoded';
    	form1.submit(); 
       }
       else
       {
       //There are files attached use normal submit.
    	form1.submit();
       }
    };
    //-->
    </SCRIPT>
    </BODY>
    </HTML>
  5. Visual ınterdev Project Explorer <a1>Proje</a1> adını sağ tıklatın ve Yeni klasör açılır menüden seçin.
  6. Yeni klasörü Uploaded_files olarak adlandırın.
  7. ınternet Hizmet Yöneticisi konsolunu açın ve oluşturduğunuz Uploaded_files klasöre göz atın.
  8. Klasörü sağ tıklatın ve sonra da Özellikler ' i tıklatın.
  9. Dizin sekmesinde okuma/yazma izinleri seçin ve Tamam ' ı tıklatın.
  10. ınternet Services Manager'ı kapatın.
  11. Windows Gezgini'ni açın ve kök altındaki MyEmailWebApp klasörüne göz atın: \ınetpub\wwwroot dizinini.
  12. Uploaded_files klasörünü sağ tıklatın ve sonra da Özellikler ' i seçin.
  13. Güvenlik sekmesinde, ınternet guest hesabının klasör üzerinde okuma/yazma/değiştirme izinleri olduğundan emin olun.
  14. Tamam ' ı tıklatın ve sonra Windows Gezgini'ni kapatın.
  15. Visual ınterdev Web uygulamasını SendMail.asp adlı ikinci bir sayfa ekleyin.
  16. Varsayılan olarak sayfa ile gelen kodu silin.
  17. Sayfasına aşağıdaki kodu ekleyin:
    <%@ Language=VBScript %>
    <HTML>
    <HEAD>
    <TITLE>E-mail Sent Confirmation</TITLE>
    </HEAD>
    <BODY>
    <HR>
    <%
    'Dim Message Variables
    Dim objMsg, strFrom, strTo, strSubject,lngImportance
    'Get the values to use with the message from the post.
    strFrom = lcase(Trim(Request.Form("FromBox")))
    strTo = lcase(Trim(Request.Form("ToBox")))
    strSubject = Request.Form("SubjectBox")
    lngImportance = CInt(Request.Form("optImpo"))
    
    'Create the Message Object
    Set objMsg = Server.CreateObject("CDONTS.NewMail")
    'Set the properties of the Message
    objMsg.From = strFrom
    objMsg.To = strTo
    objMsg.Subject = strSubject
    'Use the actual Request Object so that you do not over load the string Data type.
    objMsg.Body = Request.Form("MessageArea")
    objMsg.Importance = lngImportance
    
    'Determine if we need to attach a file.
    Dim bolAttachmentPosted
    bolAttachmentPosted = CBool(Request.Form("bolAttach"))
    If bolAttachmentPosted Then 
    	'If do then where on the server can we get it
    	FilePathOnServer= Server.MapPath("/myEmailWebApp/uploaded_files")
    	FilePath_Name = FilePathOnServer & "\" & Request.Form("FileName") & Request.Form("FileExtention") 
    	'Attach it
    	objMsg.AttachFile FilePath_Name
    End If
    
    'Send Message
    objMsg.Send 
    
    'Destroy the object
    Set objMsg = Nothing
    'Determine if there is a file on the server to delete.
    If bolAttachmentPosted Then 
    	Dim FSO
    	'Create a File System Object
    	Set FSO = server.CreateObject ("Scripting.FileSystemObject")
    	'Delete the file from the server
    	FSO.DeleteFile FilePath_Name
    	'Destroy the object
    	Set FSO = Nothing
    End If
    
    'Write out results
    Response.Write "The following message was sent via CDO for NTS:" & "<br>"
    Response.Write "From: " & strFrom  & "<br>"
    Response.Write "To: " & strTo  & "<br>"
    Response.Write "Subject: " & strSubject  & "<br>"
    Response.Write "Importance: " & lngImportance  & "<br>"
    Response.Write "Body: " & Request.Form("MessageArea")  & "<br>"
    
    
    %>
    </BODY>
    </HTML>
    					
  18. Araç çubuğunda Tümünü Kaydet'i tıklatın.
  19. Default.asp dosyasını sağ tıklatın ve sonra View in Browser'ı seçin.

Referanslar

222618  (http://support.microsoft.com/kb/222618/EN-US/ ) ASP ya da kullanıcı adları Acceptor deftere nakil ile kullanma
260317  (http://support.microsoft.com/kb/260317/EN-US/ ) Uzak sunuculara yükle için deftere nakil Acceptor yapılandırma
189651  (http://support.microsoft.com/kb/189651/EN-US/ ) IIS bir tarayıcı kullanarak bir dosya yükleniyor
250384  (http://support.microsoft.com/kb/250384/EN-US/ ) Deftere nakil Acceptor AllowAnonymous Repost başarısızlığı Windows Yükle
186204  (http://support.microsoft.com/kb/186204/EN-US/ ) CDONTS toplama nasıl ve bir kullanıcının posta bilgileri
177850  (http://support.microsoft.com/kb/177850/EN-US/ ) BILGI: CDONTS ve CDO 1.2 arasındaki fark nedir?
189945  (http://support.microsoft.com/kb/189945/EN-US/ ) Nasıl yapılır: HTML Gönder posta CDONTS kullanarak SMTP biçimlendirilmiş.

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual InterDev 6.0 Standard Edition, Ne zaman ne ile kullanilir:
    • the operating system: Microsoft Windows 2000
    • Microsoft Windows NT 4.0
Anahtar Kelimeler: 
kbmt kbhowto kbsample kbscript KB266452 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:266452  (http://support.microsoft.com/kb/266452/en-us/ )