Проблемы аутентификации Exchange 2010
-
21-12-2019 - |
Вопрос
Так что я пытаюсь отправить автоматическое сообщение от Backend Excel VBA. Я очень компетентен в моем навыках VBA и использовал метод ниже с большим успехом в прошлом. У меня есть проблемы с использованием этого метода в моей новой среде, и я знаю, что это есть что связано с конфигурацией сервера Exchange, вопрос заключается в том, что парень, который управляет сервером Exchange, ни экспертов по обмену.
Public Function SendEmail(
txtTo As String,
txtSubject As String,
txtBody As String,
Optional txtSender As String = vbNullString,
Optional txtCC As String = vbNullString,
Optional txtBCC As String = vbNullString)
Dim objMsg As Object, objconfig As Object, objFields As Object
Set objMsg = CreateObject("CDO.Message")
Set objconfig = CreateObject("CDO.Configuration")
Set objFields = objconfig.fields
'Set the email configuration
With objFields
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "SMTP"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
.Update
End With
'Apply the various fields to the email object
With objMsg
.Configuration = objconfig
.From = txtSender
.Subject = txtSubject
.To = txtTo
.Cc = txtCC
.Bcc = txtBCC
.TextBody = txtBody
.Send
End With
SendEmail = IIf(Err.Number = 0, True, False)
'clean up
Set objMsg = Nothing
Set objconfig = Nothing
Set objFields = Nothing
End Function
.
Я пытаюсь отправить в группу рассылки, которая требует аутентификации. Мы выяснили, как удалить эту «функцию», чтобы отправить электронную почту, но это не идеально. Я пробовал использовать Basic / Clear Trust (1) для метода аутентификации, подавал мое имя пользователя и пароль к необходимым полям в объекте конфигурации и до сих пор не в кости. Когда я отправляю электронное письмо от Outlook, у меня нет проблем, отправляющих на электронное письмо, которое требует аутентификации, но при использовании CDO Exchange не позволит мне аутентифицироваться. Он также никогда не разрешает адрес отправителя, не уверен, что это связано или нет, но ради полного раскрытия там он есть. Я знаю, что сервер Exchange / SMTP настроен, чтобы разрешить анонимную отправку, но это, кажется, является единственным вариантом, который будет использовать CDO.
Я на моем концах. Любой обмен гууру, который может предложить некоторые предложения?
Спасибо, Чад
Решение
Ну, мне наконец смог удалось решить мою собственную проблему.Если у кого-то еще есть подобные проблемы, я думал, что поделился.Оказалось, что это проблема порта.
Стандартные порты для обмена - 25 и 465 для SSL (я верю).
В этом случае порт 25 был сконфигурирован для отправки анонимно из-за нашего брандмауэра (в основном принтеры и факсимильные машины).Я попробовал использовать порт 465, но оно сообщило, что порт не существует.
После многого копания на сервере Exchange я обнаружил, что для настройки аутентифицированных сообщений использовался номер произвольного порта для настройки аутентифицированных сообщений.Как только я жесткокодировал правильный номер порта в коде выше, у меня не было проблем с целью работы.Счастливое кодирование!