此处任何有使用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
有没有人对如何解决这个问题有任何想法?或者是什么导致它?
答案 0 :(得分:1)
AFAIK Exchange通常会始终将发件人设置为登录人员的身份。
有几种解决方法,最简单的方法是不使用Exchange。只需通过“普通”SMTP发送邮件。
如果必须使用Exchange,则应以您尝试使用的发件人身份登录,或者设置您尝试用作发件人的帐户的权限。您正在使用的发件人应允许您使用的帐户登录以代表其发送邮件。可以通过outlook更改权限。
可能还有一种方法可以在Exchange服务器上放宽此限制,但我不是Exchange管理员,因此我不知道如何操作。