【问题标题】:Mailing Through Exchange webservice (VB.NET)通过 Exchange 网络服务 (VB.NET) 发送邮件
【发布时间】:2011-11-24 08:52:22
【问题描述】:

这里有使用 Exchange 网络服务经验的任何人。

我正在尝试使用网络服务向自己发送电子邮件。此电子邮件有另一个地址作为发件人,但它一直将我的收件人电子邮件地址作为发件人:s

这是我的代码:

    Dim Message As MessageType = New MessageType()
    Message.Subject = txt
    Message.Body = New BodyType()
    Message.Body.Value = ActiesOverzicht

    Message.Sender = New SingleRecipientType
    Message.Sender.Item = New EmailAddressType
    Message.Sender.Item.EmailAddress = SenderEmail

    Message.ToRecipients = New EmailAddressType(0) {}
    Message.ToRecipients(0) = New EmailAddressType()
    Message.ToRecipients(0).EmailAddress = RecipientsEmail

    Message.Sensitivity = SensitivityChoicesType.Normal

此消息进入列表并使用以下代码发送:

    Public Sub SendMailToOperator(messageList As List(Of MessageType), esb As ExchangeServiceBinding)
    ' Create the CreateItem request.
    Dim createEmailRequest As New CreateItemType()

    ' Specifiy how the e-mail will be handled.
    createEmailRequest.MessageDisposition = MessageDispositionType.SendOnly
    createEmailRequest.MessageDispositionSpecified = True

    ' Create the array of items.
    createEmailRequest.Items = New NonEmptyArrayOfAllItemsType()
    ' Add the message to the array of items to be created.
    createEmailRequest.Items.Items = messageList.ToArray()
    'createEmailRequest.Items.Items(0) = Message

        ' Send a CreateItem request and get the CreateItem 
        ' response.
        Dim createItemResponse As CreateItemResponseType = esb.CreateItem(createEmailRequest)
     End Sub

有人对如何解决这个问题有任何想法吗?或者是什么原因造成的?

【问题讨论】:

  • 在这种情况下,您的收件人是您自己?交易所可能会解决这个问题。

标签: web-services email exchange-server


【解决方案1】:

AFAIK Exchange 通常会始终将发件人设置为登录人的身份。

有几种方法可以解决这个问题,最简单的方法是不使用 Exchange。只需通过“普通”SMTP 发送邮件。

如果您必须使用 Exchange,则应以您尝试使用的发件人身份登录,或为您尝试用作发件人的帐户设置权限。您使用的发件人应允许您用于登录的帐户代表它发送邮件。可以通过outlook更改权限。

可能还有一种方法可以放松对 Exchange 服务器的此限制,但我不是 Exchange 管理员,所以我不知道如何做。

【讨论】:

  • oooh k,所以当我让我的代码在服务中运行并且该服务在不同的身份上运行时,它会采用该身份吗?如果是这样:我不介意那样做。
  • 在 Active Directory 环境中它将使用该身份,我猜这对于服务来说仍然是正确的,但您必须对此进行测试。否则,您可能可以在连接到 Exchange 时显式指定登录,但我不知道如何在 VB 中执行此操作。
猜你喜欢
  • 2017-07-28
  • 1970-01-01
  • 1970-01-01
  • 2011-03-31
  • 2014-02-06
  • 2014-10-06
  • 1970-01-01
  • 1970-01-01
  • 2012-01-20
相关资源
最近更新 更多