请选择 进入手机版 | 继续访问电脑版

衡水摄影网

 找回密码
 立即注册
快捷导航
查看: 155|回复: 1

Jmail组件发送邮件之绝对能用的函数 [复制链接]

Rank: 8Rank: 8

发表于 2017-5-24 12:17:55 |显示全部楼层
大致如下:

1,POP3对象,是对POP3邮件接收服务器的操作。
2,Messages对象,是有关邮件集合的对象。
3,Message对象,是有关邮件的对象,其是Jmail组件最常用的对象,能发送邮件信息,也能接收邮件信息。
4,Header对象,是与邮件头相关的对象。
5,Recipients对象,是有关接收邮件集合的对象。
6,Recipient对象,是有关接收邮件的对象。
7,Attachments对象,是有关邮件附件集合的对象。
8,Attachment对象,是有关邮件附件的对象。
9,MailMerge对象,是有关邮件模板的对象。
10,PGPKeys对象,是有关邮件PGP密钥集合的对象。
11,PGPKeyInfo对象,是有关邮件PGP密钥信息的对象。
……

在邮件发送的Web应用中,Message对象是最常用的,在使用之前需要建立该对象,并赋值到变量上。


Set jmail = Server.CreateObject("JMAIL.Message")


其中关于Message对象有如下常用的属性和方法应用:

1,Silent属性,表示屏蔽例外错误,返回FALSE或TRUE值,当值为TRUE时,表示邮件发送会忽略错误,不将错误信息返回给操作系统。
jmail.silent = true

2,Logging属性,表示是否启用日志。
jmail.logging = true

3,Charset属性,设置邮件显示的字符集,中文简体可使用GB2312。
jmail.Charset = "GB2312"

4,ContentType属性,表示邮件正文的类型。
jmail.ContentType = "text/html"

5,AddRecipient方法,表示收件人的E-Mail地址。
jmail.AddRecipient ("cnbruce@126.com")

6,From属性,表示发件人的E-Mail地址。该地址一般与使用SMTP服务器验证时所需的登录帐户相同。
jmail.From = "dw8asp@126.com"

7,FromName属性,表示发件人的名称。
jmail.FromName = "BruceWolf"

8,Subject属性,表示设置发送邮件的标题。
jmail.Subject = "这是邮件的标题"

9,Body属性,表示设置发送邮件的正文内容,可使用HTML标签代码
jmail.Body = "这是邮件的内容<br>换行的内容显示"

10,Priority属性,表示邮件发送的优先级,1为最快,5为最慢,3为默认值。
jmail.Priority = 1

11,MailServerUserName属性,表示当邮件服务器使用SMTP发信验证时设置的登录帐户。
jmail.MailServerUserName = "dw8asp@126.com"

12,MailServerPassword属性,表示当邮件服务器使用SMTP发信验证时设置的登录密码。
jmail.MailServerPassword = "**************"

13,Send方法,表示通过指定的邮件发送服务器进行邮件的发送。需要注意的即是该邮件服务器地址与MailServerUserName和MailServerPassword中的值是一致的。
jmail.Send("smtp.126.com")

14,Close方法,表示释放Jmail和邮件服务器连接而使用的缓存空间。
jmail.Close()

由于采用邮件服务器的不同,发送邮件接收人的不同,以及邮件标题和内容的不同,综合这些经常需要变化的值,自定义如下的函数用来完成Jmail发送邮件的功能。

Jmail邮件发送的函数


<%
Function Send_Email(smtpHost,smtpUser,smtpPass,mailTo,FromName,subject,content)
Set jmail = Server.CreateObject("JMAIL.Message")
jmail.silent = true
jmail.logging = true
jmail.Charset = "gb2312"
jmail.ContentType = "text/html"
jmail.AddRecipient mailTo
jmail.From = smtpUser
jmail.FromName = FromName
jmail.Subject = subject
jmail.Body = content
jmail.Priority = 1
jmail.MailServerUserName = smtpUser
jmail.MailServerPassword = smtpPass
jmail.Send(smtpHost)
jmail.Close()
response.write("邮件发送成功")
End Function
%>



