看看
Imports System.Threading.Tasks
Imports System.Security.Claims
Imports Microsoft.AspNet.Identity
Imports Microsoft.AspNet.Identity.EntityFramework
Imports Microsoft.AspNet.Identity.Owin
Imports Microsoft.Owin
Imports Microsoft.Owin.Security
public function SendAsync(message as IdentityMessage) as task
dim credentialUserName = "邮箱登录名"
dim sentFrom = "你的邮箱地址"
dim pwd= "邮箱登录密码";
dim client as new System.Net.Mail.SmtpClient("smtp服务器地址")
client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network
client.UseDefaultCredentials = false
dim credentials as new System.Net.NetworkCredential(credentialUserName, pwd)
client.EnableSsl = true
client.Credentials = credentials
dim mail as new System.Net.Mail.MailMessage(sentFrom, message.Destination)
mail.Subject = message.Subject
mail.Body = message.Body
return client.SendMailAsync(mail)
end function
这段代码我执行无误,不太清楚题主是如何异步发送的,题主也没给出错误究竟是什么,所以无从判断.
只能说需要手动释放,或者用?message?=?Nothing?也可以释放.
【针对问题补充的回答】
注释行已去掉,仍能正常运行,可能跟网络环境有关.
另外不知题主 AddHandler client.SendCompleted, AddressOf SendCompletedCallback 这行中的回调函数 SendCompletedCallback 是怎么写的,我写的是:
Private?Function?SendCompletedCallback(ByVal?sender?As?Object,?ByVal?e?As?System.ComponentModel.AsyncCompletedEventArgs)
If?e.Cancelled?Then
REM?邮件发送被取消
ElseIf?e.Error.ToString?""?Then
REM?邮件发送失败
Else
REM?发送成功
End?If?
End?Function
另外建议用 Try-Ctach-End Try 结构,并在释放前设置延时函数.
用listview 吧,那个item 是有backcolor 和 forecolor 属性的
用listbox 自己搞,估计的吐血
上来是其中一个贴子,其他的内容在参考资料的网址里
① 确认已安装SMTP服务器
Private Sub cmdSendMail_Click()
Dim objMail as Object
Set objMail=CreateObject("CDFONTS.DLL")
Set objMail=nothing
End Sub
如果有附加的文件需要随同邮件传送,可以使用CDONTS的AttachFile方法:
With ObjMail
.Subject="Title"
.Body="Hello"
.AttachFile "c:\document\ sample.doc","sample.doc"
.Send
End With
CDONTS组件常用的属性和方法列举如下:
属性:
Version:返回CDONTS组件的版本号
MailFormat:邮件格式,1-普通文本类型;0-MIME类型
Cc:设置一个或多个参阅的邮件地址
From:邮件发送者的地址
To :邮件接受者的地址
Subject:标题
Body:内容
BodyFormat:内容格式,1-普通文本;0-超文本
方法:
AttachFile:附加一个文件
AttachURL:附加一个地址
Send:发送邮件
你一定见到过许多使用超文本格式的E-mail,其中不但可以有图片、声音,甚至还可以嵌入动画.如果给你的朋友也发送一封这样的邮件,一定会带给他(她)意外的惊喜,因为这用一般的邮件发送程序是无能为力的.以下使用CDONTS组件发送一个HTML格式的邮件,其中包含有一幅名为sample.gif的图片,程序如下:
Dim strHTML as String
StrHTML=""
StrHTML= StrHTML+""
StrHTML = StrHTML +"
用CDONTS发送Email的例子"
StrHTML= StrHTML+"
"
以上例子嵌入了图片sample.gif
.Body=strHTML
.AttachURL "c:\mydata\sample.gif","sample.gif"
.BodyFormat=0
.EmailFormat=0
到这里,相信大家一定发现SMTP邮件处理的一个缺陷了.SMTP服务器接收你的输出消息,但并不做发送者名字和地址的验证,这本是由SMTP的异步发送机制所决定的,但有人可能别有用心地用它来假扮别人发送邮件!本文强烈建议各位切勿轻易试用,一旦让ISP知道你的行径,你的帐号极可能会被立即删除.