Saat menulis aplikasi online, kita sering menemui masalah pengiriman email secara online. Konten email ditentukan secara dinamis oleh program. Jika Anda menggunakan ASP untuk menulis aplikasi online, bagaimana Anda bisa mengimplementasikan fungsi ini dengan sederhana dan cepat?
Dalam praktiknya, penulis menggunakan fungsi komponen COM ASP untuk mengimplementasikan komponen kecil untuk mengirim email di VB. Fungsi ini dapat direalisasikan hanya dengan memanggilnya di ASP. Semua mekanisme pemrosesan email dikemas dalam komponen ini, yang sangat nyaman digunakan. Prinsip dasar pengembangan komponen ini dan penerapannya dalam ASP akan diperkenalkan secara rinci di bawah.
1. Gunakan kontrol Winsock untuk menghubungi SMTP untuk mengirim email
, dan kontak SMTP mencakup seluruh proses jabat tangan, pengiriman data, dan penutupan. Prosedur utamanya adalah sebagai berikut:
Buat formulir frmsendmail, yang berisi kontrol winock dan memiliki publik berikut variabel:
public mstmp sebagai string
// stmp untuk mengirim email
public mfrom sebagai string
// dari alamat
public mto sebagai string
// alamat kedatangan
public msubject sebagai string
// subjek email
public mtext sebagai string
// badan email
sock.connect mstmp, 25
// dan kirim Buat kontak melalui stmp email
private sub sock_connect()
sflag = sfconn
//Atur parameter setelah koneksi berhasil
end sub
private sub sock_dataarrival(byval bytestotal as long)
pada kesalahan goto daerr
dim s as string
sock.getdata s
pilih case sflag
case sfstart
case sfconn
sflag = sfhelo
//Kirim pesan jabat tangan halo
send "helo " && mmyname
case sfhelo
sflag = sffrom
send "mail from:" && getreal(mfrom)
case sffrom
if left(s, 3) 〈〉 "250" lalu goto srverr
//Jika alamat email penerima berhasil terkirim,
sflag = sfrcpt
kirim "rcpt ke:" && getreal(mto)
case sfrcpt
if left(s, 3) 〈〉 "250" lalu goto srverr
//Jika berhasil, mulai mengirim data
sflag = sfdata
kirim "data"
case sfdata
jika tersisa (s, 3 ) 〈〉 "354" lalu goto srverr
sflag = sfsendover //Data mencakup 4 item dan diakhiri dengan .
send "from: " && mfrom
send "to: " && mto
send "subject: " && msubject && vbcrlf
kirim mtext
kirim " ."
case sfsendover
jika kiri(s, 3) 〈〉 "250" lalu goto srverr
sflag = sfstart
sendok = true
kirim "quit"
end pilih
exit sub
end sub
2. Enkapsulasi fungsi-fungsi di atas dalam sebuah kelas
Karena kontrol tidak dapat ada dalam komponen yang dapat digunakan ASP, formulir di atas harus dienkapsulasi melalui modul kelas. Pertama, buat formulir selama inisialisasi kelas:
private sub class_initialize()
set frm = new frmsendmail
end sub
merangkum variabel publik formulir sebagai atribut dalam modul kelas.
Antarmuka fungsi formulir ini adalah:
public sub send()
frm.sendstart
end sub
3. Daftarkan komponen ini
untuk mengkompilasi proyek di atas menjadi file dll. Anda dapat mendaftarkannya melalui VB atau secara manual.
4. Metode pemanggilan aplikasi di ASP
adalah sebagai berikut:
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
dimana variabel dapat ditugaskan atau berasal dari sebelumnya halaman permintaan.