Beim Schreiben von Online-Bewerbungen stoßen wir häufig auf das Problem, dass der E-Mail-Inhalt dynamisch vom Programm bestimmt wird. Wenn Sie ASP zum Schreiben von Online-Bewerbungen verwenden, wie können Sie diese Funktion einfach und schnell implementieren?
In der Praxis verwendet der Autor die COM-Komponentenfunktion von ASP, um eine kleine Komponente zum Senden von E-Mails in VB zu implementieren. Diese Funktion kann durch einfachen Aufruf in ASP realisiert werden. Alle E-Mail-Verarbeitungsmechanismen sind in dieser Komponente gekapselt, was äußerst benutzerfreundlich ist. Die grundlegenden Entwicklungsprinzipien dieser Komponente und ihre Anwendung in ASP werden im Folgenden ausführlich vorgestellt.
1. Verwenden Sie das Winsock-Steuerelement, um SMTP zum Senden von E-Mails zu kontaktieren
. Der SMTP-Kontakt umfasst den gesamten Prozess des Handshakings, des Sendens von Daten und des Schließens. Die Hauptverfahren sind wie folgt:
Erstellen Sie ein Frmsendmail-Formular, das ein Winsock-Steuerelement enthält und über die folgende Öffentlichkeit verfügt Variablen:
öffentliches mstmp als String
// stmp zum Senden von E-Mails
öffentliches mfrom als String
// Absenderadresse
öffentliches mto als String
// Ankunftsadresse
öffentliches msubject als String
// E-Mail-Betreff
öffentlicher mtext als String
// E-Mail-Text
sock.connect mstmp, 25
// und senden Kontakt per STMP der E-Mail herstellen
private sub sock_connect()
sflag = sfconn
// Parameter nach erfolgreicher Verbindung festlegen
end sub
private sub sock_dataarrival(byval bytestotal as long)
on error goto daerr
dim s as string
sock.getdata s
select case sflag
case sfstart
case sfconn
sflag = sfhelo
//Handshake-Nachricht senden Hallo
send „helo“ && mmyname
case sfhelo
sflag = sffrom
send „mail from:“ && getreal(mfrom)
case sffrom
if left(s, 3) 〈〉 „250“ then goto srverr
//Wenn die empfangende E-Mail-Adresse erfolgreich gesendet wurde,
sflag = sfrcpt
sende „rcpt an:“ && getreal(mto)
case sfrcpt
if left(s, 3) 〈〉 „250“ then goto srverr
//Bei Erfolg mit dem Senden von Daten beginnen
sflag = sfdata
send „data“
case sfdata
if left (s, 3 ) 〈〉 "354" then goto srverr
sflag = sfsendover //Die Daten umfassen 4 Elemente und enden mit .
send "from: " && mfrom
send "to: " && mto
send "subject: " && msubject && vbcrlf
send mtext
send „ .“
case sfsendover
if left(s, 3) 〈〉 „250“ then goto srverr
sflag = sfstart
sendok = true
send „quit“
end select
exit sub
end sub
2. Kapseln Sie die oben genannten Funktionen in einer Klasse.
Da in den Komponenten, die ASP verwenden kann, keine Steuerelemente vorhanden sein können, müssen die oben genannten Formen durch Klassenmodule gekapselt werden. Erstellen Sie zunächst während der Klasseninitialisierung ein Formular:
private sub class_initialize()
set frm = new frmsendmail
end sub
kapselt die öffentlichen Variablen des Formulars als Attribute im Klassenmodul.
Die Funktionsschnittstelle dieses Formulars lautet:
public sub send()
frm.sendstart
end sub
3. Registrieren Sie diese Komponente
, um das obige Projekt in eine DLL-Datei zu kompilieren. Sie können es über VB oder manuell registrieren.
4.
DieAnwendungsaufrufmethode in ASP
lautet wie folgt:
set smail=server.createobject("sendmailx.mail")
smail.stmp="166.166.1.1"
smail.logfile="e:logsmail.log"
smail.mfrom = mfromname && " 〈" && mfromaddr && "〉"
smail.mto = mtoname && " 〈" && mtoaddr && "〉"
smail.msubject = msubject
smail.mtext = mtext
smail.send
, wobei die Variable zugewiesen werden oder von der vorherigen stammen kann Anfrageseite.