其中Send_Email表示自定义的函数名称
参数smtpHost表示邮件服务器地址
参数smtpUser表示发信验证所需的登录帐户
参数smtpPass表示发信验证所需的登录密码
参数mailTo表示邮件收件人的E-Mail地址
参数FromName表示邮件发件人的名称
而参数subject和content则分别表示邮件的标题和正文内容

通过如下方法可应用该函数:
Call Send_EMail("smtp.126.com","dw8asp@126.com","******","cnbruce@msn.com","cnbruce","标题","邮件正文内容")

或者有个人邮局的可使用
Call Send_EMail("mail.cnbruce.com","root@cnbruce.com","******","cnbruce@msn.com","cnbruce","标题","邮件正文内容")

jmail组件下载地址:http://www.jb51.net/softs/26125.html

使用道具 举报

Rank: 8Rank: 8

发表于 2017-5-24 12:25:49 |显示全部楼层
<%
'获得发送人的姓名
fsname = request.Form("fsname")
'获得发送人的邮件地址
fsemail = request.Form("fsemail")
'将发送人的邮件地址通过@分离开,放到fs_email数组里面
fs_email = split(fsemail,"@")
'获得发送人的邮件密码
fspassword = trim(request.Form("fspassword"))
'获得收件人的邮件地址
sjemail = request.Form("sjemail")
'获得收件人的姓名
sjname = request.Form("sjname")
'获得邮件的主题
emailsubject = request.Form("emailsubject")
'获得邮件的内容
emailcontent = request.Form("emailcontent")
'设置JMail组件
Set JMail = Server.CreateObject("JMail.Message")
'是否将信头编码成iso-8859-1字符集. 缺省是True
'邮件的紧急程序,1为最快,5为最慢,3为默认值  
Jmail.Priority = 1
JMail.ISOEncodeHeaders = True
'如果JMail.silent设置为true,ErrorCode包含的是错误代码
JMail.Silent = True
'设置标题和内容编码,如果标题有中文,必须设定编码为gb2312
JMail.Charset = "gb2312"
'如果发内嵌附件一定要注释掉这行
'JMail.ContentType = "text/html"  
'发送人的姓名
JMail.FromName = fsname
'发送人的邮件
JMail.From =fsemail
'发送人的邮件用户名,163的邮箱用户名只是@前面部分,所以使用split分割,一些邮箱必须包含@以及后缀,特别是企业邮箱,所以使用完整的。
if fs_email(1)="163.com" then
JMail.MailServerUserName = fs_email(0)
stmpmail="smtp.163.com"
'response.Write stmpmail
'response.End()
else
stmpmail="mail."&fs_email(1)
JMail.MailServerUserName = fsemail
end if
'发送人的邮件密码
JMail.MailServerPassword =fspassword
'加入新的收件人
JMail.AddRecipient sjemail, sjname
'密件收件人的地址
'JMail.AddRecipientBCC Email
'邮件抄送者的地址
'JMail.AddRecipientCC Email
'邮件主题
JMail.Subject = emailsubject
'邮件内容
JMail.Body = emailcontent
'增加一个普通附件
'JMail.AddAttachment(Server.MapPath())
'增加一个嵌入式附件
'The return value of AddAttachment is used as a
'reference to the image in the HTMLBody.
'contentId = JMail.AddAttachment(Server.MapPath("images/email.gif"))
'只有HTML格式支持嵌入图片附件,我们采用HTML格式的邮件内容
JMail.HTMLBody = "<html><body><br>"&emailcontent
JMail.appendHTML "<br><br></body></html>"
'如果对方信箱不支持HTML格式邮件,我们仍需要给他一个友善的提示
JMail.Body = "Too bad you can't read HTML-mail."
JMail.appendText " "
'执行邮件发送<通过邮件服务器地址>smtp.域名.com 不一定是邮件服务器

if JMail.Send(stmpmail) then     
response.Write("邮件发送成功")
else
response.Write("邮件发送失败")
end if
JMail.Close()
Set JMail = Nothing
%>

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册