

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mengirim email melalui Amazon SES menggunakan AWS SDK
<a name="send-an-email-using-sdk-programmatically"></a>

Anda dapat menggunakan AWS SDK untuk mengirim email melalui Amazon SES. AWS SDKs tersedia untuk beberapa bahasa pemrograman. Untuk informasi lebih lanjut, lihat [Alat untuk Amazon Web Services](https://aws.amazon.com/tools/#sdk).

## Prasyarat
<a name="send-an-email-using-sdk-programmatically-prereqs"></a>

Prasyarat berikut harus diselesaikan untuk menyelesaikan salah satu contoh kode di bagian berikutnya:
+ Jika Anda belum melakukannya, selesaikan tugas di [Menyiapkan Amazon Simple Email Service](setting-up.md).
+ **Verifikasi alamat email Anda dengan Amazon SES**—Sebelum Anda dapat mengirim email dengan Amazon SES, Anda harus memverifikasi bahwa Anda memiliki alamat email pengirim. Jika akun Anda masih di sandbox Amazon SES, Anda juga harus memverifikasi alamat email penerima. Sebaiknya gunakan konsol Amazon SES untuk memverifikasi alamat email. Untuk informasi selengkapnya, lihat [Membuat identitas alamat email](creating-identities.md#verify-email-addresses-procedure). 
+ **Dapatkan AWS kredensialmu** —Anda memerlukan ID kunci AWS akses dan kunci akses AWS rahasia untuk mengakses Amazon SES menggunakan SDK. Anda dapat menemukan kredensial Anda dengan menggunakan halaman [Kredensial Keamanan](https://console.aws.amazon.com/iam/home?#security_credential) di Konsol Manajemen AWS. Untuk informasi selengkapnya tentang kredensial, lihat [Tipe kredensial Amazon SES](send-email-concepts-credentials.md).
+ **Buat file kredensial bersama**—Agar kode sampel di bagian ini berfungsi dengan baik, Anda harus membuat file kredensial bersama. Untuk informasi lebih lanjut, lihat [Membuat file kredensi bersama untuk digunakan saat mengirim email melalui Amazon SES menggunakan SDK AWS](create-shared-credentials-file.md).

## Contoh kode
<a name="send-an-email-using-sdk-programmatically-examples"></a>

**penting**  
Dalam tutorial berikut, Anda mengirim email ke diri Anda sendiri sehingga Anda dapat memeriksa apakah Anda sudah menerimanya. Untuk eksperimen atau pengujian beban lebih lanjut, gunakan simulator kotak surat Amazon SES. Email yang Anda kirim ke simulator kotak surat tidak dihitung terhadap kuota pengiriman atau kecepatan pentalan dan aduan Anda. Untuk informasi lebih lanjut, lihat [Menggunakan simulator kotak surat secara manual](send-an-email-from-console.md#send-email-simulator).

**Topics**

------
#### [ .NET ]

Prosedur berikut menunjukkan cara mengirim email melalui Amazon SES menggunakan [Visual Studio](https://www.visualstudio.com/) dan AWS SDK untuk .NET.

Solusi ini diuji dengan menggunakan komponen berikut:
+ Microsoft Visual Studio Community 2017, versi 15.4.0.
+ Microsoft .NET Framework versi 4.6.1.
+  AWSSDKPaket.Core (versi 3.3.19), diinstal menggunakan. NuGet
+ Itu AWSSDK. SimpleEmail paket (versi 3.3.6.1), diinstal menggunakan. NuGet

**Sebelum Anda memulai, lakukan tugas berikut:**
+ **Instal Visual Studio** —Visual Studio tersedia di [https://www.visualstudio.com/](https://www.visualstudio.com/).

**Untuk mengirim email menggunakan AWS SDK untuk .NET**

1. Buat proyek baru dengan melakukan langkah-langkah berikut:

   1. Mulai Visual Studio.

   1. Di menu **File**, pilih **Baru**, **Proyek**.

   1. Di jendela **Proyek Baru**, di panel sebelah kiri, perluas **Terinstal**, lalu perluas **Visual C\$1**.

   1. Di panel sebelah kanan, pilih **Aplikasi Konsol (.NET Framework)**.

   1. Untuk **Nama**, ketik **AmazonSESSample**, lalu pilih **OK**.

1. Gunakan NuGet untuk menyertakan paket Amazon SES dalam solusi Anda dengan menyelesaikan langkah-langkah berikut:

   1. Di panel **Solution Explorer**, klik kanan project Anda, lalu pilih **Manage NuGet ** Packages.

   1. Pada SESSample tab **NuGet: Amazon**, pilih **Browse**.

   1. Di kotak pencarian, ketik **AWSSDK.SimpleEmail**. 

   1. Pilih **AWSSDK. SimpleEmail**paket, dan kemudian pilih **Install**.

   1. Di jendela **Pratinjau Perubahan**, pilih **OK**.

1. Di tab **Program.cs**, tempel kode berikut:

   ```
    1. using Amazon;
    2. using System;
    3. using System.Collections.Generic;
    4. using Amazon.SimpleEmail;
    5. using Amazon.SimpleEmail.Model;
    6. 
    7. namespace AmazonSESSample 
    8. {
    9.     class Program
   10.     {
   11.         // Replace sender@example.com with your "From" address.
   12.         // This address must be verified with Amazon SES.
   13.         static readonly string senderAddress = "sender@example.com";
   14. 
   15.         // Replace recipient@example.com with a "To" address. If your account
   16.         // is still in the sandbox, this address must be verified.
   17.         static readonly string receiverAddress = "recipient@example.com";
   18. 
   19.         // The configuration set to use for this email. If you do not want to use a
   20.         // configuration set, comment out the following property and the
   21.         // ConfigurationSetName = configSet argument below. 
   22.         static readonly string configSet = "ConfigSet";
   23. 
   24.         // The subject line for the email.
   25.         static readonly string subject = "Amazon SES test (AWS SDK untuk .NET)";
   26. 
   27.         // The email body for recipients with non-HTML email clients.
   28.         static readonly string textBody = "Amazon SES Test (.NET)\r\n" 
   29.                                         + "This email was sent through Amazon SES "
   30.                                         + "using the AWS SDK untuk .NET.";
   31.         
   32.         // The HTML body of the email.
   33.         static readonly string htmlBody = @"<html>
   34. <head></head>
   35. <body>
   36.   <h1>Amazon SES Test (SDK untuk .NET)</h1>
   37.   <p>This email was sent with
   38.     <a href='https://aws.amazon.com/ses/'>Amazon SES</a> using the
   39.     <a href='https://aws.amazon.com/sdk-for-net/'> AWS SDK untuk .NET</a>.</p>
   40. </body>
   41. </html>";
   42. 
   43.         static void Main(string[] args)
   44.         {
   45.             // Replace USWest2 with the AWS Region you're using for Amazon SES.
   46.             // Acceptable values are EUWest1, USEast1, and USWest2.
   47.             using (var client = new AmazonSimpleEmailServiceClient(RegionEndpoint.USWest2))
   48.             {
   49.                 var sendRequest = new SendEmailRequest
   50.                 {
   51.                     Source = senderAddress,
   52.                     Destination = new Destination
   53.                     {
   54.                         ToAddresses =
   55.                         new List<string> { receiverAddress }
   56.                     },
   57.                     Message = new Message
   58.                     {
   59.                         Subject = new Content(subject),
   60.                         Body = new Body
   61.                         {
   62.                             Html = new Content
   63.                             {
   64.                                 Charset = "UTF-8",
   65.                                 Data = htmlBody
   66.                             },
   67.                             Text = new Content
   68.                             {
   69.                                 Charset = "UTF-8",
   70.                                 Data = textBody
   71.                             }
   72.                         }
   73.                     },
   74.                     // If you are not using a configuration set, comment
   75.                     // or remove the following line 
   76.                     ConfigurationSetName = configSet
   77.                 };
   78.                 try
   79.                 {
   80.                     Console.WriteLine("Sending email using Amazon SES...");
   81.                     var response = client.SendEmail(sendRequest);
   82.                     Console.WriteLine("The email was sent successfully.");
   83.                 }
   84.                 catch (Exception ex)
   85.                 {
   86.                     Console.WriteLine("The email was not sent.");
   87.                     Console.WriteLine("Error message: " + ex.Message);
   88. 
   89.                 }
   90.             }
   91. 
   92.             Console.Write("Press any key to continue...");
   93.             Console.ReadKey();
   94.         }
   95.     }
   96. }
   ```

1. Di editor kode, lakukan hal berikut:
   + Ganti *sender@example.com* dengan alamat email “Dari:”. Alamat ini harus diverifikasi. Untuk informasi selengkapnya, lihat [Identitas terverifikasi di Amazon SES](verify-addresses-and-domains.md).
   + Ganti *recipient@example.com* dengan alamat “Ke:”. Jika akun Anda masih berada di sandbox, alamat ini juga harus diverifikasi.
   + Ganti *ConfigSet* dengan nama konfigurasi yang akan digunakan saat mengirim email ini.
   + Ganti *USWest2* dengan nama Wilayah AWS titik akhir yang Anda gunakan untuk mengirim email menggunakan Amazon SES. Untuk daftar wilayah tempat Amazon SES tersedia, lihat [Layanan Email Sederhana Amazon (Amazon SES)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region) di *Referensi Umum AWS*.

   Setelah selesai, simpan `Program.cs`.

1. Bangun dan jalankan aplikasi dengan menyelesaikan langkah berikut:

   1. Di menu **Bangun**, pilih **Bangun Solusi**.

   1. Di menu **Debug**, pilih **Mulai Debugging**. Jendela konsol muncul.

1. Tinjau output dari konsol tersebut. Jika email berhasil dikirim, konsol tersebut akan menampilkan "`The email was sent successfully.`" 

1. Jika email berhasil dikirim, masuk ke klien email alamat penerima. Anda akan menemukan pesan yang Anda kirim.

------
#### [ Java ]

Prosedur berikut menunjukkan cara menggunakan [Eclipse IDE untuk Pengembang Java EE](http://www.eclipse.org/) dan [AWS Toolkit for Eclipse](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/welcome.html)untuk membuat proyek AWS SDK dan memodifikasi kode Java untuk mengirim email melalui Amazon SES. 

**Sebelum Anda memulai, lakukan tugas berikut:**
+ **Instal Eclipse**—Eclipse tersedia di [https://www.eclipse.org/downloads](https://www.eclipse.org/downloads). Kode dalam tutorial ini diuji menggunakan Eclipse Neon.3 (versi 4.6.3), menjalankan Lingkungan Waktu Aktif Java versi 1.8.
+ **Instal AWS Toolkit for Eclipse—Instruksi** [untuk menambahkan instalasi Eclipse Anda tersedia di /eclipse. AWS Toolkit for Eclipse https://aws.amazon.com](https://aws.amazon.com/eclipse) Kode di tutorial ini diuji menggunakan AWS Toolkit for Eclipse versi 2.3.1.

**Untuk mengirim email menggunakan AWS SDK untuk Java**

1. Buat Proyek AWS Java di Eclipse dengan melakukan langkah-langkah berikut:

   1. Mulai Eclipse.

   1. Di menu **File**, pilih **Baru**, lalu pilih **Lainnya**. Di jendela **Baru**, perluas folder **AWS**, lalu pilih **Java Project AWS **..

   1. Di kotak dialog **New AWS Java Project**, lakukan hal berikut:

      1. Untuk **Nama proyek**, ketik nama proyek.

      1. Di bawah **AWS SDK untuk Java Sampel**, pilih ** JavaMail Sampel Layanan Email Sederhana Amazon**.

      1. Pilih **Selesai**.

1. Di Eclipse, di panel **Penjelajah Paket**, perluas proyek Anda.

1. Di bawah proyek Anda, perluas folder `src/main/java`, perluas folder `com.amazon.aws.samples`, lalu klik dua kali `AmazonSESSample.java`.

1. Ganti seluruh konten `AmazonSESSample.java` dengan kode berikut:

   ```
    1. package com.amazonaws.samples;
    2. 
    3. import java.io.IOException;
    4. 
    5. import com.amazonaws.regions.Regions;
    6. import com.amazonaws.services.simpleemail.AmazonSimpleEmailService;
    7. import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClientBuilder;
    8. import com.amazonaws.services.simpleemail.model.Body;
    9. import com.amazonaws.services.simpleemail.model.Content;
   10. import com.amazonaws.services.simpleemail.model.Destination;
   11. import com.amazonaws.services.simpleemail.model.Message;
   12. import com.amazonaws.services.simpleemail.model.SendEmailRequest; 
   13. 
   14. public class AmazonSESSample {
   15. 
   16.   // Replace sender@example.com with your "From" address.
   17.   // This address must be verified with Amazon SES.
   18.   static final String FROM = "sender@example.com";
   19. 
   20.   // Replace recipient@example.com with a "To" address. If your account
   21.   // is still in the sandbox, this address must be verified.
   22.   static final String TO = "recipient@example.com";
   23. 
   24.   // The configuration set to use for this email. If you do not want to use a
   25.   // configuration set, comment the following variable and the 
   26.   // .withConfigurationSetName(CONFIGSET); argument below.
   27.   static final String CONFIGSET = "ConfigSet";
   28. 
   29.   // The subject line for the email.
   30.   static final String SUBJECT = "Amazon SES test (AWS SDK untuk Java)";
   31.   
   32.   // The HTML body for the email.
   33.   static final String HTMLBODY = "<h1>Amazon SES test (AWS SDK untuk Java)</h1>"
   34.       + "<p>This email was sent with <a href='https://aws.amazon.com/ses/'>"
   35.       + "Amazon SES</a> using the <a href='https://aws.amazon.com/sdk-for-java/'>" 
   36.       + "AWS SDK for Java</a>";
   37. 
   38.   // The email body for recipients with non-HTML email clients.
   39.   static final String TEXTBODY = "This email was sent through Amazon SES "
   40.       + "using the AWS SDK untuk Java.";
   41. 
   42.   public static void main(String[] args) throws IOException {
   43. 
   44.     try {
   45.       AmazonSimpleEmailService client = 
   46.           AmazonSimpleEmailServiceClientBuilder.standard()
   47.           // Replace US_WEST_2 with the AWS Region you're using for
   48.           // Amazon SES.
   49.             .withRegion(Regions.US_WEST_2).build();
   50.       SendEmailRequest request = new SendEmailRequest()
   51.           .withDestination(
   52.               new Destination().withToAddresses(TO))
   53.           .withMessage(new Message()
   54.               .withBody(new Body()
   55.                   .withHtml(new Content()
   56.                       .withCharset("UTF-8").withData(HTMLBODY))
   57.                   .withText(new Content()
   58.                       .withCharset("UTF-8").withData(TEXTBODY)))
   59.               .withSubject(new Content()
   60.                   .withCharset("UTF-8").withData(SUBJECT)))
   61.           .withSource(FROM)
   62.           // Comment or remove the next line if you are not using a
   63.           // configuration set
   64.           .withConfigurationSetName(CONFIGSET);
   65.       client.sendEmail(request);
   66.       System.out.println("Email sent!");
   67.     } catch (Exception ex) {
   68.       System.out.println("The email was not sent. Error message: " 
   69.           + ex.getMessage());
   70.     }
   71.   }
   72. }
   ```

1. Di `AmazonSESSample.java`, ganti berikut dengan nilai-nilai Anda sendiri:
**penting**  
Alamat email peka huruf besar kecil. Pastikan alamatnya sama persis dengan alamat yang Anda verifikasi.
   + `SENDER@EXAMPLE.COM`—Ganti dengan alamat email "Dari" Anda. Alamat ini harus diverifikasi sebelum Anda menjalankan program ini. Untuk informasi lebih lanjut, lihat [Identitas terverifikasi di Amazon SES](verify-addresses-and-domains.md).
   + `RECIPIENT@EXAMPLE.COM`—Ganti dengan alamat email "Kepada" Anda. Jika akun Anda masih berada di sandbox, Anda harus memverifikasi alamat ini sebelum menggunakannya. Untuk informasi lebih lanjut, lihat [Minta akses produksi (Pindah dari kotak pasir Amazon SES)](request-production-access.md).
   + **(Opsional)`us-west-2`**—Jika Anda ingin menggunakan Amazon SES di Wilayah selain US West (Oregon), ganti ini dengan Wilayah yang ingin Anda gunakan. Untuk daftar Wilayah tempat Amazon SES tersedia, lihat [Layanan Email Sederhana Amazon (Amazon SES)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region) di *Referensi Umum AWS*.

1. Simpan `AmazonSESSample.java`.

1. Untuk membangun proyek, pilih **Proyek** lalu pilih **Bangun Proyek**.
**catatan**  
Jika opsi ini dinonaktifkan, pembangunan otomatis dapat diaktifkan; jika demikian, lewati langkah ini.

1. Untuk memulai program dan mengirim email, pilih **Jalankan** lalu pilih **Jalankan** lagi.

1. Tinjau output dari panel konsol tersebut di Eclipse. Jika email berhasil dikirim, konsol tersebut akan menampilkan "`Email sent!`", Jika tidak, pesan kesalahan akan ditampilkan.

1. Jika email berhasil dikirim, masuk ke klien email alamat penerima. Anda akan menemukan pesan yang Anda kirim.

------
#### [ PHP ]

Topik ini menunjukkan cara menggunakan [AWS SDK untuk PHP](https://aws.amazon.com/sdk-for-php/) untuk mengirim email melalui Amazon SES. 

**Sebelum Anda memulai, lakukan tugas berikut:**
+ **Instal PHP**—PHP tersedia di [http://php.net/downloads.php](http://php.net/downloads.php). Tutorial ini membutuhkan PHP versi 5.5 atau lebih tinggi. Setelah Anda memasang PHP, tambahkan jalur ke PHP di variabel lingkungan Anda, sehingga Anda dapat menjalankan PHP dari prompt perintah. Kode dalam tutorial ini diuji menggunakan PHP 7.2.7.
+ **Instal AWS SDK untuk PHP versi 3** —Untuk petunjuk pengunduhan dan penginstalan, lihat [AWS SDK untuk PHP dokumentasi](https://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/installation.html). Kode di tutorial ini diuji menggunakan SDK versi 3.64.13. 

**Untuk mengirim email melalui Amazon SES menggunakan AWS SDK untuk PHP**

1. Di editor teks, buat file bernama `amazon-ses-sample.php`. Tempel kode berikut:

   ```
    1. <?php
    2. 
    3. // If necessary, modify the path in the require statement below to refer to the 
    4. // location of your Composer autoload.php file.
    5. require 'vendor/autoload.php';
    6. 
    7. use Aws\Ses\SesClient;
    8. use Aws\Exception\AwsException;
    9. 
   10. // Create an SesClient. Change the value of the region parameter if you're 
   11. // using an AWS Region other than US West (Oregon). Change the value of the
   12. // profile parameter if you want to use a profile in your credentials file
   13. // other than the default.
   14. $SesClient = new SesClient([
   15.     'profile' => 'default',
   16.     'version' => '2010-12-01',
   17.     'region'  => 'us-west-2'
   18. ]);
   19. 
   20. // Replace sender@example.com with your "From" address.
   21. // This address must be verified with Amazon SES.
   22. $sender_email = 'sender@example.com';
   23. 
   24. // Replace these sample addresses with the addresses of your recipients. If
   25. // your account is still in the sandbox, these addresses must be verified.
   26. $recipient_emails = ['recipient1@example.com','recipient2@example.com'];
   27. 
   28. // Specify a configuration set. If you do not want to use a configuration
   29. // set, comment the following variable, and the
   30. // 'ConfigurationSetName' => $configuration_set argument below.
   31. $configuration_set = 'ConfigSet';
   32. 
   33. $subject = 'Amazon SES test (AWS SDK untuk PHP)';
   34. $plaintext_body = 'This email was sent with Amazon SES using the AWS SDK for PHP.' ;
   35. $html_body =  '<h1>AWS Amazon Simple Email Service Test Email</h1>'.
   36.               '<p>This email was sent with <a href="https://aws.amazon.com/ses/">'.
   37.               'Amazon SES</a> using the <a href="https://aws.amazon.com/sdk-for-php/">'.
   38.               'AWS SDK untuk PHP</a>.</p>';
   39. $char_set = 'UTF-8';
   40. 
   41. try {
   42.     $result = $SesClient->sendEmail([
   43.         'Destination' => [
   44.             'ToAddresses' => $recipient_emails,
   45.         ],
   46.         'ReplyToAddresses' => [$sender_email],
   47.         'Source' => $sender_email,
   48.         'Message' => [
   49.           'Body' => [
   50.               'Html' => [
   51.                   'Charset' => $char_set,
   52.                   'Data' => $html_body,
   53.               ],
   54.               'Text' => [
   55.                   'Charset' => $char_set,
   56.                   'Data' => $plaintext_body,
   57.               ],
   58.           ],
   59.           'Subject' => [
   60.               'Charset' => $char_set,
   61.               'Data' => $subject,
   62.           ],
   63.         ],
   64.         // If you aren't using a configuration set, comment or delete the
   65.         // following line
   66.         'ConfigurationSetName' => $configuration_set,
   67.     ]);
   68.     $messageId = $result['MessageId'];
   69.     echo("Email sent! Message ID: $messageId"."\n");
   70. } catch (AwsException $e) {
   71.     // output error message if fails
   72.     echo $e->getMessage();
   73.     echo("The email was not sent. Error message: ".$e->getAwsErrorMessage()."\n");
   74.     echo "\n";
   75. }
   ```

1. Di `amazon-ses-sample.php`, ganti berikut dengan nilai-nilai Anda sendiri:
   + **`path_to_sdk_inclusion`**—Ganti dengan jalur yang diperlukan untuk memasukkan AWS SDK untuk PHP dalam program. Untuk informasi lebih lanjut, lihat [dokumentasi AWS SDK untuk PHP](https://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/basic-usage.html). 
   + **`sender@example.com`**—Ganti dengan alamat email yang telah Anda verifikasi dengan Amazon SES. Untuk informasi lebih lanjut, lihat [Identitas terverifikasi](verify-addresses-and-domains.md). Alamat email di Amazon SES peka huruf besar kecil. Pastikan alamat yang Anda masukkan sama persis dengan alamat yang Anda verifikasi.
   + **`recipient1@example.com`,`recipient2@example.com`**—Ganti dengan alamat penerima Anda. Jika akun Anda masih berada di sandbox, alamat penerima Anda juga harus diverifikasi. Untuk informasi lebih lanjut, lihat [Minta akses produksi (Pindah dari kotak pasir Amazon SES)](request-production-access.md). Pastikan alamat yang Anda masukkan sama persis dengan alamat yang Anda verifikasi.
   + **`ConfigSet` (Opsional)**—Jika Anda ingin menggunakan set konfigurasi saat mengirim email ini, ganti nilai dengan nama set konfigurasi. Untuk informasi selengkapnya tentang set konfigurasi, lihat [Mengelola set konfigurasi di Amazon SES](using-configuration-sets.md).
   + **(Opsional)`us-west-2`**—Jika Anda ingin menggunakan Amazon SES di Wilayah selain US West (Oregon), ganti ini dengan Wilayah yang ingin Anda gunakan. Untuk daftar Wilayah tempat Amazon SES tersedia, lihat [Layanan Email Sederhana Amazon (Amazon SES)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region) di *Referensi Umum AWS*.

1. Simpan `amazon-ses-sample.php`.

1. Untuk menjalankan program, buka prompt perintah di direktori yang sama seperti `amazon-ses-sample.php`, lalu ketik perintah berikut:

   ```
   $ php amazon-ses-sample.php
   ```

1. Tinjau output. Jika email berhasil dikirim, konsol tersebut akan menampilkan "`Email sent!`", Jika tidak, pesan kesalahan akan ditampilkan.
**catatan**  
Jika Anda mengalami kesalahan "cURL error 60: masalah Sertifikat SSL" ketika Anda menjalankan program, unduh paket CA terbaru seperti yang dijelaskan di [dokumentasi AWS SDK untuk PHP](https://docs.aws.amazon.com/aws-sdk-php/v3/guide/faq.html#what-do-i-do-about-a-curl-ssl-certificate-error). Kemudian, di `amazon-ses-sample.php`, tambahkan baris berikut ini ke array `SesClient::factory`, ganti `path_of_certs` dengan jalur ke paket CA yang Anda unduh, lalu kembali jalankan program.  

   ```
   1. 'http' => [
   2.    'verify' => 'path_of_certs\ca-bundle.crt'
   3. ]
   ```

1. Masuk ke klien email alamat penerima. Anda akan menemukan pesan yang Anda kirim.

------
#### [ Ruby ]

Topik ini menunjukkan cara menggunakan [AWS SDK untuk Ruby](https://aws.amazon.com/sdk-for-ruby/) untuk mengirim email melalui Amazon SES. 

**Sebelum Anda memulai, lakukan tugas berikut:**
+ **Instal Ruby** [—Ruby tersedia di https://www.ruby-lang. org/en/downloads](https://www.ruby-lang.org/en/downloads/)/. Kode di tutorial ini diuji menggunakan Ruby 1.9.3. Setelah Anda meginstal Ruby, tambahkan jalur ke Ruby di variabel lingkungan Anda, sehingga Anda dapat menjalankan Ruby dari prompt perintah.
+ **Instal AWS SDK untuk Ruby** —Untuk petunjuk pengunduhan dan penginstalan, lihat [Menginstal AWS SDK untuk Ruby di](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/setup-install.html) *Panduan AWS SDK untuk Ruby Pengembang*. Kode sampel di tutorial ini diuji menggunakan AWS SDK untuk Ruby versi 2.9.36.
+ **Buat file kredensial bersama**—Agar kode sampel di bagian ini berfungsi dengan baik, Anda harus membuat file kredensial bersama. Untuk informasi selengkapnya, lihat [Membuat file kredensi bersama untuk digunakan saat mengirim email melalui Amazon SES menggunakan SDK AWS](create-shared-credentials-file.md).

**Untuk mengirim email melalui Amazon SES menggunakan AWS SDK untuk Ruby**

1. Di editor teks, buat file bernama `amazon-ses-sample.rb`. Tempel kode berikut ke file:

   ```
    1. require 'aws-sdk'
    2. 
    3. # Replace sender@example.com with your "From" address.
    4. # This address must be verified with Amazon SES.
    5. sender = "sender@example.com"
    6. 
    7. # Replace recipient@example.com with a "To" address. If your account 
    8. # is still in the sandbox, this address must be verified.
    9. recipient = "recipient@example.com"
   10. 
   11. # Specify a configuration set. If you do not want to use a configuration
   12. # set, comment the following variable and the 
   13. # configuration_set_name: configsetname argument below. 
   14. configsetname = "ConfigSet"
   15.   
   16. # Replace us-west-2 with the AWS Region you're using for Amazon SES.
   17. awsregion = "us-west-2"
   18. 
   19. # The subject line for the email.
   20. subject = "Amazon SES test (AWS SDK untuk Ruby)"
   21. 
   22. # The HTML body of the email.
   23. htmlbody =
   24.   '<h1>Amazon SES test (AWS SDK untuk Ruby)</h1>'\
   25.   '<p>This email was sent with <a href="https://aws.amazon.com/ses/">'\
   26.   'Amazon SES</a> using the <a href="https://aws.amazon.com/sdk-for-ruby/">'\
   27.   'AWS SDK untuk Ruby</a>.'
   28. 
   29. # The email body for recipients with non-HTML email clients.  
   30. textbody = "This email was sent with Amazon SES using the AWS SDK untuk Ruby."
   31. 
   32. # Specify the text encoding scheme.
   33. encoding = "UTF-8"
   34. 
   35. # Create a new SES resource and specify a region
   36. ses = Aws::SES::Client.new(region: awsregion)
   37. 
   38. # Try to send the email.
   39. begin
   40. 
   41.   # Provide the contents of the email.
   42.   resp = ses.send_email({
   43.     destination: {
   44.       to_addresses: [
   45.         recipient,
   46.       ],
   47.     },
   48.     message: {
   49.       body: {
   50.         html: {
   51.           charset: encoding,
   52.           data: htmlbody,
   53.         },
   54.         text: {
   55.           charset: encoding,
   56.           data: textbody,
   57.         },
   58.       },
   59.       subject: {
   60.         charset: encoding,
   61.         data: subject,
   62.       },
   63.     },
   64.   source: sender,
   65.   # Comment or remove the following line if you are not using 
   66.   # a configuration set
   67.   configuration_set_name: configsetname,
   68.   })
   69.   puts "Email sent!"
   70. 
   71. # If something goes wrong, display an error message.
   72. rescue Aws::SES::Errors::ServiceError => error
   73.   puts "Email not sent. Error message: #{error}"
   74. 
   75. end
   ```

1. Di `amazon-ses-sample.rb`, ganti berikut dengan nilai-nilai Anda sendiri:
   + **`sender@example.com`**—Ganti dengan alamat email yang telah Anda verifikasi dengan Amazon SES. Untuk informasi lebih lanjut, lihat [Identitas terverifikasi](verify-addresses-and-domains.md). Alamat email di Amazon SES peka huruf besar kecil. Pastikan alamat yang Anda masukkan sama persis dengan alamat yang Anda verifikasi.
   + **`recipient@example.com`**—Ganti dengan alamat penerima. Jika akun Anda masih berada di sandbox, Anda harus memverifikasi alamat ini sebelum menggunakannya. Untuk informasi lebih lanjut, lihat [Minta akses produksi (Pindah dari kotak pasir Amazon SES)](request-production-access.md). Pastikan alamat yang Anda masukkan sama persis dengan alamat yang Anda verifikasi.
   + **(Opsional)`us-west-2`**—Jika Anda ingin menggunakan Amazon SES di Wilayah selain US West (Oregon), ganti ini dengan Wilayah yang ingin Anda gunakan. Untuk daftar Wilayah tempat Amazon SES tersedia, lihat [Layanan Email Sederhana Amazon (Amazon SES)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region) di *Referensi Umum AWS*.

1. Simpan `amazon-ses-sample.rb`.

1. Untuk menjalankan program, buka prompt perintah di direktori yang sama seperti `amazon-ses-sample.rb`, dan ketik **ruby amazon-ses-sample.rb**

1. Tinjau output. Jika email berhasil dikirim, konsol tersebut akan menampilkan "`Email sent!`", Jika tidak, pesan kesalahan akan ditampilkan.

1. Masuk ke klien email alamat penerima. Anda akan menemukan pesan yang Anda kirim.

------
#### [ Python ]

Topik ini menunjukkan cara menggunakan [AWS SDK for Python (Boto)](https://aws.amazon.com/sdk-for-python/) untuk mengirim email melalui Amazon SES. 

**Sebelum Anda memulai, lakukan tugas berikut:**
+ **Verifikasi alamat email Anda dengan Amazon SES**—Sebelum Anda dapat mengirim email dengan Amazon SES, Anda harus memverifikasi bahwa Anda memiliki alamat email pengirim. Jika akun Anda masih di sandbox Amazon SES, Anda juga harus memverifikasi alamat email penerima. Sebaiknya gunakan konsol Amazon SES untuk memverifikasi alamat email. Untuk informasi selengkapnya, lihat [Membuat identitas alamat email](creating-identities.md#verify-email-addresses-procedure). 
+ **Dapatkan AWS kredensialmu** —Anda memerlukan ID kunci AWS akses dan kunci akses AWS rahasia untuk mengakses Amazon SES menggunakan SDK. Anda dapat menemukan kredensial Anda dengan menggunakan halaman Konsol Manajemen AWS[Kredensial Keamanan](https://console.aws.amazon.com/iam/home?#security_credential). Untuk informasi selengkapnya tentang jenis kredensial, lihat [Tipe kredensial Amazon SES](send-email-concepts-credentials.md).
+ **Instal Python —Python tersedia** [di thon.org/downloads/. https://www.py](https://www.python.org/downloads/) Kode di tutorial ini diuji menggunakan Python 2.7.6 dan Python 3.6.1. Setelah Anda menginstal Phyton, tambahkan jalur ke Phyton di variabel lingkungan Anda, sehingga Anda dapat menjalankan Phyton dari prompt perintah.
+ **Instal AWS SDK for Python (Boto)** —Untuk petunjuk unduhan dan penginstalan, lihat [AWS SDK for Python (Boto) dokumentasi](https://boto3.readthedocs.io/en/latest/guide/quickstart.html#installation). Kode sampel di tutorial ini diuji menggunakan SDK for Python versi 1.4.4.

**Untuk mengirim email melalui Amazon SES menggunakan SDK for Python**

1. Di editor teks, buat file bernama `amazon-ses-sample.py`. Tempel kode berikut ke file:

   ```
    1. import boto3
    2. from botocore.exceptions import ClientError
    3. 
    4. # Replace sender@example.com with your "From" address.
    5. # This address must be verified with Amazon SES.
    6. SENDER = "Sender Name <sender@example.com>"
    7. 
    8. # Replace recipient@example.com with a "To" address. If your account 
    9. # is still in the sandbox, this address must be verified.
   10. RECIPIENT = "recipient@example.com"
   11. 
   12. # Specify a configuration set. If you do not want to use a configuration
   13. # set, comment the following variable, and the 
   14. # ConfigurationSetName=CONFIGURATION_SET argument below.
   15. CONFIGURATION_SET = "ConfigSet"
   16. 
   17. # If necessary, replace us-west-2 with the AWS Region you're using for Amazon SES.
   18. AWS_REGION = "us-west-2"
   19. 
   20. # The subject line for the email.
   21. SUBJECT = "Amazon SES Test (SDK for Python)"
   22. 
   23. # The email body for recipients with non-HTML email clients.
   24. BODY_TEXT = ("Amazon SES Test (Python)\r\n"
   25.              "This email was sent with Amazon SES using the "
   26.              "AWS SDK for Python (Boto)."
   27.             )
   28.             
   29. # The HTML body of the email.
   30. BODY_HTML = """<html>
   31. <head></head>
   32. <body>
   33.   <h1>Amazon SES Test (SDK for Python)</h1>
   34.   <p>This email was sent with
   35.     <a href='https://aws.amazon.com/ses/'>Amazon SES</a> using the
   36.     <a href='https://aws.amazon.com/sdk-for-python/'> AWS SDK for Python (Boto)</a>.</p>
   37. </body>
   38. </html>
   39.             """            
   40. 
   41. # The character encoding for the email.
   42. CHARSET = "UTF-8"
   43. 
   44. # Create a new SES resource and specify a region.
   45. client = boto3.client('ses',region_name=AWS_REGION)
   46. 
   47. # Try to send the email.
   48. try:
   49.     #Provide the contents of the email.
   50.     response = client.send_email(
   51.         Destination={
   52.             'ToAddresses': [
   53.                 RECIPIENT,
   54.             ],
   55.         },
   56.         Message={
   57.             'Body': {
   58.                 'Html': {
   59.                     'Charset': CHARSET,
   60.                     'Data': BODY_HTML,
   61.                 },
   62.                 'Text': {
   63.                     'Charset': CHARSET,
   64.                     'Data': BODY_TEXT,
   65.                 },
   66.             },
   67.             'Subject': {
   68.                 'Charset': CHARSET,
   69.                 'Data': SUBJECT,
   70.             },
   71.         },
   72.         Source=SENDER,
   73.         # If you are not using a configuration set, comment or delete the
   74.         # following line
   75.         ConfigurationSetName=CONFIGURATION_SET,
   76.     )
   77. # Display an error if something goes wrong.	
   78. except ClientError as e:
   79.     print(e.response['Error']['Message'])
   80. else:
   81.     print("Email sent! Message ID:"),
   82.     print(response['MessageId'])
   ```

1. Di `amazon-ses-sample.py`, ganti berikut dengan nilai-nilai Anda sendiri:
   + **`sender@example.com`**—Ganti dengan alamat email yang telah Anda verifikasi dengan Amazon SES. Untuk informasi lebih lanjut, lihat [Identitas terverifikasi](verify-addresses-and-domains.md). Alamat email di Amazon SES peka huruf besar kecil. Pastikan alamat yang Anda masukkan sama persis dengan alamat yang Anda verifikasi.
   + **`recipient@example.com`**—Ganti dengan alamat penerima. Jika akun Anda masih berada di sandbox, Anda harus memverifikasi alamat ini sebelum menggunakannya. Untuk informasi lebih lanjut, lihat [Minta akses produksi (Pindah dari kotak pasir Amazon SES)](request-production-access.md). Pastikan alamat yang Anda masukkan sama persis dengan alamat yang Anda verifikasi.
   + **(Opsional)`us-west-2`**—Jika Anda ingin menggunakan Amazon SES di Wilayah selain US West (Oregon), ganti ini dengan Wilayah yang ingin Anda gunakan. Untuk daftar Wilayah tempat Amazon SES tersedia, lihat [Layanan Email Sederhana Amazon (Amazon SES)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region) di *Referensi Umum AWS*.

1. Simpan `amazon-ses-sample.py`.

1. Untuk menjalankan program, buka prompt perintah di direktori yang sama seperti `amazon-ses-sample.py`, lalu ketik **python amazon-ses-sample.py**.

1. Tinjau output. Jika email berhasil dikirim, konsol tersebut akan menampilkan "`Email sent!`", Jika tidak, pesan kesalahan akan ditampilkan.

1. Masuk ke klien email alamat penerima. Anda akan menemukan pesan yang Anda kirim.

------