sina的smtp验证太厉害了,不管怎么样传数据都说验证失败,去www.
126
.com申请一个50MB的邮箱,报告“无效的user”,于是把msg.From也改成tindy@
126
.com,奇迹发生了,邮件发出去了,也!!!代码如下:
Set
msg
=
Server.CreateObject(
"
JMail.Message
"
)
msg.silent
=
true
msg.Logging
=
true
msg.Charset
=
"
gb2312
"
msg.MailServerUserName
=
"
tindy@126.com
"
msg.MailServerPassWord
=
"
我的邮箱密码
"
msg.AddHeader
"
Originating-IP
"
, Request.ServerVariables(
"
REMOTE_ADDR
"
)
msg.From
=
"
tindy@126.com
"
'
就是这个家伙,不能随便写的,一定要填你在126.com上申请的邮箱,很纳闷
msg.FromName
=
Request.Form(
"
Name
"
)
msg.AddRecipient
"
tindy@sina.com
"
msg.Subject
=
"
test
"
body
=
request.form(
"
Content
"
)
msg.Body
=
body
if
not
msg.Send (
"
smtp.126.com
"
)
then
Response.write
"
<pre>
"
&
msg.log
&
"
</pre>
"
else
set
msg
=
nothing
Response.Write
"
邮件已发送!
"
end
if
'
========================================
已知问题是,对于sina的smtp验证,同样的方法,却无法通过,一直纳闷中,希望高手能够帮我解决,因为俺可不想每个月登陆126.com的邮箱,没空呀。
首先是jmail.smtpmail的核心代码:
<
%
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
jmail.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
"
Call
SendAction (strSubject,strMailaddress,strEmail,strSender,strContent,strFromer)
%
>
Source: http://www.blueidea.com/tech/program/2003/721.asp
<
%
Set
jmail
=
Server.CreateObject(
"
JMAIL.Message
"
)
'
建立发送邮件的对象
'
response.Write(sendFrom&"-"&sendTO&"-"&smtpserver&"-"&sendusername&"-"&sendpassword&"-"&subject&"-"&message&"-"&SendName)
jmail.silent
=
false
'
屏蔽例外错误,返回FALSE跟TRUE两值
jmail.logging
=
false
'
启用邮件日志
jmail.Charset
=
"
GB2312
"
'
邮件的文字编码为国标
jmail.ContentType
=
"
text/html
"
'
邮件的格式为HTML格式
jmail.AddRecipient
"
gaingame@163.com
"
'
邮件收件人的地址
jmail.From
=
"
gaingame@163.com
"
'
发件人的E-MAIL地址
jmail.FromName
=
"
gaingame
"
'
发件人的名字
jmail.MailServerUserName
=
"
gaingame
"
'
登录邮件服务器所需的用户名
jmail.MailServerPassword
=
"
gaingame
"
'
登录邮件服务器所需的密码
jmail.Subject
=
"
fine to see you friend
"
'
邮件的标题
jmail.Body
=
"
ddd
"
'
邮件的内容
'
jmail.Prority =1 '邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值 (我使用的是w3jmail4不知道为什么不注释此项就是发送不成功)
'
jmail.Send("smtp.163.com") '执行邮件发送(通过邮件服务器地址)
if
(
not
jmail.Send (
"
smtp.163.com
"
))
then
'
发送并判断发送是否成功
SendMail
=
"
<center>Fail to send the Email 2!</center>
"
else
SendMail
=
"
<center>Success!</center>
"
end
if
response.Write(sendmail)
jmail.Close()
'
关闭对象
%
>
Source:
http://blog.csdn.net/kepeizong/archive/2006/05/18/744908.aspx
posted on 2007-03-10 17:21
百年 阅读(986)
评论(5) 编辑 收藏 所属分类:
Asp Article