如何解决如何使用VB.Net在MS Outlook中的“已发送邮件”中保存邮件
|| 我已经配置了我的邮件帐户到Microsoft Outlook,如果我从Outlook发送邮件,它运行的很好,并且副本存储在已发送的邮件中,但是当我尝试从vb.net Windows应用程序发送邮件时,邮件的发送方式很好,但是邮件副本未存储在已发送邮件中,请问我该如何提前实现 我的代码如下 Dim mail As New MailMessage()
mail.From = New MailAddress(\"mail1@test.in\")
mail.To.Add(\"mail2@test.in\")
mail.Subject = \"test\"
mail.Body = \"test\"
Dim smtp As New System.Net.Mail.SmtpClient(\"smtp.rediffmailpro.com\",25)
smtp.EnableSsl = False
smtp.Credentials = New System.Net.NetworkCredential(\"mail1@test.in\",\"xyz123\")
smtp.Send(mail)
MsgBox(\"email sent\")
解决方法
您正在使用独立于Outlook的System.Net.Mail库。在邮件发送之前,期间或之后,Outlook对邮件一无所知。这就是“已发送邮件”文件夹中没有消息的原因。
如果希望邮件显示在“已发送邮件”中,则需要使用Outlook对象库本身发送邮件。该代码与您发布的代码没有太大不同。将会是这样的:
Dim o As New Outlook.Application
Dim item As Outlook.MailItem
item = o.CreateItem(Outlook.OlItemType.olMailItem)
item.Subject = \"subject etc\"
item.Body = \"blah blah\"
item.To = \"test@test.com\"
\'to preview to user,for him to manually hit send
item.Display()
要么
\'to send
item.Send()
您当然必须引用Outlook库。
另外,根据您的Outlook版本和配置,它可能会生成各种警告,说明“第三方应用程序正在尝试发送邮件”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。