Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(AutoIt) Send Signed and Encrypted EDI Email (EDIFACT)Demonstrates how to send a signed and encrypted EDI email (EDIFACT email).
; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. ; The mailman object is used for sending and receiving email. $oMailman = ObjCreate("Chilkat.MailMan") ; Create a new email object Local $oEmail ; Build the basic EDI email where the body is the EDIFACT message: Local $sEdiMsg = "UNB+IATB:1+6XPPC ..." Local $sName = "something" Local $sFilename = "something" Local $sCharset = "iso-8859-1" $oEmail.SetEdifactBody $sEdiMsg,$sName,$sFilename,$sCharset $oEmail.Subject = "This is the subject" $oEmail.From = "Chilkat Admin <admin@chilkatsoft.com>" Local $bSuccess = $oEmail.AddTo("Chilkat Support","support@chilkatsoft.com") ; Indicate that the email should be sent signed. $oEmail.SendSigned = True ; Tell the mailman to use a PFX file as a source for locating ; the certificate and private key required for signing. ; The certificate chosen for signing will be the one that ; matches the sender's email address, which also has ; a private key. All intermediate certs in the chain of ; authentication, up to and including the root, will ; be included in the signature. $bSuccess = $oMailman.AddPfxSourceFile("/pfx_files/myCertAndPrivateKey.pfx","secret") If ($bSuccess <> True) Then ConsoleWrite($oMailman.LastErrorText & @CRLF) Exit EndIf ; Load the .cer file into a certificate object. ; When sending S/MIME encrypted email, it is the recipient's ; certificate that is used for encryption. Only the public key ; is needed to encrypt. The recipient is the only ; one possessing the private key, and therefore is the only ; one able to decrypt. Local $oCert $bSuccess = $oCert.LoadFromFile("/certs/recipientCert.cer") If ($bSuccess <> True) Then ConsoleWrite($oCert.LastErrorText & @CRLF) Exit EndIf ; Indicate that the email is to be sent encrypted. $oEmail.SendEncrypted = True ; Indicate that we want 192-bit 3DES encryption: $oEmail.Pkcs7CryptAlg = "3des" $oEmail.Pkcs7KeyLength = 192 ; Specify the certificate to be used for encryption. $bSuccess = $oEmail.SetEncryptCert($oCert) ; Tell the mailman to use an opaque signature (as opposed to a detached signature) $oMailman.OpaqueSigning = True ; SMTP server (use your settings and refer to the online ; reference documentation for more options) $oMailman.SmtpHost = "smtp.mymailserver.com" $oMailman.SmtpUsername = "myLogin" $oMailman.SmtpPassword = "myPassword" $oMailman.SmtpPort = 587 $oMailman.StartTLS = True ; Send the signed/encrypted EDI email $bSuccess = $oMailman.SendEmail($oEmail) If ($bSuccess <> True) Then ConsoleWrite($oMailman.LastErrorText & @CRLF) Else ConsoleWrite("Mail Sent!" & @CRLF) EndIf |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.