2009-04-21 5 views
0

Ich habe eine HTML-Datei angegeben. Wenn jemand das Formular & sendet, sollte es eine E-Mail an seine E-Mail-ID senden. Wie schreibe ich Code dafür in ASP?Senden von E-Mail-Code in ASP

Ihr Name: * E-Mail: * Tel No: Ihre Nachricht: *
  • Gnaniyar Zubair

Antwort

3

Verwenden CDOSYS wie dies: -

Dim oMsg : Set oMsg = CreateObject("CDO.Message") 

oMsg.From = "Me <[email protected]>" 
oMsg.To = "Bloke <[email protected]>" 
oMsg.Subject = "Test" 
oMsg.HTMLBody = "<html><body>Hello World</body></html>" 

oMsg.Send 

Natürlich müssen Sie das Feld An aus einem persistenten Geschäft holen, in dem Sie das Benutzerprofil speichern und den Betreff und die Teile des Körpers aus den geposteten Feldern liefern.

Sie müssen auch die E-Mail-Einstellungen in der IIS-Anwendung konfigurieren, um eine Standardkonfiguration für das CDO.Message-Objekt bereitzustellen. Andernfalls, dass Sie die Mail-Einstellungen selbst mit einer Funktion wie folgt konfiguriert werden müssen: -

Function GetConfiguration() 
    Const cdoSendUsingMethod = "http://schemas.microsoft.com/cdo/configuration/sendusing" 
    Const cdoSMTPServer = "http://schemas.microsoft.com/cdo/configuration/smtpserver" 
    Const cdoSMTPServerPickupDirectory = "http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory" 
    Const cdoSMTPServerPort = "http://schemas.microsoft.com/cdo/configuration/smtpserverport" 

    Const cdoSendUsingPickup = 1 
    Const cdoSendUsingPort = 2 

    Dim GetConfiguration : SetGetConfiguration = CreateObject("CDO.Configuration") 

    With GetConfiguration.Fields 
     .Item(cdoSendUsingMethod) = cdoSendUsingPort 
     .Item(cdoSMTPServer) = "mysmtp.myserver.com" 
     .Item(cdoSMTPServerPort) = 25 
     .Update 
    End With 

End Function 

Dann fügen Sie diese Zeile in dem Hauptkörper des Code vor dem Aufruf senden: -

Set oMsg.Configuration = GetConfiguration() 

nur zwicken die die GetConfiguration-Inhalt, um den Hostnamen Ihres SMTP-Servers zu verwenden.

Hinweis verwenden Sie nicht CDONTS veraltet.

+0

Das ist richtig, in Windows 2003 und 2008 ist CDONTS.dll nicht mehr verfügbar. Der CDO.sys-Ansatz funktioniert für Windows 2000 und höher. – jwmiller5

1

Ich nehme an, Sie verwenden ASP 3.0, Sie Cdonts.dll

Der Code verwenden können:

cBody = Request.Form("Body") 
cPara = = Request.Form("to") 

<%@ Language=VBScript%> 
<html> 

<head> 
    <title>Email Sending</title> 

</head> 
<body> 
<% 
Dim cBody, n 

For Each n In Request.Form 
    cBody = cBody & n & ": " & Request.Form(n) & chr(13) 
Next 

Set oCDO = Server.CreateObject("CDONTS.NewMail") 

oCDO.From = "[email protected]" 
oCDO.To = "[email protected]" 
oCDO.Subject = "Subject" 
oCDO.Body = cBody 
'oCDO.Cc = "[email protected];[email protected]" 
oCDO.Bcc = "[email protected]" 
'oCDO.MailFormat = 0 

oCDO.Send 

Set oCDO = Nothing 
Response.Write "¡Email Sent!!" 

%> 
</body> 
</html> 
+0

Hallo MRFerocius, Vielen Dank für Ihre sofortige Antwort. Wenn Benutzer auf die Schaltfläche Senden klicken, sollte die Nachricht an den Administrator "[email protected]" nicht die Mail-ID des Benutzers gesendet werden. Wie schreibe ich dafür? pls cdlarify –

+0

Ich denke, ich verstehe nicht die ID-Sache des Benutzers. Kannst du etwas mehr erklären? Es ist eine Tabelle mit Schlüssel/E-Mail-Adresse? Wenn das der Fall ist, wird es einfach sein. – MRFerocius

+0

nein nicht so. Ich meinte, Benutzer ist Kunde, der das Formular ausfüllt. Es ist wie ein Feedback-Formular. Wenn jemand es ausfüllt, sollte die Nachricht an eine statische E-Mail-ID wie "[email protected]" gesendet werden. –

Verwandte Themen