Проблема ASP CDO с запросом уведомления о прочтении

У меня проблемы со старым классическим приложением ASP, где в коде используются уведомления о прочтении. Эта конкретная процедура успешно использовалась в течение нескольких лет, но недавно мы перешли на новый сервер с Windows 2008 r2, IIS 7.5 и клиентом SmarterMail 11.07. Теперь всякий раз, когда приложение пытается отправить электронное письмо, сгенерированное сервером, журналы SmarterMail показывают, что оно успешно получает и аутентифицирует отправку, но, похоже, прерывает или прерывает соединение без причины и не отправляет электронное письмо без каких-либо ошибок. Я в недоумении, потому что, как я уже сказал, эта процедура уже некоторое время работает без проблем, и если мы не выберем опцию «прочитать-получить» в приложении ASP, электронная почта будет распространяться нормально. Я включил сокращенную версию кода ниже и в основном искал подтверждение того, что код для всех предполагаемых целей должен работать как есть, и если кто-то может знать о подобных проблемах, связанных с этим, в самом SmarterMail, например, какой-то параметр безопасности по умолчанию, я не зная. Между прочим, если мы вручную используем интерфейс веб-почты SmarterMail, мы можем успешно отправлять почту с уведомлениями о прочтении, поэтому я знаю, что это должно быть возможно. - Большое спасибо!

Пример кода

    set Mail = Server.CreateObject("CDO.Message")

    'Basic configuration
    Mail.AutoGenerateTextBody = 0
    Mail.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strHost
    Mail.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    Mail.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = strPort
    Mail.Configuration.Fields.Update

    Mail.Fields("urn:schemas:mailheader:X-Mailer") = "Custom EMailer"
    Mail.Fields.update

    'Priority 
    Mail.Fields("urn:schemas:mailheader:X-Priority") = emPriority  
    Mail.Fields("urn:schemas:mailheader:X-MSMail-Priority") = emPriorityTxt  
    Mail.Fields("urn:schemas:httpmail:importance") = emPriority  
    Mail.Fields.update

    'Addressing
    With Mail
      .From = strFrom
      .ReplyTo = strReplyTo
      .To = strTo
      .CC = strCc
      .BCC = strBCc
    End With

    'Attachments
    if len(sfls) > 0 then
      if instr(1,sfls,",",1) > 0 then
        strAttachments = split(sfls,",",-1,1)
      else
        strAttachments = sfls
      end if

      if isarray(strAttachments) then
        for x = 0 to ubound(strAttachments)
          Mail.AddAttachment strAttachments(x)
        next
      else
        Mail.AddAttachment strAttachments
      end if
    end if

    'Body
    Mail.Subject = strSubject
    if isHTML then
      Mail.HTMLBody = strBody
    else
      Mail.TextBody = strBodyTxt
    end if

    '###################################################################
    'If this section is included the email will not send, times out or 
    'connection is terminated, according to the SmarterMail logs
    '###################################################################
    ' Read/Delivery Receipt
    if isRead then
      Mail.Fields("urn:schemas:mailheader:disposition-notification-to") = rrReplyTo
      Mail.Fields("urn:schemas:mailheader:return-receipt-to") = rrReplyTo  
      Mail.DSNOptions = 14
      Mail.Fields.Update
    end if
    '###################################################################

    'Send Message
    strErr = ""
    bSuccess = False
    On Error Resume Next
    Mail.Send
    If Err <> 0 Then
      strErr = Err.Description
    else
      bSuccess = True
    End If

    set Mail = nothing

============================================================


person rxdevelop    schedule 23.07.2014    source источник
comment
Общий вопрос: содержит ли поле rrReplyTo, которое вы назначаете полям распоряжения и квитанции о возврате, ожидаемое значение? Вероятно, он инициализирован и назначен над фрагментом, но есть ли шанс, что вместо него должно быть strReplyTo?   -  person Bret    schedule 24.07.2014
comment
@Bret: Да, rrReplyTo — это предустановленная переменная, заполненная соответствующим адресом электронной почты, на который должна быть отправлена ​​квитанция о возврате. Адрес электронной почты также является действительным адресом электронной почты. Спасибо.   -  person rxdevelop    schedule 25.07.2014
comment
см. stackoverflow.com/a/58245609/5216675   -  person Carmen Nuccio    schedule 05.10.2019