In the case that there are X500 addresses used in the sender and recipient headers, Aspose will postprocess them (???):
  "Aspose" when {
    "i use X500 addresses" should {
      "pass them through to MIME verbatim" in {
        val mapiMessage = new MapiMessage()
        mapiMessage.setSenderEmailAddress("/O=EXCHANGELABS/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=BLABLABLA-DAVID STANCU")
        mapiMessage.setSenderName("David Stancu")
        val asMime = mapiMessage.toMailMessage(new MailConversionOptions())
        val baos = new ByteArrayOutputStream()
        asMime.save(baos)
        val bais = new ByteArrayInputStream(baos.toByteArray)
        val javaMailMessage = new MimeMessage(mailSession, bais)
        assert(
          javaMailMessage.getSender.toString ===
          """"David Stancu" </O=EXCHANGELABS/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=BLABLABLA-DAVID STANCU>"""
        )
      }
      "pass them through verbatim if we toggle the flag?????" in {
        val mapiMessage = new MapiMessage()
        mapiMessage.setSenderEmailAddress("/O=EXCHANGELABS/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=BLABLABLA-DAVID STANCU")
        mapiMessage.setSenderName("David Stancu")
        val mco = new MailConversionOptions()
        mco.setKeepOriginalEmailAddresses(true)
        val asMime = mapiMessage.toMailMessage(mco)
        val baos = new ByteArrayOutputStream()
        asMime.save(baos)
        val bais = new ByteArrayInputStream(baos.toByteArray)
        val javaMailMessage = new MimeMessage(mailSession, bais)
        assert(
          javaMailMessage.getSender.toString ===
            """"David Stancu" </O=EXCHANGELABS/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=BLABLABLA-DAVID STANCU>"""
        )
      }
      "maybe if i set it as a header?" in {
        val mapiMessage = new MapiMessage()
        mapiMessage.getHeaders.set("from", "/O=EXCHANGELABS/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=BLABLABLA-DAVID STANCU")
        val mco = new MailConversionOptions()
        mco.setKeepOriginalEmailAddresses(true)
        val asMime = mapiMessage.toMailMessage(new MailConversionOptions())
        val baos = new ByteArrayOutputStream()
        asMime.save(baos)
        val bais = new ByteArrayInputStream(baos.toByteArray)
        val javaMailMessage = new MimeMessage(mailSession, bais)
        // <> chars are from javax.mail presentation
        assert(
          javaMailMessage.getFrom.head.toString ===
            "</O=EXCHANGELABS/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=BLABLABLA-DAVID STANCU>"
        )
      }
    }
In order
Test 1 and 2:
Expected :"["David Stancu" </O=EXCHANGELABS/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=BLABLABLA-DAVID STANCU]>"
Actual   :"[<"David Stancu"]>"
Test 3:
Aspose is inserting a newline in the middle of the header??? (nvm, folding is OK, but why change the value)
Here is the output MIME:
From: "/O=EXCHANGELABS/OU=EXCHANGE ADMINISTRATIVE GROUP
 /CN=RECIPIENTS/CN=BLABLABLA-DAVID STANCU"
Content-Type: text/plain
MIME-Version: 1.0
Expected :"<[/O=EXCHANGELABS/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=BLABLABLA-DAVID STANCU]>"
Actual   :"<["/O=EXCHANGELABS/OU=EXCHANGE ADMINISTRATIVE GROUP /CN=RECIPIENTS/CN=BLABLABLA-DAVID STANCU"]>"
setKeepOriginalEmailAddresses in MailConversionOptions appears to resolve SMTP addressess from PST metadata however it breaks the To fields in the process. I don’t know why this is the case and I will try to get you test data.
Given the severity of this bug (and the timestamp issue), we are expecting Aspose to step up and do the right thing: give us an extension on our license such that we can consume these updates once your team has fixed them. Without this goodwill gesture we will not plan on a renewal and will excise Aspose products from our stack entirely.