SMTP.Send()在电子邮件发送会话之后(或期间)返回?

时间:2011-05-09 00:50:05

标签: vb.net email smtp mailmessage

这个vb.net代码似乎只运行 如果运行...并且在我看到“发送电子邮件”消息后,我会让程序再打开5-10秒。如果我改为等待0-1秒,然后关闭prg,则电子邮件无处可去。

在电子邮件完全发送后,SMTP.Send()是否会返回...或者只是当电子邮件BEGINS出去时? (有时,电子邮件正文和/或文件附件可能长达10k,需要一段时间。)


Dim myMailMessage As New Net.Mail.MailMessage()
myMailMessage.From = New Net.Mail.MailAddress(fromEmail)
myMailMessage.To.Add(toEmail)
myMailMessage.Subject = strSubject
myMailMessage.Body = strBody
myMailMessage.IsBodyHtml = True

Dim SMTP As New Net.Mail.SmtpClient("smtp.gmail.com")
SMTP.Port = 587
SMTP.EnableSsl = True
SMTP.Credentials = New System.Net.NetworkCredential(fromEmail, password)
SMTP.Send(myMailMessage)
call MsgBox("Email is completely done sending")

1 个答案:

答案 0 :(得分:1)

http://msdn.microsoft.com/en-us/library/swas0fwc.aspx

这不是异步调用,因此只有在发送电子邮件后才会返回。