Move all our traffic from smtp.office365.com to smtp.azurecomm.net cause removal of SendTo address on the BCC copy

Anders Axeen 0 Ryktespoäng
2025-12-12T11:27:25.0133333+00:00

As of now we try to move all our relayed mail traffic from smtp.office365.com to Microsoft ACS smtp.azurecomm.net and there is a difference in behaviour which is for us is a showstopper. In the BCC we put a archive copy e-mail address and the mail arrives safely in the archive storage, however on those copies the original recipient (SendTo) is not present. The CC recipient is present. It is easy to understand that these archive copies is of no use since the original SendTo is missing. Relaying via smtp.office365.com works OK. Originating server that relays the traffic is an HCL Domino server version 14.0.FP4. The mails do arrive to all recipients irregardless To, Cc or Bcc but the To is missing on all copies.

.

/// Flyttad från Microsoft 365 och Office | Annat ///

Windows för företag | Windows 365 Business
0 kommentarer Inga kommentarer

4 svar

Sortera efter: Mest användbara
  1. VPHAN 45,745 Ryktespoäng Oberoende rådgivare
    2025-12-16T22:12:56.5266667+00:00

    Hej Anders Axeen,

    Så problemet är att Azure Communication Services (ACS) aktivt sanerar headers för att upprätthålla strikta SMTP-integritetsstandarder. ACS ser en avvikelse mellan kuvertmottagaren (arkiv-/BCC-adressen) och meddelandehuvudet (ursprungsmottagaren), så det tar bort "Till"-huvudet för att förhindra potentiella integritetsläckor. Eftersom standardregler för Domino Server Mail är begränsade till routningsåtgärder (t.ex. Flytta, Refusa, Kopiera) och inte kan "Sätta fält-/headervärden direkt", kräver implementeringen av Arons förslag en lägre nivå-intervention.

    Här är den tekniska genomgången av de två alternativen för att lösa detta: "Code-Based"-metoden (den du bad om) och "Architecture-Based"-metoden (bästa praxis).

    1/ För att injicera en X-Original-To header måste du skapa en formelagent som körs på e-postlådorna innan routern tar emot meddelandet. Detta kringgår gränssnittets begränsningar.

    Skapa agenten: Öppna HCL Domino Designer och öppna databasen mail.box (och mail2.box så vidare, eller helst mallen mailbox.ntf för att göra den permanent).

    Skapa en ny agent.

    Namn: Add Archive Header

    Trigger: After documents are created or modified

    Mål: None

    Kod (formelspråk):

      FÄLT X-Original-To := X-Original-To; @If(@IsAvailable(SkickaTill); @SetField("X-Original-Till"; @Implode(SkickaTill; ", ")); ""); VÄLJ @All
         
           _Note:_ This formula checks if `SendTo` exists, then flattens the list of recipients into a comma-separated string and saves it into a new field called `X-Original-To`.
           
           __Expose the Header to MIME:__ Go to __Domino Administrator__ > __Configuration__ > __Messaging__ > __Configurations__. Edit your server's Configuration Document. Navigate to __MIME__ > __Advanced__ > __Advanced Outbound Message Options__. In the field __"Always send the following Notes items in headers"__, add: `X-Original-To`.
           
           __=>Save & Close__.
           
         __Restart the Router:__ Run `tell router update config` or restart the router task. ACS should now see the `X-Original-To` header and pass it through untouched, as it does not validate custom X-headers against the envelope.
         
         Option 2: The "Journal Rule"
         
      

    Du simulerar för närvarande arkivering genom att använda "BCC", vilket är anledningen till att ACS tar bort headers (den tror att du blindkopierar en person som inte borde se de andra mottagarna). Den korrekta SMTP-mekanismen för detta är Envelope Journaling, som slår in det ursprungliga mejlet i ett nytt.

    Ändra din Server Mail-regel:

    Gå till konfiguration > meddelanden > regler.

    Istället för din nuvarande regel som utför en "Skicka blind kopia till", skapa en ny regel.

    Tillstånd: (Samma som dina nuvarande kriterier, t.ex. All Documents eller specifik avsändare).

    Åtgärd: Välj Journal this message.

    Target: Ange din ACS Archive-e-postadress.

    Resultat:

    Domino skapar en ny e-postadress.

    Kuvert till: Din arkivadress (ACS hanterar detta glatt).

    Innehåll: Det ursprungliga mejlet (med alla original, To CC, och BCC rubriker intakta) bifogade som ett .eml eller Anmärkningsmeddelande.

    Ditt arkivsystem behöver bara tolka bilagan för att få metadata. Detta är 100 % kompatibelt med alla SMTP-reläer inklusive O365 och ACS.

    Jag hoppas att du har hittat något användbart här. Om det hjälper dig att få mer insikt i problemet uppskattas det att acceptera svaret. Om du har fler frågor, lämna gärna ett meddelande. Ha en trevlig dag!

    VP

    Var det här svaret till hjälp?

    0 kommentarer Inga kommentarer

  2. Anders Axeen 0 Ryktespoäng
    2025-12-16T15:32:01.73+00:00

    I tried the propsed solution forcing the preservation of the SendTo, CopyTo and BlindCopyTo fields as suggested by VPHAN but that did not workout.

    I did also check what HCL Software says about this as follows:

    Based on our review of Microsoft’s official Azure Communication Services (ACS) and SMTP mail flow documentation, the behavior you observed is consistent with how ACS processes outbound email. Azure Communication Services adheres more strictly to standard SMTP handling, where CC and BCC recipients are managed at the SMTP envelope level rather than being preserved in the visible message headers. Because of this, copies delivered to CC or BCC recipients may not contain the original SendTo (To:) information, even though the message is successfully delivered to all intended recipients. From the Domino side, there has been no change in how messages are constructed or relayed. Domino always populates the SendTo, CopyTo, and BlindCopyTo fields correctly in the message before handing it off to the configured SMTP relay. This is further supported by your test results: when the same Domino environment relays mail via smtp.office365.com, the SendTo addresses are retained and displayed as expected. Based on this, there is no Domino configuration, parameter, or supported setting that can influence how Azure Communication Services preserves or rewrites recipient headers after the message leaves Domino. The difference in behavior is due to the downstream SMTP service and how it exposes message headers to recipients. Moving back to smtp.office365.com is, therefore, a valid workaround, as it preserves the recipient headers in a way that matches your existing workflow and long-standing behavior.

    So, I guess we have to stay with smtp.office365.com for the time being.

    However, as Aron mentions I am curious at adding a header rule in Domino to preserve recipient details which could allow us to stay with MS ACS. I need some help/explanation on how to do that.

    Var det här svaret till hjälp?

    0 kommentarer Inga kommentarer

  3. Anonym
    2025-12-12T14:23:58.5366667+00:00

    Hi, I understand how important it is for your archive copies to include the original recipients.

    The issue happens because when you switched from smtp.office365.com to smtp.azurecomm.net, the ACS relay strictly follows SMTP standards, which means BCC recipients are handled at the envelope level and not in the message headers.

    As a result, the archive copy you send via BCC doesn’t retain the original to header, making those copies incomplete for your needs.

    To fix this, you can either keep journaling local in Domino, so it captures all recipients before headers are stripped or add a custom header like X-Original-To that lists the original recipients before relaying through ACS.

    Another option is to send a dedicated copy to the archive address as the only To and include that custom header.

    Would you prefer to keep the archive flow on Office 365 for simplicity, or should we look at adding a header rule in Domino to preserve recipient details?

    Regards,
    Aron

    Var det här svaret till hjälp?

    0 kommentarer Inga kommentarer

  4. VPHAN 45,745 Ryktespoäng Oberoende rådgivare
    2025-12-12T12:06:18.42+00:00

    Hej du

    Detta är en nyanserad fråga som härrör från den grundläggande arkitektoniska skillnaden mellan Exchange Online (O365) och Azure Communication Services (ACS). Även om båda är Microsoft SMTP-endpoints tjänar de olika syften: Exchange Online är en fullstackad Enterprise Messaging-plattform utformad för att hantera komplex routing (inklusive efterlevnadsjournaling och BCC-headerbevarande), medan ACS är en implementation av en "Notification Service" som främst är utformad för transaktionella applikationsmail.

    Eftersom du inte kan ändra den interna koden för ACS SMTP-gatewayen måste du ändra hur HCL Domino presenterar meddelandet till ACS, eller ompröva tjänstevalet för just denna trafikström.

    Alternativ 1: Byt från "BCC" till "Journaling" (Rekommenderas): Om du använder en standard inställning "Auto-BCC" eller "Always Send To" i Domino Configuration-dokumentet, ändra detta till Journaling. Standard BCC skickar bara en kopia av råmeddelandet. Journaling (Envelope Journaling) slår in det ursprungliga mejlet (inklusive alla ursprungliga P1- och P2-rubriker) i ett nytt mejl som en bilaga (vanligtvis en .eml eller TNEF-fil).

    => "Till" i det nya omslagsmailet kommer att vara din arkivadress (som matchar P1 och P2), så ACS levererar det säkert. När den anländer till ditt arkiv öppnar du bilagan för att se de ursprungliga "SkickaTill"-huvuden intakta. För att göra detta, i HCL Domino Administrator, kolla Configuration Settings > Router/SMTP > Advanced >.Journaling Aktivera dagboksföring istället för att använda en enkel blindkopieringsregel.

    Alternativ 2: Tvinga "Header Preservation" via Domino (mindre pålitligt): Om du måste hålla dig till BCC, kontrollera dina Domino MIME-konverteringsinställningar. ACS kan avvisa headern på grund av specifika MIME-formateringsproblem i Domino v14. För att göra detta, gå till Configuration Settings > MIME > Advanced >.Outbound Se till att "Skicka alltid följande anteckningar i rubriker" inkluderar SendTo, CopyTo, BlindCopyTo. Detta löser sannolikt inte problemet om ACS aktivt tar bort headers under P1/P2-valideringen, men det är värt en verifiering.

    Dessutom kan du titta på videon nedan för mer information. Den ger en tydlig översikt över de avsedda användningsområdena för ACS SMTP Relay och betonar dess fokus på applikationsleverans snarare än infrastrukturruttning.https://www.youtube.com/watch?v=OyJ2FILswtY

    Jag hoppas att du har hittat något användbart här. Om det hjälper dig att få mer insikt i problemet uppskattas det att acceptera svaret. Om du har fler frågor, lämna gärna ett meddelande. Ha en trevlig dag!

    VP

    Var det här svaret till hjälp?

    0 kommentarer Inga kommentarer

Ditt svar

Svar kan markeras som godkända svar av personen som ställde frågan, och som rekommenderade svar av moderatorerna, vilket hjälper användarna att veta om svaret löste problemet.