【问题标题】:How to save mail in Sent Items in MS Outlook using VB.Net如何使用 VB.Net 在 MS Outlook 中的已发送邮件中保存邮件
【发布时间】:2011-05-25 20:47:42
【问题描述】:

我已将我的邮件帐户配置为 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")

【问题讨论】:

标签: vb.net outlook


【解决方案1】:

您正在使用独立于 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 版本和配置,它可能会生成“第三方应用程序正在尝试发送邮件”的各种警告。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-08
    • 1970-01-01
    • 2020-09-06
    • 2021-04-01
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    • 2014-11-05
    相关资源
    最近更新 更多