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
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: *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.
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>
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 –
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
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. –
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