我已将我的邮件帐户配置为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")
答案 0 :(得分:0)
您正在使用与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版本和配置,它可能会生成“第三方应用尝试发送邮件”的各种警告。