1、ASP中没有自带的smtp函数可以发邮件
2、ASP要发邮件必须服务器端安装了发信组件,如:jmail
如下代码是我自己写的ASP发邮件程序,服务器发信组件为:jmail4.5
<%'作者:凌陈亮www.lingchenliang.com(QQ:57404811)
'函数名:gw_sendmail()
'作用:利用Jmail4.5组件发送EMail
'参数:
'tomail:收件人email邮箱地址。
'subject:邮件标题。
'body:邮件内容。
'如果发送成功,函数将返回True,否则返回False
function gw_sendmail(tomail,subject,body)
dim jmail,smail,smail_pwd,fromname
smail = "57404811@qq.com" '设定发件人邮箱帐号
smail_pwd = "***" '设定发件人邮箱密码
fromname = "**网站" '指定发件人,可为email(如:57404811@qq.com),也可为名称(如:**网站)
set jmail = Server.createobject("jmail.message") '创建JMAIL对象
jmail.silent = true '屏蔽例外错误,true表示邮件发送会忽略错误,不将错误信息返回给操作系统。
jmail.logging = true '使用日志
jmail.charset = "gb2312"
jmail.contentType = "text/html"
jmail.from = smail '设定发件人邮箱
jmail.fromname = fromname '指定发件人
jmail.mailserverusername = smail '设定发件人邮箱帐号
jmail.mailserverpassword = smail_pwd '设定发件人邮箱密码
jmail.addRecipient tomail '设定收件人邮箱帐号
jmail.subject = subject '设定邮件的标题
jmail.body = body '设定邮件的内容
jmail.returnreceipt=true '当对方收到邮件后发回收条
'smtp发信服务器名称如:mail.qq.com、smtp.163.com、smtp.163vip.net、smtp.126.com、smtp.sina.com.cn、smtp.gmail.com、smtp.china.com、smtp.sohu.com
if jmail.send("mail.qq.com")=false then '开始发信并判断发信结果
gw_sendmail=false '发信失败
else
gw_sendmail=true '发信成功
end if
end function
'用户意见/网站留言发送邮件示例
dim name1,mobile,content,body
name1=trim(request.form("name1"))
mobile=trim(request.form("mobile"))
content=trim(request.form("content"))
body=""
body=body & "<p>留言时间:" & now() & "</p>"
body=body & "<p>留言IP:" & request.ServerVariables("REMOTE_ADDR") & "</p>"
body=body & "<p>客户姓名:" & name1 & "</p>"
body=body & "<p>手机号码:" & mobile & "</p>"
body=body & "<p>留言内容:" & content & "</p>"
if gw_sendmail("57404811@qq.com","**网站留言-" & name1,body)=true then '这里填自己的邮箱
call alert("发送成功!","/")
else
call alert("错误:发送失败!","javascript:window.history.back()")
end if
<%Set jmail = Server.CreateObject("JMAIL.SMTPMail") ’创建一个JMAIL对象
jmail.silent = true ’JMAIL不会抛出例外错误,返回的值为FALSE跟TRUE
jmail.logging = true ’启用使用日志
jmail.Charset = "GB2312" ’邮件文字的代码为简体中文
jmail.ContentType = "text/html" ’邮件的格式为HTML的
jmail.ServerAddress = "Server Address" ’发送邮件的服务器
jmail.AddRecipient Email ’邮件的收件人
jmail.SenderName = "SenderName" ’邮件发送者的姓名
jmail.Sender = "Email Address" ’邮件发送者的邮件地址
jmail.Priority = 1 ’邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值
jmail.Subject = "Mail Subject" ’邮件的标题
jmail.Body = "Mail Body" ’邮件的内容
jmail.AddRecipientBCC Email ’密件收件人的地址
jmail.AddRecipientCC Email ’邮件抄送者的地址
jmail.Execute() ’执行邮件发送
jmail.Close ’关闭邮件对象
%>
w3 Jmail4.3组件重新设计了其内部结构——使用Message对象代替原来的单一对象Jmail.smtpmail发送邮件,有些方法需要身份验证的(如163、yahoo等),可以用下面的方法解决:
<%
Set jmail = Server.CreateObject("JMAIL.Message") ’建立发送邮件的对象
jmail.silent = true ’屏蔽例外错误,返回FALSE跟TRUE两值j
mail.logging = true ’启用邮件日志
jmail.Charset = "GB2312" ’邮件的文字编码为国标
jmail.ContentType = "text/html" ’邮件的格式为HTML格式
jmail.AddRecipient Email ’邮件收件人的地址
jmail.From = "Email From for Sender" ’发件人的E-MAIL地址
jmail.MailServerUserName = "UserName of Email" ’登录邮件服务器所需的用户名
jmail.MailServerPassword = "Password of Email" ’登录邮件服务器所需的密码
jmail.Subject = "Mail Subject" ’邮件的标题
jmail.Body = "Mail Body" ’邮件的内容
jmail.Prority = 1 ’邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值
jmail.Send("Server Address") ’执行邮件发送(通过邮件服务器地址)
jmail.Close() ’关闭对象
%>
再讲一下微软自带的CDONTS组件的发信的方法:
<%
Set cdomail = Server.CreateObject("CDONTS.NewMail") ’建立邮件对象
cdomail.Subject = "Mail Subject" ’邮件标题
cdomail.From = "Sender’s Mail" ’发件人的地址
cdomail.To = "Email will from" ’收件人的地址
cdomail.Body = "Mail Body" ’邮件的内容
cdomail.Send ’执行发送
%>
这种方法发送邮件是最简单的,同时也带来一定的问题,就是很少有服务器会开这项服务!
我们写程序,一般情况下都是说要代码模块化,这样方便维护,同时也方便移植。因此,我在这里将这个发邮件的写成一个子程,在调用的时候可以直接调用(当然,如果你高兴写成函数的话也是可以的,这个主要是看个人兴趣):
<%
’参数说明
’Subject : 邮件标题
’MailAddress : 发件服务器的地址,如smtp.163.com
’Email : 收件人邮件地址
’Sender : 发件人姓名
’Content : 邮件内容
’Fromer : 发件人的邮件地址
Sub SendAction(subject, mailaddress, email, sender, content, fromer)
Set jmail = Server.CreateObject("JMAIL.SMTPMail") ’创建一个JMAIL对象
jmail.silent = true ’JMAIL不会抛出例外错误,返回的值为FALSE跟TRUE
jmail.logging = true ’启用使用日志
jmail.Charset = "GB2312" ’邮件文字的代码为简体中文
jmail.ContentType = "text/html" ’邮件的格式为HTML的
jmail.ServerAddress = mailaddress ’发送邮件的服务器
jmail.AddRecipient Email ’邮件的收件人
jmail.SenderName = sender ’邮件发送者的姓名
jmail.Sender = fromer ’邮件发送者的邮件地址
jmail.Priority = 1 ’邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值
jmail.Subject = subject ’邮件的标题
jmail.Body = content ’邮件的内容
’由于没有用到密抄跟抄送,这里屏蔽掉这两句,如果您有需要的话,可以在这里恢复
’jmail.AddRecipientBCC Email ’密件收件人的地址
’jmail.AddRecipientCC Email ’邮件抄送者的地址
jmail.Execute() ’执行邮件发送
jmail.Close ’关闭邮件对象
End Sub
’调用此Sub的例子
Dim strSubject,strEmail,strMailAdress,strSender,strContent,strFromer
strSubject = "这是一封用JMAIL发送的测试邮件"
strContent = "JMail组件发送测试成功!"
strEmail = "runbing@eyou.com"
strFromer = "runbing@eyou.com"
strMailAddress = "mail.ubbcn.com"
strSender="我发的邮件"
SendAction(strSubject,strMailAddress, strEmail, strSender, strContent, strFromer)
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)