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
命令。如果您拥有正确的访问权限,则可以使用某种服务器端脚本为您执行此操作,但这不是默认设置。
对不起,因为我是初学者,我无法跟随你。你说过“如果你想要在你的发送文件夹中显示消息,你必须把它们放在那里”我无法清楚地知道这一点。 –
邮件不会自动显示在发送的文件夹中。如果你想要发送文件夹中的消息,你的程序必须在那里上传它们。像thunderbird这样的电子邮件客户端首先通过SMTP将消息发送到目的地,然后使用IMAP将第二个副本上传到已发送文件夹。 Gmail是一个例外,因为他们已经为您自动完成第二部分,但这是非标准的。 – Max
让我说得有所不同。如果有东西在发送文件夹中,那么有些程序必须放在那里。 “服务器必须这样做”或“客户端必须这样做”没有任何规则。 Gmail做到了,Exchange不做。如果你想让它发生,你必须使用一个服务器来完成它,或者写一个客户端代码来完成它。 – arnt