Outlook和Office 365不显示使用使用vb.net开发的外部软件发送邮件的已发送项目

问题描述:

我们在我们自己的域中有一个邮件标识。 我们将其配置在outlook以及office 365中。Outlook和Office 365不显示使用使用vb.net开发的外部软件发送邮件的已发送项目

我们使用的软件是用vb.net开发的商业用途。

使用此软件,我们通过我们自己的邮件ID(例如[email protected])向我们的客户发送邮件。

客户还可以正常收到邮件。

问题是我们无法在Outlook和Office365的“已发送邮件”中看到发送的邮件。

发送的项目不同步。

 Dim mailbody As String = "" 
     Dim Smtp_Server As New SmtpClient 
     Dim e_mail As New MailMessage() 
     Smtp_Server.UseDefaultCredentials = False 
     Smtp_Server.Credentials = New     Net.NetworkCredential("[email protected]", "password") 

     Smtp_Server.Port = 587 
     Smtp_Server.EnableSsl = True 
     Smtp_Server.Host = "smtp.office365.com" 
     e_mail = New MailMessage() 
     e_mail.From = New MailAddress("[email protected]") 
     Dim attachment As System.Net.Mail.Attachment 
     e_mail.To.Add(New_Enquiry.MAIL_ID.Text) 
     e_mail.Subject = "Thankyou for your Enquiry" 
     e_mail.IsBodyHtml = True 
     Smtp_Server.Send(e_mail) 

这些是我在vb.net中使用的代码。 它正常工作,但无法看到发送的邮件中发送的邮件。

我对gmail也使用了相同的代码,并且Gmail显示已发送邮件中的邮件。

请注意我的错误。

Gmail很特别:通过SMTP服务器发送的任何内容都会显示在已发送的文件夹中。这不是标准行为:如果您希望邮件显示在已发送的文件夹中,则必须将它们放在那里,通常使用IMAP和APPEND命令。如果您拥有正确的访问权限,则可以使用某种服务器端脚本为您执行此操作,但这不是默认设置。

+0

对不起,因为我是初学者,我无法跟随你。你说过“如果你想要在你的发送文件夹中显示消息,你必须把它们放在那里”我无法清楚地知道这一点。 –

+0

邮件不会自动显示在发送的文件夹中。如果你想要发送文件夹中的消息,你的程序必须在那里上传它们。像thunderbird这样的电子邮件客户端首先通过SMTP将消息发送到目的地,然后使用IMAP将第二个副本上传到已发送文件夹。 Gmail是一个例外,因为他们已经为您自动完成第二部分,但这是非标准的。 – Max

+0

让我说得有所不同。如果有东西在发送文件夹中,那么有些程序必须放在那里。 “服务器必须这样做”或“客户端必须这样做”没有任何规则。 Gmail做到了,Exchange不做。如果你想让它发生,你必须使用一个服务器来完成它,或者写一个客户端代码来完成它。 – arnt