|  | 
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  Tcl  Unicode C  Unicode C++  VB.NET  VBScript  Visual Basic 6.0  Visual FoxPro  Xojo Plugin
| (Perl) SendRawEmail (HTML Email with PDF Attachment)See more Amazon SES ExamplesDemonstrates how to use the SES SendRawEmail action to send an email with an attachment. Note: The total size of an SES email cannot exceed 10MB.See SES SendRawEmail for more information. 
 use chilkat(); # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. # Let's first prepare the email to be sent.. $email = chilkat::CkEmail->new(); $email->put_Charset("utf-8"); $email->put_Subject("Test email with PDF attachment."); $email->SetHtmlBody("<html><body><p>This is a test <b>HTML email with a PDF attachment</b></p></body></html>"); # The AddFileAttachment method returns the content-type selected based on the # file extension. This example has no need of using the return value.. $contentType = $email->addFileAttachment("qa_data/pdf/fishing.pdf"); if ($email->get_LastMethodSuccess() != 1) { print $email->lastErrorText() . "\r\n"; exit; } # Add the From header, and some recipients. # The From address should be an email address verified for use # as a sender for your Amazon SES account. # The From address will also be the Source parameter for the SES SendRawEmail request. $email->put_From('Chilkat Software <admin@chilkatdownload.com>'); # Add recipients... # Note: We DO NOT add BCC recipients to the email. A BCC address should not be # present in the MIME header of the email (otherwise it would not be "blind" because # other recipients would be able to see it). # These same addresses will be added as parameters to the SendRawEmail request. # (BCC addresses are added as parameters at that time.) $email->AddTo("Mr. Simulator",'success@simulator.amazonses.com'); $email->AddCC("Chilkat Support",'support@chilkatsoft.com'); $email->AddCC("Some Yahoo",'somebody@yahoo.com'); # Get the MIME of the email to be sent. $mimeStr = $email->getMime(); # We'll need the MIME base64 encoded for the SES REST request.. $crypt = chilkat::CkCrypt2->new(); $mimeBase64 = $crypt->encodeString($mimeStr,"utf-8","base64"); # OK.. our MIME email is prepared. Now use Chilkat REST to send it.. $rest = chilkat::CkRest->new(); # Connect to the Amazon AWS REST server. # such as https://email.us-west-2.amazonaws.com/ $bTls = 1; $port = 443; $bAutoReconnect = 1; $success = $rest->Connect("email.us-west-2.amazonaws.com",$port,$bTls,$bAutoReconnect); # Provide AWS credentials for the REST call. $authAws = chilkat::CkAuthAws->new(); $authAws->put_AccessKey("AWS_ACCESS_KEY"); $authAws->put_SecretKey("AWS_SECRET_KEY"); # the region should match our URL above.. $authAws->put_Region("us-west-2"); $authAws->put_ServiceName("ses"); $rest->SetAuthAws($authAws); $rest->AddQueryParam("Action","SendRawEmail"); $rest->AddQueryParam("RawMessage.Data",$mimeBase64); # Add up to 100 TO, CC, and BCC recipients. # If your SES account is still in the sandbox, you also must verify every recipient email address except for the recipients # provided by the Amazon SES mailbox simulator. (See http://docs.aws.amazon.com/ses/latest/DeveloperGuide/mailbox-simulator.html) $rest->AddQueryParam("Destination.ToAddresses.member.1",'success@simulator.amazonses.com'); # Please do not test by sending email to Chilkat (Thank You!) # Please do not test by sending email to Chilkat (Thank You!) # Please do not test by sending email to Chilkat (Thank You!) $rest->AddQueryParam("Destination.CcAddresses.member.1",'support@chilkatsoft.com'); $rest->AddQueryParam("Destination.CcAddresses.member.2",'somebody@yahoo.com'); $rest->AddQueryParam("Destination.BccAddresses.member.1",'somebody@gmail.com'); $rest->AddQueryParam("Source",'admin@chilkatdownload.com'); # Because there may be a large amount of data in the query params, use a POST # where the params are sent in the body of the HTTP Request. $responseXml = $rest->fullRequestFormUrlEncoded("POST","/"); if ($rest->get_LastMethodSuccess() != 1) { print $rest->lastErrorText() . "\r\n"; exit; } # A successful response will have a status code equal to 200. if ($rest->get_ResponseStatusCode() != 200) { print "response status code = " . $rest->get_ResponseStatusCode() . "\r\n"; print "response status text = " . $rest->responseStatusText() . "\r\n"; print "response header: " . $rest->responseHeader() . "\r\n"; print "response body: " . $responseXml . "\r\n"; exit; } # Examine the successful XML response. $xml = chilkat::CkXml->new(); $xml->LoadXml($responseXml); print $xml->getXml() . "\r\n"; # To get the MessageId print "MessageId: " . $xml->chilkatPath("SendEmailResult|MessageId|*") . "\r\n"; # A sample successful response: # <?xml version="1.0" encoding="utf-8" ?> # <SendEmailResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/"> # <SendEmailResult> # <MessageId>010101579081d2c1-043c693f-5a23-4c64-a8c1-66187d3725a0-000000</MessageId> # </SendEmailResult> # <ResponseMetadata> # <RequestId>e2b5b480-8a4e-11e6-85cd-21b1f1f6d432</RequestId> # </ResponseMetadata> # </SendEmailResponse> | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.