Sample code for 30+ languages & platforms
PureBasic

Decrypt Email using RSAES-OAEP with AES-128 CBC and SHA256

See more Email Object Examples

Demonstrates how to decrypt an email that was encrypted using RSAES-OAEP with SHA256 and AES-128 content encryption.

Note: This example requires Chilkat v9.5.0.67 or greater.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkEmail.pb"

Procedure ChilkatExample()

    success.i = 0

    email.i = CkEmail::ckCreate()
    If email.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    ; To decrypt an email, we must provide the certificate + private key
    ; that matches the cert + public key that was used to encrypt.
    ; This can be done by adding PFX sources.
    ; (On a Windows system, if the cert+private key was installed on the system,
    ; then Chilkat should automatically find the matching cert+key and use it to decrypt.)

    success = CkEmail::ckAddPfxSourceFile(email,"qa_data/rsaes-oaep/cert_plus_privatekey.pfx","PFX_PASSWORD")
    If success <> 1
        Debug CkEmail::ckLastErrorText(email)
        CkEmail::ckDispose(email)
        ProcedureReturn
    EndIf

    ; Email objects automatically decrypt when loaded from a file, or when loaded from MIME (which
    ; includes when being downloaded from a mail server).
    success = CkEmail::ckLoadEml(email,"qa_data/rsaes-oaep/rsaes-oaep-encrypted.eml")
    If success <> 1
        Debug CkEmail::ckLastErrorText(email)
        CkEmail::ckDispose(email)
        ProcedureReturn
    EndIf

    ; Note: It is not necessary to know in advance the algorithms needed to decrypt.
    ; The information about the RSA algorithm (OAEP vs PKCS-v1_5), the OAEP hash algorithm,
    ; and the content encryption algorithm (such as AES-128), are all contained within
    ; the PKCS7 ASN.1 structures and any decryptor would read these to know what to do.

    ; We can check to see if the email was actually encrypted, and if so, whether it
    ; was successfully decrypted:
    If CkEmail::ckReceivedEncrypted(email) = 1
        Debug "This email was encrypted."
    Else
        Debug "This email was not actually encrypted."
        CkEmail::ckDispose(email)
        ProcedureReturn
    EndIf

    ; Now check to see if it was successfully decrypted.
    If CkEmail::ckDecrypted(email) <> 1
        Debug "Unable to decrypt this email."
        CkEmail::ckDispose(email)
        ProcedureReturn
    EndIf

    ; Save the decrypted .eml
    success = CkEmail::ckSaveEml(email,"qa_output/decrypted.eml")

    ; OK.. getting here means the email was decrypted.
    Debug "The email was successfully decrypted."

    ; The MIME of an encrypted email looks like this:

    ; MIME-Version: 1.0
    ; Date: Tue, 18 Apr 2017 10:12:16 -0500
    ; Message-ID: <7ED75DF554717DC7994D7EB757E30709E8733C5C@CHILKAT13>
    ; Content-Type: application/pkcs7-mime; name="smime.p7m"; smime-type="enveloped-data"
    ; X-Priority: 3 (Normal)
    ; Subject: This is a sample email
    ; To: "Chilkat Support" <support@chilkatsoft.com>
    ; From: "Chilkat GMail" <chilkat.support@gmail.com>
    ; Content-Disposition: attachment; filename="smime.p7m"
    ; Content-Transfer-Encoding: base64
    ; 
    ; MIIorAYJKoZIhvcNAQcDoIIonTCCKJkCAQAxggGgMIIBnAIBADB1MGgxCzAJBgNVBAYTAlVTMQsw
    ; CQYDVQQIDAJJTDEQMA4GA1UEBwwHV2hlYXRvbjEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQ
    ; dHkgTHRkMRcwFQYDVQQDDA5DaGlsa2F0V2lkZ2V0cwIJAMRwugDmvniwMBwGCSqGSIb3DQEBBzAP
    ; oA0wCwYJYIZIAWUDBAIBBIIBAIJY4pN5LdVt8UiwC7sHnzEu15pJmDyiHLL+E024quIP+wU6k/WM
    ; 9hkNKDuUa5lyz4IqI4/KWlqFbCf43/TllsGHjEnKyWvcmdJxfcf1BU3+nj6t9LFRPYWeMkZHoa0g
    ; E21VzlZQgq/OV/1bG6hzpqtyQyQC3kAszR6GzEz89BJHjRIUv5rpgPwvEhdvG6i8nyChsCfK/ZYw
    ; VCv/HbBQrYXnJemiE4OOBy8nea0dMTzjQH2eqGplNh5gq21/FgUKTfNX+vqyPFaGZ9jjqdOGuewx
    ; E58ln/3NlfOWnL61evVFXD99XQEPzK6FPep4b4sC4gQKwH+tudYTNFn8xskN5t4wgibuBgkqhkiG
    ; 9w0BBwEwHQYJYIZIAWUDBAECBBBd6O3DQBKr4muGqiYIMHaWgIImwNU9MZGkfh0KoIlYodHUi6Mb
    ; Hic8dFqXkKSbfZi9+ofsSaQm8xoytO/uXbpSkdyw8kMruS64IxvuCcIa2kebUhb2nURT9vs7zaqy
    ; nDliAkEyZuMdZuzqGlPqbCCrXvXqAeUpBUz2k/r7bdgQVgBFEhsIOrB7acCgLPdJi0b8qozR8CGd
    ; lvUxX3ir+dAJiSqUlyE3lSE4ldk9Z5u3nhEGAaVAFdj/aOeHyqtz5KwObbuNBBresbBovi/H/XDQ
    ; xStJkMkW7luijk1jPaMoupnMI6gfDW6axyperKOIPveyXX2b5JkyFJWpg9pbvp8WFpPTsPjUqZrb
    ; VUNNh3+JEjhkUkOpWLOxQ0+qnvwJtfUg7tH6CM2mSUV1AaBAkTrK8micVqNwoSaUjSiEvvaWTFi1
    ; mjAhXgcRowuP1hHjEbm7Ia+h7k9eJCDeCYvIVWCsOFSREkgujQphMRRDwUzFq3aT6dUXDhMJyouq
    ; zOVttHBFFWcgzcExTQccIfDLB85GN3YXPRf/dWv3t4iY8KbVj1hI12WkDjK80dHNY1+6UfixFPMN
    ; P2L0Ojh+TlRxoJF7D1jdIklkP1lByAqIOptyJqyQ19W2GzXUlqbTt9wbJpTvtdyKQrrsyDT0nYWs
    ; R9P50zcxtvxx8mYQP7fExEf1fZYpUreGfjMQ/+vorHNTAvvq0MIpnzsAzm8nkjY+wdyPdbOC94Wa
    ; MuimOUOkWXg5Pr0MS5nnwejns2G4hYHkZJgIoTU7drsfYpQn8eHxaJcWK2c/l662bUJKyxT7lQjZ
    ; 7I+iWYkKB/NvrQQLaQO82QqZml+bR6K9bfRIEz1wtozEj5X9YG3DxNtR1pO2NGOZC0Sp4eegVFkO
    ; IQojbCRrnmPQ6lAY7e8zLIR9amsHQ7aNyuo5L+mSzJZ1SaA9NMIoKSwT/Z3GvYQHNwpsU3rsN00v
    ; MUumlLWCJkK5mTuFsfekmHhD9yuAsMviqAabwgay6BjjJdRA6cbQhv9N+OS+e1XnLOCDhgeKzSCj
    ; i30QTzV1e3mXN5uop/kJDCToacMymWpFbKZDZXFkLWFbqIz5dK84Be28uUAOYVanWHeBeddWNhfC
    ; knUcRZri6Q7zExGyMzCRv+MB4DtY7gBGQAPvVm6SOJDzWSSmH4yv+DK9xycL3MouQyj5O7TOHKCS
    ; 5/DmJy2ucNCM/fKri6sW7LrbljL+Y1t5lkF7brL7t8GZ93pi4zc1TdlTwqEf6xgn3I9vu/vkPx+h
    ; mf/10k9iiRtorUx/b870Myoisf/fu0CQbMQF9ar4E1wcNvgyYw6L/61U8def2BUPkzy2KqzeY2zV
    ; E+iZwlarEfcgY8BUIt/rsT8cbXu2hPWsZ/wqBOxdersIQiSEs4bn4bkB2YAUQ7AtIrJCQtcn+pXG
    ; BIZyzUYw+nuICcroMQEZiIJ5QzQX+ScRkIrk2vCBoTqVwfu0fh8Q0e9dNJug5LIMurddR5NrZGbB
    ; dpa+RrRZqWRXHXjCLDm5CGLWZN2C5gJhnWgPtgGgBe2sAaAFJIyImmhe9aIo2Xbf/ZiwDX+HBcMk
    ; fnPDsVcyNjP2OaiogLWWMdZK25HQOhMl+tC97iDPJezhtq49iQYaNykD0XHWQ+ER2RHzomLBW6Nl
    ; dGH/rtLEN1aEj6MJBA2AtivXp9SLvvsdKonOoOiCIi+HfUvPnK6drmlrz5BDeDPNHYOQZaQIXI6x
    ; ogTozqRUvJnuozJ0eHdvQGJYA/WoI7XCWZVoSvtkaveFJch9+V++JOCt6XAZ7Y2c9RlOZI+USc7n
    ; 68V3aHCAKBQHWcX67+w/LWbJHxfzYxE4LaAX6MHDVy+GjKWk+GajJlwzgnyDCyG7XNcY4HQ/gZpM
    ; HINz4THt1AqqHGKNevSTnQcQs/6K4r+/QSbDFhxKugmKtI1aZLTOMVd6I7qEYdxlKliK5fKaCVM1
    ; OLyBZZnVYVH5owJjd2/bppHtxxQfOJ5TIQBU8ecffSEy44FBaCooJSxVScRljtsl+pwQri87eU2U
    ; Lme5FbRNOu0qtrm5f/H5fQOF6W4n17sCUuJm87yXEa6sU5M+nsuQfw8Tc6mma3Lc6iUJYPhUFvn7
    ; pOC75VOAS0ehJv39AVQiwBPFITEPl1klDS5811wLtqT9tCVspkbbjEHgdUWJX/a1l8eWFYGKn2LQ
    ; txPEo/LBduvXJp2kMIDQlEM8FodH2RFuqv8T4COvddBIh9GE0LIKHD5YgT+XhZAKF/Ofp4n1enBJ
    ; 8fJCNdYoQcp1uPirTs+F74U5C+I4FHZ6J8EW3pKaaXD2Iy+c3V9kAN17WTgp1vdmfUKq8CsH7vQu
    ; a/v4bIeVSRWT8VvQehSY9FLsfNdKKW4hLcjIZj+JjCkL5kniyKVQ2qkgWVjKSu0nkpGnJ7x2ty/x
    ; 7hl8CvJ7nx27KGYc1CVNFzXXhYw0OOPoD8UwfcDFaZ/6MsWGozu//mihrA0x7QUmG79DhoR6XBnt
    ; 3hVucMHorxeYuRHJXv6ulRxiODdJn/hcaIVd/t1waDeeEkWvrG80ghtKLP4YbLKtW5y+rJ4ryzx+
    ; LkWKG9a50p4cFdlkkxt2axaV6cyNjkKoHJOIQPvUX7Vt+sJyiYh84wYF+C3U5x94ebCLJfKpOJ//
    ; gSA3JY0wayiWMAcYlWZpV+5zngUatynCqa8RT/x0FG5nevsLiodCEHO9aiOcpYGtv0pR7wr1caME
    ; iIHQKZPwQmMMpfxy0LZStrA1zIFIkY0x/+kZJsIO4FBBZgiZf5ib5Ml0C2FGkhums2oufrzl1MjL
    ; 2pLz5w5vU4Hoq2AhJSplTF+GeHGbZC78FTtwNLlrgUrmBnudC4Ma5qJj8nTLsXcDzK5c3Y06Aya4
    ; BQwVum/TfPjAMhwvKzMACreWqq3C4d91HmIjsKtBfTyOMyfxA2bJB88wvH5Cxe7r7Ccp7TxztC2H
    ; DyNqC1yr/q4GzdGwCZXjo3hC9zdjNNUcIfhUsujaux8ygXZYja86BR4luQeiqHI44BYoI85GTdd+
    ; V5K2dDnvvcaIo6DGVgqTlT3wMwmzNbdozXec2ZzVkTJMQvFJws7FIG7gXS3ztoi2LG1y8GKFZZoQ
    ; VkCu5uffPSIpgJx9nXzH9NdW/HAtXsvmhy3CRxFgqblYSVlclJH9pzPlI+S7pVIwB4poleTOrXnD
    ; 6jyqoKbjJqTRZsR7zp9Bb3A04Knfw5+pOc4LwLf11WAYRRdUmQ3on3h7HXNXKw5yaC6DoIt+EgnN
    ; 3RRcL+WEzcQEa98dQDaGN7e1YtLP/bw+fYFoLmn2QCVAf4BdjRPpw0jnOgFhkVM4ywlGsodg5sqf
    ; A+FJivC/HhGWwVDPuRNW0P/3kMXojrExlmJpYGZRY3w6h9ImO/F7TjV0ueljqqK+8QvS1RuMtANR
    ; jPyXWCQ19V8W2bRObeuR6TA8dEm1p+MeJahDBin9YieH1ivvaKKOOVkY9Tq00YW8ryCmJ+BX76eQ
    ; Yo6nJQZdcvu+m4+5TBFNwb8BYKNbPtouBui3wCJlxtEBCwp5XiZkWxErR+NYnyFRPlpG3pn/OUjn
    ; Jwaf5j1oxQxcVNa7mMD/cVcFzrIWSvioxY08LXWPItGarBaGrX/5RhiuWNcHiO2yv/Xfm3vN30KG
    ; SF/stTW8YgnzeAOXcWdwnZTxim/lq0GxoRJtIKgdeLhcDjQli6bIUTKw6d6vBn6ldytXKAtAmf2S
    ; si9fmkj/69r1+KajpkZZsxI0Ul5BU4LXFqj5L/vUELvQ3BCPR3pUQNve0RZiwQBCeEojkdjckDU2
    ; rHDFWlic/nBY/EtUArsY2TtxcuwynIXztr4jAM9efy6oQ7RW/jzoYgGXlStypxPjpB6CdB7VVOgZ
    ; 3so7EOB+SQjzYk/KuC7pxbq47o+jm2rbFNrwa7wRfifdwRjfvtgXoYPJ3dF6bQHfWMNhz+g+Xmhw
    ; vwgNmPAXCRPzopqZDz1aIWc2O607vqmfAnJ+u4BLKLY1lf3bIzsKaN2e1SckfcSAAg9k7gOOJHW5
    ; Lds62NL5mqYpkrbHKBRXKoayl33jOa3a8Rd5GScA6MdrDzwQ07c12SqLBGeK1VfaR9C4n+aNVI+9
    ; asnmigzP1L7I+KGMIHnQHDVbSDPCic62YsYW3CwDfqgJgH9/VuNuUpIhqxnvDrf8/0O4q+H2J2pl
    ; 4IkoiKy1x6T8Br90tIbyzQdfoIUx5HLJrXBcUGZb/LHCS+n2GejEYXdXNoePGra6AXUWE99rku37
    ; g0vyC0ehvp/0knd7x/hGvluKaDAoiVtNegRqSCOtvRfG0MycMje3kGn/ShWKPBYYE0srAn8C26Zp
    ; hRp7+IQjsO+1rh6pA6jWpOaoYOXWA8ATH9ERODHV2VXJvtlH4fChi/svS5neoXHaDVpt5DdeGYqL
    ; 4ACl6WHWv8O337aAY7nhIv/uZWoyG6BQ6jJWW7vQKeUp6WJDXD4NSx/sjcRJs9WPXzFRaVygQ7No
    ; UPqZz69W6ADRwooRi1lwcQ224Z1eo+mreGzFSAFY1aBht6YC2nLLNAh73YvhSM6+Wyx2SMK/xHBP
    ; 4Rq5Bs4o3miVvQXMLFE0xODFSetapUo8wEFP5coIEBOKP+KdCcsgf9zHeA2ShGnTy6xpiDFF1KiI
    ; hAVBpLt1kNJRR3NqjftB781iAsI3e5+x/gjUrn5OqsIEGRdnC669rW0INmKlTNUSoONUgzbEMe/+
    ; hI1iA6VWD/1t3W4UE38Tw101e7zbp99tZA2Z0echWWH4Db/3G05IbMAWyrbZruACU3WkGsa+7sYP
    ; 2J7ncs4QFJ2AlW2K3OXORPLpg8MKuPhl1nnayngpDekzg/Xp1cz85UGdt/YnkodaNZZB3zKDaWyX
    ; YIOyC3SNVrK5O0VGmegDtnwhXWSKu+RKGs6AjtbdY7sM+U9B350We0A5IGcuv/n5B/YpYpz83qrE
    ; 5hTOBTts1CpIjOnPvjlODD2eT2kp2iebQchpgceqLD7veOvxEhv7Xu7uYNtCnOpAG8TWfjgTsivy
    ; GZf5lFWNkSXF6qGG2GO200dueBC4X2Z38yy1OD+3yx12JxiPINEcIv3xtzDX+u4RlafY5ibunZxu
    ; T/Kuo+dF95slIARTauoolQ2+fcTPavJuSw+lkP17LzhvwJysVGKaQ4BlaM0dRerGc/2ya+K9NVwQ
    ; O5euqPaChoXjT/0Gd/IndxPQNU6UxlICIL3KGGMXIYNwII9KwJYbHBuCF3KuNjeBvTNbx8l4QSkk
    ; fVcePGcnMta2nGvQWKhRtumZDDnpUTYYhqz1uStWJ07P6btLdxAIvWumptpPHq1EbnWS2TXRszbC
    ; CeYkfMfYQunhZ4wZN3hI0gewiePIXM5uTlQEvlQTZ28yS8FTHXWuDmh/1HMRuYlQoF0Pnv1XX0GH
    ; MRw9O6ntkUrIy1R6TMtmqmORmo3YHy1e7N0LFmC8e59HbS+mvEBl8wYubmqN+hVXWC9hEZM6Bj14
    ; tA4k0lOlKz3Aw2ZP1KPNKoAPJr7FdZzYK2KXTQ609eY8c6naYcsVy+Glgh/P6ScsWqxnv2iDqtSh
    ; fqQ7Ug8iKE4bwqTEKT3iV5AOqLDFmZffdw3qy7DpH0/hDhYt6eEbAKuHLUT652lGNaUuuSz91XQj
    ; rr/DUoEiB+B48x5Xdfu9KVHP00KoPXnaXOJOXzdFnGqQIP78SDJbIl2RqeUDMrOTZvvXTBUsmpox
    ; e8pg84R4OY2C7Q1wTqIHOOB0G3N4vUFuaL70WZShzxflsCCXdvTbuDQLEJjxhaYm9HkyncST7oAZ
    ; gU2OXZ38c0tONe74npOaJdzMxfcmqH/IprhoqpWfpUdIDZVvcAkTlRa30sdm0gmlG/xCS7N1CIez
    ; apyrmv7FW267iEONGbgm4fd7aaWNENPW+yXRty5qw/IoEjLV/yxGQtw9Y1ioCxn4DtKb7DmWfsQL
    ; qpZvJNzno/fPF1QKRkUFOFFXVGmC1btSgL+ww/99KTmadkFm48QInztBPMj/a/PuM88LO4GYohyq
    ; QBx3wFjP/5ZHx3h0ddWz2S00qUzKlW9j3XVjOhVR/jGtXMYqnWnY/3AHGj1vmMiB212UhDg1Iww+
    ; Hba/H7GcoNk6MoglaohYjx4kQnrMg37zQKwQ5i61hoT5MpX717Xx+KMLsbjUtdEIg+KlkRCdNnDC
    ; Y6eywWkNBh6cAeN6Phos7j+Xv+Y0yMlqhrD7RuziItEoMTPkWTpBfiUI/58cMycuuLYfz+V0RTMr
    ; jHKFiipwi6RD0GjZwzfotGcset7RytLggAnxtE7c/mnNpkEp5zSp5qPIq+KQqSbeAkdN4SHMSm06
    ; dHFiE5QptOB1dZ2F7RebTHwWjB5gNRpeYrWfw0cQiSz7N3lcdP/iyoxYnj6V0O8+0VU/GlmrWG36
    ; WtkMEcSUDNU0BCbRY1x5URDEjRR7OB0hgnaWcSB6n+Wk7sXMdQ4DJdZHGsRlP2P3PVbsPzIjNrLG
    ; 6DCC8EQ6ivtqvhHJy67a2hhL7fgsVBHitly+3U8hH7mJEAAMY6l0lO9OnecKozOv1G0uvwu7WcrF
    ; hS+qXvMIBEgo6XkNt8lsyvSbBkG05mVEw5fy5HjCqLi7US1jqwe1jtNf/WqtXqzGfRwTfmijEyGf
    ; D4RCL2fXaeXIJcGD4T0El+6LmkUoAo7p2DEHHYgazMhFY/kuQTw71ZDFiPCZ9qIqg/5jWJio2Sf3
    ; 5HvQLDRB8lbIGEY4CkP6bZI+5nJK8VQ+Vxwp2YnwxOnP+YaCXmUWLQVn/xNTjFmE42mFkhXoySCR
    ; l1vBbTfvm+gpsJIuG8iUCKKAQEcU5jegLnBYzNOrtANNwAyTjvI0ZDnBCWASyfYB2/AMzb5PLD/K
    ; QwQp+IlRnzQZwVT+6W2HK7VWivyuoR9y/XqWWTE8RfY5xaZ451jHWURmbVAIXOuD34jkJUKK2Xv1
    ; AoqWag3aQAqUU2HeBnC5CCTKza9WoCTPdu8BcxD9DYQEIxerIKzXyJe8G0Cd3UNI9OfAIdhcvpkw
    ; IArWfur9p3vQmH5+1VFHFGLOjVk+wzlwpPNta5DE5DLa2XPuifboxB6OEFSfDzbTy2hYfszZXBh4
    ; 81zsmiiOp52hLCvzF+mebR46QmCqBDD953V6XcCkL2pEF8yUzz+Rn6mWNf7sp90SoeWnh9d5ynyX
    ; rq86PLQWQYLgGMNSPHerD8k0ZtcXDNZudYfbr2c6/au+lw9a/ANetSrvXD5mrgMTjxusi0vSidd4
    ; 4c4g2ntJY4AZu/+/F1sZukGt500+WYrusjCLYqhSFUGjur0918FItIpHHGok7nyD9S7L8NWC3mo7
    ; DLLruEHoZEXJ0zsf1oKb0zaQ3Ca4tMZ3mN6re9/+eSeMgGeQuda4h4z2bA5m7KqkIIhejJyytKRI
    ; Q6DlXZsNsnENsZ2vvFBtHQAodreCOObKkWdYidFma93W0BorGOJInqVH7qg12DfC3kesMMPeL+nU
    ; TkSC5eSiAwGsFt6ar+/T0Z249erCs/11jHTPDIGc4VGtN1zy148KwrzsHee2XyE1racuVXjbNpuM
    ; V8O5E11kggown7GXbpyuZYLj7zqh78XoIJsDMvck5Cr9PSE25cbOthBBzqzF6N/eqsuIYvKShtt4
    ; YiVQd+niHTal15tzKq2gyD1ua9BFO6xOXFhzK3U4RSJzL9j3U+kgKJU1uW+sEgWn6OOBIJkFOKX4
    ; l4XHYoayq/9cOgWHVZEywhHm+p7k1A1nmybzAosq4NCiwGV8d/Y75YgXSPvy7ES54NSrJ1QZyWe2
    ; oYEO054EA9QZD8FiyYCggQvTujuelXlTqWul9tL36mJTqaTsyfz5rkCZ1YjHnMRYyz6kyi5BPRKl
    ; vFOQeAVaz1n+JEtmIiBwwWunvwGl1qhQYPc9SBKjPiASPZsSCVY4H3NSL6CssRhUpKpDxng2CGRW
    ; zXl8xxI9+Nya7k895qHishUTGqfz3OlkE4Jpr2wx3vjsTKP8+Fxh7RFv77XMLqaAnE0q5JBM++bi
    ; uEDtLg2yjq5AB3VtYmwZTHV5CCJbk1VV4vjGwDljEoWh4uaKQzZvZ9u5IhqL/OSXYhwGVNE+WmgC
    ; 04r/7myL8eOZwHiG4Lbh7yiaXru3y7/df2c8WrJrLX+2y5Y0UGRV9nhMKU+d4dE+EmPAWs7MY0r2
    ; QxXSXFwcBinwobZSTsxTZg1/bsH4nFSK1EJ570ywBBKSZfjtKEOUUH+7/o5/6rf5XBLO67V+6PWE
    ; XrUhfOHTKBEV6vQSNADwP1Nrh5z4XK9PgaeP7LF9MA5idX0B54CNpZwqkXITTgfrp72+HQQ+vHqP
    ; GZ0RcYD0TmmWr9/UY2/3yInoG4qcIKit3muIIPx77YFmta2qWhlZn7SYN8lbnEHLmcUHgcKqhcf/
    ; Lvo3nqP4iF81aJ2ZivQ5sRFwwrw5EuUotcjCOVL3lH0He4v93cRNYMoi3PA9WT2h1iMEPZc68n6A
    ; StidspXIP0mGECWwYFirchvZox8hMunf/qLqHADXoIlSqrtbI6KlEWgD31OXzuDCqxZrFMQwh4np
    ; yYieBl94Uwxa/9jqpzbKSHx53EWQrQIMxUfTahmfWm8uUVU5xnlw3hW1M77KzqQOUfhjOsUSz+XD
    ; k2OlZXPhyWpWJ2/3vtzi3y/xO4nAcOL8XhUCf2e1bTATSyJf+L5znGe6tdp0jZeKFYxFvYIjePwC
    ; iEiFErkDfXt6jN8K8dNk5XMhn53ZW717dF2KZ0/gZJ6PMfAd+x4epFTb5Jb0uRIINvoJQt7LKq4L
    ; r+eMF6Uv4n0I3DJ6sE9X3I6r33J/W2hy6csbb0hvo6J7j77LwU7Mqc5RPrw0dMFXwWR5OSE+IGkh
    ; VgiPpTet15Am5vkSiCDHo0reSQmPKM3XU/UKksU3DFqpmpKfWxZUvrLfywLqtgOhvbepPf+/wZAf
    ; hY53LKhQEuGavkRnfImcFl3AXayA4HUzJbdz30DWqJnUvsMyzhK/2UzQaA2inLoclB72v8XcwdJn
    ; dsDVPHLlhu/x25y5eEWei6O14fq8lS2ZbkVL2fg3ciXBsiRUazHyK3x9c4Rtwzg0zhUab4Rm2OKW
    ; q1rR+Aw2EXbyWCy3eNj7gJMTtdIRru+x331pv/XCW57VMAOm7Dxx9RgBTk8mHfAjH+/LSBJ7dOBr
    ; FIMAkLY1pFP9Iqg1KR/5+o0mozX9G7SzoRrTu2n2w54HmbLqNuZBjg3B5dentxu6POt+F2UDqBWb
    ; begcUqF3kqyZXWa+/TgSvUq/CN6n1MWskMDjOBT7mHeyGRW3P0MNmtU3kjyo/sgJZdCHoYOEPBp3
    ; fi696PvuMIuwTouBUttOL8sd4M+H/bRGBY1StNdYaGoJSk+3cJK0FNaGMp+JvwxLTsXryJCHJJjW
    ; EXhLoXXGLIxEsDVCM5uPTPK4Lzolm3k+gNP0RlRO1dnQu2bsURvuwQwYXQYwdP64+RNqeNvnXfS0
    ; 2OsTg/xKpm9J5IHP8WwwoWHsOCV4vgIE8vMdolTNn7KOvwbkU+4eHh3c21UsMDFPRvTH+EsTmoCm
    ; /LiB2nllxJnZuRcbX5PrdV+KjJGNZvuMZyZTB7x7Ns2EeSRuy5bG2czaBgT1tera9TmxekJyiD5f
    ; iYllwI8RBi36VFZdn5pA6i/gpwq94Sr7iv1nTGCdUcqNMUG5DYmesJw2VEx4mmmW10i8HJB+3KVz
    ; DK7NybiCR2vfKBr8HTlHQSMydFOuEjznZ58VZ3ApequE+ThYlfdWsbMMN08NmRr9NDu49nkGRNie
    ; j02PCFbjd6JfM81UuQ+xZo3HZ/aY/AmDyzT3X8H8vbtzN9nx3/x/uggtp2MXdPCskODaa6nPM0h3
    ; lucd1Yn492dybFv6JX4L9G/2wZqSWIucPLqbhVv1nLmOhrsmnyRbpkc6Mn+rtdQMj66yVGDGl+ob
    ; MmgbFx2rrCP5E9CyMfwO/RiAbSU31S44fW1DtZ+taWzZYGgHeDSNWGK4SpF2P2PucPeulPCgkLZA
    ; QJ3tx7xIsxhPSsEfzQNuvya+4KHa1TRqq7zS1gxYvJFquIwYgXo+tNvQmCVFXE1E7p9r4aq4Sz1h
    ; YH8bj3tplxP6oYAp44+i7a921RIfmChZrTzsvTaNQtW05pkJX7eHRZ9Dw0yfFjXU6kkjS5FZ8hvh
    ; yMcND7SBXf+WCbuUId/tZa0skq7KDmvFWnyJbXoacjMpFzSe6Ot1VDl2z+DRwUUKldOlUDEHf/uP
    ; xLarF/4g6/1i05UBSVnCbDVB391mBcaLaOYaMNhwdr4i0sYO5F1h7Xt7SlxUTp7B1o7X25AJWGMg
    ; lYEdO7HWuhRfrybjPWO4CdkMRt+NeXilsqA4KiYTCs6MW6GItilAEXX4tC3bcfwvezQijvSWkXnv
    ; 5ww8/ZzDJCCol6qjgpReE/Vp33dNo54QeQqa225HTqpuN1Dj59bCmyrVZ/lkZ1OkD+aCiChfn/Cp
    ; TCq4LNk0lY8a5IES6iZBvpPcNp6AX9MY74XdkGDK8t7cABPN/8IGRynUvP/Q3nksdH3zNXgP/E2o
    ; M8MfBKM5/rtpMPfuWlrE+wxzzrPMcTkZhyxtDd/Ersm/F12E8r3DolxH6LqidfDaMCApUED//NfV
    ; fE7Lp9vj3+Ut8/1WhTRVw49nVIQiWX0fOJJUfoR07Euue2MnrBIAItKkRWskv+fucGTWmZkLd/dJ
    ; ruxXyZJa7lSyduzIhyqUfZi7PnWlsgc1qR9sI3E0CUlQnNu/bY10+ia9bqFk58uSVzZDZDYIjOq9
    ; ioEoiX2OA0oU7xKeVYBBOyron2Lh/TryiXlhSfXHMalgxvKja4O3rC/YVaJ9spsTdp+bm3TYBZIv
    ; Ee6X4L2WlcVEXIgQ1sFjQyd1mGAVGd78zpFLN0dOQSn324qruPmgoM+RFd7xGJmcDJAx9Adh/XXz
    ; N4DsutYxck/O9me3JhZl8frktps4BofJv/gqszyw14u2HCdIM24vFqh/cue3Q3h+3AT0wMksb4aM
    ; ucsA+pVOdP5D7oyNr0YsiKFbw4yK3L4KNyXanMV5VecXCaE729+ikHDP/XGf6sH2Ez0A2eWc1Fnq
    ; 1nUvZA2yxtkwJdE7HMZAF2KVTBOPBtAP6wKuM33T6rB9zgkaWE9Q95FmUJFmp2V3iZC9jURkQNbc
    ; JwhUIkHe2uME50eVRaK/80qvalQbtvX8IoRQr22lm+YRhJNeTDCtByNkTXXoFDmd36yzXoGRDNjR
    ; DOikel3MvdNYMwtg2fwpww4eS8qxJ6+yiwh6RFoYS2uctbjORwMwUUil9FPXH+69qUIZyhAYkLKM
    ; 1QvfbGIHb4xm2+hn3GOybrKH9kZ73yopDoVJGvKVqLip/EYizabfPNtlZEwIX+ReswUlytCJdzAK
    ; vlKpNUsKLKGqZdhHQzZzJmR+fFWgvAWxBGwg5ihUlXeOwgaOjfYhh3GQ3b3S1i4+3xFuqR1/BsAw
    ; J47AWFkNVW13yuDaqRG9AZ+XJJuRHIlKcEWU2FMqx/TCs+EytU6ZT8kgHAbju6EgaHs/NUptBLNM
    ; 7KJnXPZox3NE39H1qu9qn63r/kXX+SVUa/OWUL5CmdtPYA6aToJZjwZUpIshOfS6hNPqEwzqwpzu
    ; ZPVO0pn1h+IMOyFRTOTNXMTpq6j3QXNIr6BqKkEGCSH74Hn5zJf2YWsoG5XCgEQu4NLk149FvcOv
    ; 7EHx3nBedqW5b/Yd/GCshi1hbOabWriTWLQLv7dAs76DjMrpvtbH2/kZDIR+RdfVULuyc9KqH3gf
    ; THC7NdHl9/4OYPqXpNEPR2V6FJEcmnZ8l40dVWKyx20h4dBhEhxXi+Avn7aWXDUZCQMi7bMY5Mga
    ; PNTu4o4mMNQMKX5b/3uzWX1IC6+4OUWIdyuWO7V8w6PcrbDFO9Xtxd6WGR1AlqqTG9Y1cQMkX1Fp
    ; MJGy3A1E5SrSIlnMuQncV9shz1+OR0ZcqXz1mO7RDUidL6F28DFXCLGECfVJSBf8I5hBJURCsfP3
    ; rLKP80Fvnjdj+FkGj/NDa6zh29pEphLDX8TgQIHZGm5N0xtn1ee2uBVgHsAFDGKo49bbKHGd+JSu
    ; ar7W7FiNIfhLDkkYEaSZX2O1zhpoK4wljijv9ACyBNLbNKLOOtU1RMeMipzasMuMi3jwCPg8HaXv
    ; r9VYkBRcBZYhPGDS4NIuWECW1U+ujLXesyd/KeBY/ECLZT8ToPomPcXUgEXJHX6COTA2Sue0QlAs
    ; LbPOhowKQqkYOniZo/ARGLH4hYc99g0LAali5dly4sC6x7za9hxpNsm41+AvGjkrcezFWco6U3k8
    ; tpOiRR3ZYnfBDlit+97xH5cvZY7Ij/4aXrI7U5ndrrNfhBPpuW72RBgxm7ahli9IwW43Sg/jU2AQ
    ; UUr7SvPSdaY1Drsrz1iwT+egPbdLZ5sqzHPyXNz3/hlZPe9BgKPLFMw/X+D42s2S/Rf7gvdupGC4
    ; EpZagc66qyhiN1xBXjMel5inlg/ACrVqVySx+pkV/iAqLU7XUJ9DFSdpSbaljOjMjCVKTTOqj+Wz
    ; nijPCuhjUhDOUw4FpVd/B5lVeqxLVD+l7YQ3/FgTLSV2fhobL6CsjZhf/ZHXQJtoR5qeuzQ1LFHU
    ; xVESEhFJpIrPRhJc1HOrEA6NUUdaZ3Uf3zcbjZzTfXCy7Qh/Wmc+tqcX15cYunzDiw5VA9oL7VI9
    ; VRMRsbZJHtTZ00vFqD4Yd/RRhx3dFX1lGP4h4AxkhGBlbQs9Oouoi6eKPUTRRaK3YrRzc5Cqtps/
    ; ZPOn2kmFnQd6FWkJ/FEVC8F3zqiqu16/I2vw4KT2SOMO69YxfdtsfM8yKFf6jKxJAIl+Hj3uQ+g7
    ; PC7m9SOgzRWMfOi/H/HelMZbq/5j/tIngqOuJg8BUgSmMSKqUNjeueaUxZffCYWGCr1AUgtVQzIG
    ; 0ao1ZPw07LneJh9f3/hSyShg3+3MP1lGO6ZwimAZ5M9y44KxZwT8iJ9LqbKAUkRuHQ3Jy6F8CC+Z
    ; rLiUmW+ux+GieqZ9OiK+25RuyTX83Qq65eCAQkJp27ms3utu7H60e4Ca99S1+gku4hEQJro6YLOh
    ; AbxhLmY4wfqDaGe1p+RAsxyUcQk40PYiOEvGyPiVdQ8Nt8iIYEHHVglnrxdTeXXsv+1UNpQ2uPXa
    ; /GjdGUy8dEb3AjUWFysDQPAk4vlCY5yi9Ko5EBTNuNhF6aZvYLqllv/wfa3d3eaFHgfvy/IMHQf7
    ; JWzGI+kI7Mspmarf68EFqF21f5p8CMZd4zYU1JhClr6kD2GJnEJLPz1naTvJvrwOyR6r8J/n3628
    ; sqf/bLplz5Xs25sZKj+jmA8xNDKmXptT3l3pw2pqxIVA5tRakXRjOPSD
    ; 


    CkEmail::ckDispose(email)


    ProcedureReturn
EndProcedure