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
Anda dapat menggunakan file AWS SDK untuk mengirim email melalui AmazonSES. AWS SDKstersedia untuk beberapa bahasa pemrograman. Untuk informasi lebih lanjut, lihat Alat untuk Amazon Web Services
Prasyarat
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.
-
Verifikasi alamat email Anda dengan Amazon SES —Sebelum Anda dapat mengirim email dengan AmazonSES, Anda harus memverifikasi bahwa Anda memiliki alamat email pengirim. Jika akun Anda masih di SES kotak pasir Amazon, Anda juga harus memverifikasi alamat email penerima. Kami menyarankan Anda menggunakan SES konsol Amazon untuk memverifikasi alamat email. Untuk informasi selengkapnya, lihat Membuat identitas alamat email.
-
Dapatkan AWS kredensialmu —Anda memerlukan ID kunci AWS akses dan kunci akses AWS rahasia untuk mengakses Amazon SES menggunakan file. SDK Anda dapat menemukan kredensial Anda dengan menggunakan halaman Kredensial Keamanan
di AWS Management Console. Untuk informasi selengkapnya tentang kredensial, lihat Tipe kredensial Amazon SES. -
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 AWS SDK.
Contoh kode
penting
Dalam tutorial berikut, Anda mengirim email ke diri Anda sendiri sehingga Anda dapat memeriksa apakah Anda sudah menerimanya. Untuk eksperimen lebih lanjut atau pengujian beban, gunakan simulator SES kotak surat Amazon. 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 menggunakan simulator kotak surat secara manual.
Pilih bahasa pemrograman untuk melihat contoh untuk bahasa tersebut:
- .NET
-
Prosedur berikut menunjukkan kepada Anda cara mengirim email melalui Amazon SES menggunakan Visual Studio
dan file AWS SDK for .NET. Solusi ini diuji dengan menggunakan komponen berikut:
-
Microsoft Visual Studio Community 2017, versi 15.4.0.
-
Microsoft. NETKerangka versi 4.6.1.
-
AWSSDKPaket.Core (versi 3.3.19), diinstal menggunakan. NuGet
-
The 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/
.
Untuk mengirim email menggunakan AWS SDK for .NET
-
Buat proyek baru dengan melakukan langkah-langkah berikut:
-
Mulai Visual Studio.
-
Di menu File, pilih Baru, Proyek.
-
Di jendela Proyek Baru, di panel sebelah kiri, perluas Terinstal, lalu perluas Visual C#.
-
Di panel di sebelah kanan, pilih Aplikasi Konsol (. NETKerangka kerja).
-
Untuk Nama, ketik
AmazonSESSample
, lalu pilih OK.
-
-
Gunakan NuGet untuk menyertakan SES paket Amazon dalam solusi Anda dengan menyelesaikan langkah-langkah berikut:
-
Di panel Solution Explorer, klik kanan project Anda, lalu pilih Manage NuGet Packages.
-
Pada mazonSESSample tab NuGet: A, pilih Browse.
-
Di kotak pencarian, ketik
AWSSDK.SimpleEmail
. -
Pilih AWSSDK. SimpleEmailpaket, dan kemudian pilih Install.
-
Di jendela Pratinjau Perubahan, pilih OK.
-
-
Di tab Program.cs, tempel kode berikut:
using Amazon; using System; using System.Collections.Generic; using Amazon.SimpleEmail; using Amazon.SimpleEmail.Model; namespace AmazonSESSample { class Program { // Replace sender@example.com with your "From" address. // This address must be verified with Amazon SES. static readonly string senderAddress = "
sender@example.com
"; // Replace recipient@example.com with a "To" address. If your account // is still in the sandbox, this address must be verified. static readonly string receiverAddress = "recipient@example.com
"; // The configuration set to use for this email. If you do not want to use a // configuration set, comment out the following property and the // ConfigurationSetName = configSet argument below. static readonly string configSet = "ConfigSet
"; // The subject line for the email. static readonly string subject = "Amazon SES test (AWS SDK for .NET)"; // The email body for recipients with non-HTML email clients. static readonly string textBody = "Amazon SES Test (.NET)\r\n" + "This email was sent through Amazon SES " + "using the AWS SDK for .NET."; // The HTML body of the email. static readonly string htmlBody = @"<html> <head></head> <body> <h1>Amazon SES Test (AWS SDK for .NET)</h1> <p>This email was sent with <a href='https://aws.amazon.com/ses/'>Amazon SES</a> using the <a href='https://aws.amazon.com/sdk-for-net/'> AWS SDK for .NET</a>.</p> </body> </html>"; static void Main(string[] args) { // Replace USWest2 with the AWS Region you're using for Amazon SES. // Acceptable values are EUWest1, USEast1, and USWest2. using (var client = new AmazonSimpleEmailServiceClient(RegionEndpoint.USWest2
)) { var sendRequest = new SendEmailRequest { Source = senderAddress, Destination = new Destination { ToAddresses = new List<string> { receiverAddress } }, Message = new Message { Subject = new Content(subject), Body = new Body { Html = new Content { Charset = "UTF-8", Data = htmlBody }, Text = new Content { Charset = "UTF-8", Data = textBody } } }, // If you are not using a configuration set, comment // or remove the following line ConfigurationSetName = configSet }; try { Console.WriteLine("Sending email using Amazon SES..."); var response = client.SendEmail(sendRequest); Console.WriteLine("The email was sent successfully."); } catch (Exception ex) { Console.WriteLine("The email was not sent."); Console.WriteLine("Error message: " + ex.Message); } } Console.Write("Press any key to continue..."); Console.ReadKey(); } } } -
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. -
Ganti
recipient@example.com
dengan alamat “To:”. 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 endpoint yang Anda gunakan untuk mengirim email menggunakan AmazonSES. Untuk daftar wilayah tempat Amazon SES tersedia, lihat Layanan Email Sederhana Amazon (AmazonSES) di Referensi Umum AWS.
Setelah selesai, simpan
Program.cs
. -
-
Bangun dan jalankan aplikasi dengan menyelesaikan langkah berikut:
-
Di menu Bangun, pilih Bangun Solusi.
-
Di menu Debug, pilih Mulai Debugging. Jendela konsol muncul.
-
-
Tinjau output dari konsol tersebut. Jika email berhasil dikirim, konsol tersebut akan menampilkan "
The email was sent successfully.
" -
Jika email berhasil dikirim, masuk ke klien email alamat penerima. Anda akan menemukan pesan yang Anda kirim.
-
- Java
-
Prosedur berikut menunjukkan kepada Anda cara menggunakan Eclipse IDE untuk Pengembang Java EE
dan AWS Toolkit for Eclipseuntuk membuat AWS SDK proyek 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
. 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
Kode di tutorial ini diuji menggunakan AWS Toolkit for Eclipse versi 2.3.1.
Untuk mengirim email menggunakan AWS SDK for Java
-
Buat Proyek AWS Java di Eclipse dengan melakukan langkah-langkah berikut:
-
Mulai Eclipse.
-
Di menu File, pilih Baru, lalu pilih Lainnya. Di jendela Baru, perluas folder AWS, lalu pilih Java Project AWS ..
-
Di kotak dialog New AWS Java Project, lakukan hal berikut:
-
Untuk Nama proyek, ketik nama proyek.
-
Di bawah AWS SDK for Java Sampel, pilih JavaMail Sampel Layanan Email Sederhana Amazon.
-
Pilih Selesai.
-
-
-
Di Eclipse, di panel Penjelajah Paket, perluas proyek Anda.
-
Di bawah proyek Anda, perluas folder
src/main/java
, perluas foldercom.amazon.aws.samples
, lalu klik dua kaliAmazonSESSample.java
. -
Ganti seluruh konten
AmazonSESSample.java
dengan kode berikut:package com.amazonaws.samples; import java.io.IOException; import com.amazonaws.regions.Regions; import com.amazonaws.services.simpleemail.AmazonSimpleEmailService; import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClientBuilder; import com.amazonaws.services.simpleemail.model.Body; import com.amazonaws.services.simpleemail.model.Content; import com.amazonaws.services.simpleemail.model.Destination; import com.amazonaws.services.simpleemail.model.Message; import com.amazonaws.services.simpleemail.model.SendEmailRequest; public class AmazonSESSample { // Replace sender@example.com with your "From" address. // This address must be verified with Amazon SES. static final String FROM = "
sender@example.com
"; // Replace recipient@example.com with a "To" address. If your account // is still in the sandbox, this address must be verified. static final String TO = "recipient@example.com
"; // The configuration set to use for this email. If you do not want to use a // configuration set, comment the following variable and the // .withConfigurationSetName(CONFIGSET); argument below. static final String CONFIGSET = "ConfigSet
"; // The subject line for the email. static final String SUBJECT = "Amazon SES test (AWS SDK for Java)"; // The HTML body for the email. static final String HTMLBODY = "<h1>Amazon SES test (AWS SDK for Java)</h1>" + "<p>This email was sent with <a href='https://aws.amazon.com/ses/'>" + "Amazon SES</a> using the <a href='https://aws.amazon.com/sdk-for-java/'>" + "AWS SDK for Java</a>"; // The email body for recipients with non-HTML email clients. static final String TEXTBODY = "This email was sent through Amazon SES " + "using the AWS SDK for Java."; public static void main(String[] args) throws IOException { try { AmazonSimpleEmailService client = AmazonSimpleEmailServiceClientBuilder.standard() // Replace US_WEST_2 with the AWS Region you're using for // Amazon SES. .withRegion(Regions.US_WEST_2
).build(); SendEmailRequest request = new SendEmailRequest() .withDestination( new Destination().withToAddresses(TO)) .withMessage(new Message() .withBody(new Body() .withHtml(new Content() .withCharset("UTF-8").withData(HTMLBODY)) .withText(new Content() .withCharset("UTF-8").withData(TEXTBODY))) .withSubject(new Content() .withCharset("UTF-8").withData(SUBJECT))) .withSource(FROM) // Comment or remove the next line if you are not using a // configuration set .withConfigurationSetName(CONFIGSET); client.sendEmail(request); System.out.println("Email sent!"); } catch (Exception ex) { System.out.println("The email was not sent. Error message: " + ex.getMessage()); } } } -
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. -
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 selengkapnya, lihat Minta akses produksi (Pindah dari SES kotak pasir Amazon). -
(Opsional)
us-west-2
—Jika Anda ingin menggunakan Amazon SES di Wilayah selain AS Barat (Oregon), ganti ini dengan Wilayah yang ingin Anda gunakan. Untuk daftar Wilayah tempat Amazon SES tersedia, lihat Layanan Email Sederhana Amazon (AmazonSES) di Referensi Umum AWS.
-
-
Simpan
AmazonSESSample.java
. -
Untuk membangun proyek, pilih Proyek lalu pilih Bangun Proyek.
catatan
Jika opsi ini dinonaktifkan, pembangunan otomatis dapat diaktifkan; jika demikian, lewati langkah ini.
-
Untuk memulai program dan mengirim email, pilih Jalankan lalu pilih Jalankan lagi.
-
Tinjau output dari panel konsol tersebut di Eclipse. Jika email berhasil dikirim, konsol tersebut akan menampilkan "
Email sent!
", Jika tidak, pesan kesalahan akan ditampilkan. -
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 for PHP
untuk mengirim email melalui AmazonSES. Sebelum Anda memulai, lakukan tugas berikut:
-
Instal PHP - PHP tersedia di http://php.net/downloads.php
. Tutorial ini membutuhkan PHP versi 5.5 atau lebih tinggi. Setelah Anda menginstalPHP, tambahkan path ke PHP dalam variabel lingkungan Anda sehingga Anda dapat menjalankan PHP dari prompt perintah apa pun. Kode dalam tutorial ini diuji menggunakan PHP 7.2.7. -
Instal AWS SDK for PHP versi 3 —Untuk petunjuk pengunduhan dan penginstalan, lihat AWS SDK for PHP dokumentasi. Kode dalam tutorial ini diuji menggunakan versi 3.64.13 dari file. SDK
Untuk mengirim email melalui Amazon SES menggunakan AWS SDK for PHP
-
Di editor teks, buat file bernama
amazon-ses-sample.php
. Tempel kode berikut:<?php // If necessary, modify the path in the require statement below to refer to the // location of your Composer autoload.php file. require 'vendor/autoload.php'; use Aws\Ses\SesClient; use Aws\Exception\AwsException; // Create an SesClient. Change the value of the region parameter if you're // using an AWS Region other than US West (Oregon). Change the value of the // profile parameter if you want to use a profile in your credentials file // other than the default. $SesClient = new SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => '
us-west-2
' ]); // Replace sender@example.com with your "From" address. // This address must be verified with Amazon SES. $sender_email = 'sender@example.com
'; // Replace these sample addresses with the addresses of your recipients. If // your account is still in the sandbox, these addresses must be verified. $recipient_emails = ['recipient1@example.com
','recipient2@example.com
']; // Specify a configuration set. If you do not want to use a configuration // set, comment the following variable, and the // 'ConfigurationSetName' => $configuration_set argument below. $configuration_set = 'ConfigSet
'; $subject = 'Amazon SES test (AWS SDK for PHP)'; $plaintext_body = 'This email was sent with Amazon SES using the AWS SDK for PHP.' ; $html_body = '<h1>AWS Amazon Simple Email Service Test Email</h1>'. '<p>This email was sent with <a href="https://aws.amazon.com/ses/">'. 'Amazon SES</a> using the <a href="https://aws.amazon.com/sdk-for-php/">'. 'AWS SDK for PHP</a>.</p>'; $char_set = 'UTF-8'; try { $result = $SesClient->sendEmail([ 'Destination' => [ 'ToAddresses' => $recipient_emails, ], 'ReplyToAddresses' => [$sender_email], 'Source' => $sender_email, 'Message' => [ 'Body' => [ 'Html' => [ 'Charset' => $char_set, 'Data' => $html_body, ], 'Text' => [ 'Charset' => $char_set, 'Data' => $plaintext_body, ], ], 'Subject' => [ 'Charset' => $char_set, 'Data' => $subject, ], ], // If you aren't using a configuration set, comment or delete the // following line 'ConfigurationSetName' => $configuration_set, ]); $messageId = $result['MessageId']; echo("Email sent! Message ID: $messageId"."\n"); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo("The email was not sent. Error message: ".$e->getAwsErrorMessage()."\n"); echo "\n"; } -
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 for PHP dalam program. Untuk informasi lebih lanjut, lihat dokumentasi AWS SDK for PHP. -
sender@example.com
—Ganti dengan alamat email yang telah Anda verifikasi dengan AmazonSES. Untuk informasi selengkapnya, lihat Identitas terverifikasi. 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 SES kotak pasir Amazon). 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 Menggunakan set konfigurasi di Amazon SES. -
(Opsional)
us-west-2
—Jika Anda ingin menggunakan Amazon SES di Wilayah selain AS Barat (Oregon), ganti ini dengan Wilayah yang ingin Anda gunakan. Untuk daftar Wilayah tempat Amazon SES tersedia, lihat Layanan Email Sederhana Amazon (AmazonSES) di Referensi Umum AWS.
-
-
Simpan
amazon-ses-sample.php
. -
Untuk menjalankan program, buka prompt perintah di direktori yang sama seperti
amazon-ses-sample.php
, lalu ketik perintah berikut:$
php amazon-ses-sample.php
-
Tinjau output. Jika email berhasil dikirim, konsol tersebut akan menampilkan "
Email sent!
", Jika tidak, pesan kesalahan akan ditampilkan.catatan
Jika Anda menemukan kesalahan “c URL error 60: SSL certificate problem” saat menjalankan program, unduh bundel CA terbaru seperti yang dijelaskan dalam AWS SDK for PHP dokumentasi. Kemudian, di
amazon-ses-sample.php
, tambahkan baris berikut ini ke arraySesClient::factory
, gantipath_of_certs
dengan jalur ke paket CA yang Anda unduh, lalu kembali jalankan program.'http' => [ 'verify' => 'path_of_certs\ca-bundle.crt' ]
-
Masuk ke klien email alamat penerima. Anda akan menemukan pesan yang Anda kirim.
-
- Ruby
-
Topik ini menunjukkan cara menggunakan AWS SDK for Ruby
untuk mengirim email melalui AmazonSES. Sebelum Anda memulai, lakukan tugas berikut:
-
Instal Ruby —Ruby tersedia di 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 for Ruby —Untuk petunjuk pengunduhan dan penginstalan, lihat Menginstal AWS SDK for Ruby di Panduan AWS SDK for Ruby Pengembang. Kode sampel di tutorial ini diuji menggunakan AWS SDK for 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 AWS SDK.
Untuk mengirim email melalui Amazon SES menggunakan AWS SDK for Ruby
-
Di editor teks, buat file bernama
amazon-ses-sample.rb
. Tempel kode berikut ke file:require 'aws-sdk' # Replace sender@example.com with your "From" address. # This address must be verified with Amazon SES. sender = "
sender@example.com
" # Replace recipient@example.com with a "To" address. If your account # is still in the sandbox, this address must be verified. recipient = "recipient@example.com
" # Specify a configuration set. If you do not want to use a configuration # set, comment the following variable and the # configuration_set_name: configsetname argument below. configsetname = "ConfigSet
" # Replace us-west-2 with the AWS Region you're using for Amazon SES. awsregion = "us-west-2
" # The subject line for the email. subject = "Amazon SES test (AWS SDK for Ruby)" # The HTML body of the email. htmlbody = '<h1>Amazon SES test (AWS SDK for Ruby)</h1>'\ '<p>This email was sent with <a href="https://aws.amazon.com/ses/">'\ 'Amazon SES</a> using the <a href="https://aws.amazon.com/sdk-for-ruby/">'\ 'AWS SDK for Ruby</a>.' # The email body for recipients with non-HTML email clients. textbody = "This email was sent with Amazon SES using the AWS SDK for Ruby." # Specify the text encoding scheme. encoding = "UTF-8" # Create a new SES resource and specify a region ses = Aws::SES::Client.new(region: awsregion) # Try to send the email. begin # Provide the contents of the email. resp = ses.send_email({ destination: { to_addresses: [ recipient, ], }, message: { body: { html: { charset: encoding, data: htmlbody, }, text: { charset: encoding, data: textbody, }, }, subject: { charset: encoding, data: subject, }, }, source: sender, # Comment or remove the following line if you are not using # a configuration set configuration_set_name: configsetname, }) puts "Email sent!" # If something goes wrong, display an error message. rescue Aws::SES::Errors::ServiceError => error puts "Email not sent. Error message: #{error}" end -
Di
amazon-ses-sample.rb
, ganti berikut dengan nilai-nilai Anda sendiri:-
sender@example.com
—Ganti dengan alamat email yang telah Anda verifikasi dengan AmazonSES. Untuk informasi selengkapnya, lihat Identitas terverifikasi. 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 SES kotak pasir Amazon). 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 AS Barat (Oregon), ganti ini dengan Wilayah yang ingin Anda gunakan. Untuk daftar Wilayah tempat Amazon SES tersedia, lihat Layanan Email Sederhana Amazon (AmazonSES) di Referensi Umum AWS.
-
-
Simpan
amazon-ses-sample.rb
. -
Untuk menjalankan program, buka prompt perintah di direktori yang sama seperti
amazon-ses-sample.rb
, dan ketik ruby amazon-ses-sample.rb -
Tinjau output. Jika email berhasil dikirim, konsol tersebut akan menampilkan "
Email sent!
", Jika tidak, pesan kesalahan akan ditampilkan. -
Masuk ke klien email alamat penerima. Anda akan menemukan pesan yang Anda kirim.
-
- Python
-
Topik ini menunjukkan cara menggunakan AWS SDK for Python (Boto)
untuk mengirim email melalui AmazonSES. Sebelum Anda memulai, lakukan tugas berikut:
-
Verifikasi alamat email Anda dengan Amazon SES —Sebelum Anda dapat mengirim email dengan AmazonSES, Anda harus memverifikasi bahwa Anda memiliki alamat email pengirim. Jika akun Anda masih di SES kotak pasir Amazon, Anda juga harus memverifikasi alamat email penerima. Kami menyarankan Anda menggunakan SES konsol Amazon untuk memverifikasi alamat email. Untuk informasi selengkapnya, lihat Membuat identitas alamat email.
-
Dapatkan AWS kredensialmu —Anda memerlukan ID kunci AWS akses dan kunci akses AWS rahasia untuk mengakses Amazon SES menggunakan file. SDK Anda dapat menemukan kredensial Anda dengan menggunakan halaman AWS Management ConsoleKredensial Keamanan
. Untuk informasi selengkapnya tentang jenis kredensial, lihat Tipe kredensial Amazon SES. -
Instal Python —Python tersedia di thon.org/downloads/. https://www.py
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
. Kode sampel dalam tutorial ini diuji menggunakan versi 1.4.4 dari SDK untuk Python.
Untuk mengirim email melalui Amazon SES menggunakan SDK untuk Python
-
Di editor teks, buat file bernama
amazon-ses-sample.py
. Tempel kode berikut ke file:import boto3 from botocore.exceptions import ClientError # Replace sender@example.com with your "From" address. # This address must be verified with Amazon SES. SENDER = "
Sender Name <sender@example.com>
" # Replace recipient@example.com with a "To" address. If your account # is still in the sandbox, this address must be verified. RECIPIENT = "recipient@example.com
" # Specify a configuration set. If you do not want to use a configuration # set, comment the following variable, and the # ConfigurationSetName=CONFIGURATION_SET argument below. CONFIGURATION_SET = "ConfigSet
" # If necessary, replace us-west-2 with the AWS Region you're using for Amazon SES. AWS_REGION = "us-west-2
" # The subject line for the email. SUBJECT = "Amazon SES Test (SDK for Python)" # The email body for recipients with non-HTML email clients. BODY_TEXT = ("Amazon SES Test (Python)\r\n" "This email was sent with Amazon SES using the " "AWS SDK for Python (Boto)." ) # The HTML body of the email. BODY_HTML = """<html> <head></head> <body> <h1>Amazon SES Test (SDK for Python)</h1> <p>This email was sent with <a href='https://aws.amazon.com/ses/'>Amazon SES</a> using the <a href='https://aws.amazon.com/sdk-for-python/'> AWS SDK for Python (Boto)</a>.</p> </body> </html> """ # The character encoding for the email. CHARSET = "UTF-8" # Create a new SES resource and specify a region. client = boto3.client('ses',region_name=AWS_REGION) # Try to send the email. try: #Provide the contents of the email. response = client.send_email( Destination={ 'ToAddresses': [ RECIPIENT, ], }, Message={ 'Body': { 'Html': { 'Charset': CHARSET, 'Data': BODY_HTML, }, 'Text': { 'Charset': CHARSET, 'Data': BODY_TEXT, }, }, 'Subject': { 'Charset': CHARSET, 'Data': SUBJECT, }, }, Source=SENDER, # If you are not using a configuration set, comment or delete the # following line ConfigurationSetName=CONFIGURATION_SET, ) # Display an error if something goes wrong. except ClientError as e: print(e.response['Error']['Message']) else: print("Email sent! Message ID:"), print(response['MessageId']) -
Di
amazon-ses-sample.py
, ganti berikut dengan nilai-nilai Anda sendiri:-
sender@example.com
—Ganti dengan alamat email yang telah Anda verifikasi dengan AmazonSES. Untuk informasi selengkapnya, lihat Identitas terverifikasi. 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 SES kotak pasir Amazon). 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 AS Barat (Oregon), ganti ini dengan Wilayah yang ingin Anda gunakan. Untuk daftar Wilayah tempat Amazon SES tersedia, lihat Layanan Email Sederhana Amazon (AmazonSES) di Referensi Umum AWS.
-
-
Simpan
amazon-ses-sample.py
. -
Untuk menjalankan program, buka prompt perintah di direktori yang sama seperti
amazon-ses-sample.py
, lalu ketik python amazon-ses-sample.py. -
Tinjau output. Jika email berhasil dikirim, konsol tersebut akan menampilkan "
Email sent!
", Jika tidak, pesan kesalahan akan ditampilkan. -
Masuk ke klien email alamat penerima. Anda akan menemukan pesan yang Anda kirim.
-