【发布时间】:2015-01-03 04:09:57
【问题描述】:
我搜索了很多,只能找到如何从 Exchange 中的共享/备用电子邮件帐户/邮箱获取收件箱消息,但我找不到如何从共享邮箱发送。
基本需求是,电子邮件来自“email2@domain.com”(我有权访问的共享邮箱)而不是我登录的主帐户(“email1 @domain.com')。另外,发送的邮件应该保存在共享邮箱的发送文件夹中。
Exchange 的工作方式是您登录您的主帐户,然后您可以从该主帐户中打开其他共享邮箱(前提是您有权访问它)。如果我使用下面的代码,它仍然会从我的 email1@domain.com 发送。
service = New ExchangeService(ExchangeVersion.Exchange2013)
service.Credentials = New NetworkCredential(username, _pw)
service.TraceEnabled = True
service.TraceFlags = TraceFlags.All
service.AutodiscoverUrl("email2@domain.com", AddressOf ValidateRedirectionUrlCallback)
Dim message As New EmailMessage(service)
message.Subject = subject
message.Body = body
For Each Item In _to
message.ToRecipients.Add(Item)
Next
For Each Item In AttachmentPaths
message.Attachments.AddFileAttachment(Item)
Next
message.SendAndSaveCopy()
我开始认为消息对象可能必须设置某些属性,使其看起来像是来自 email1 但实际上是从我的主帐户发送的,但这是官方/最佳方式吗?如果是这样,我应该设置哪些属性以使它看起来像是来自另一个邮箱?
我假设我会手动将邮件保存到共享邮箱的已保存文件夹中。
谢谢。
【问题讨论】:
-
您是否考虑过使用
SMTPClient? -
只是一个疯狂的猜测:可能共享邮箱是不够的,你需要“委托访问”
标签: .net vb.net email exchangewebservices