Memulai dengan layanan sederhana Email Amazon (SES)
Indonesian (Bahasa Indonesia) translation by Afiff Soebarkah (you can also view the original English article)
Dalam tutorial ini saya akan berbicara tentang Amazon sederhana Email Layanan (SES) dan pergi ke beberapa cara Anda dapat memanfaatkan. SES adalah layanan email keluar, yang berarti bahwa itu akan memungkinkan Anda untuk mengirim email melalui itu.
Mengapa Anda membutuhkan layanan email meskipun? Yah, dengan banyak penyedia hosting, mengirimkan banyak email (mungkin Anda memiliki banyak pelanggan menggunakan toko web Anda) dapat menjadi masalah karena host cenderung memiliki keterbatasan. Alternatif standar adalah untuk menggunakan Gmail untuk mengirim email, namun, yang memiliki keterbatasan juga. Ini adalah dimana SES datang karena itu dirancang untuk tujuan ini tepat. SES membuat pengiriman email lebih dapat diandalkan, dan menggunakan sentuhan ajaib, hal ini juga membantu email Anda menghindari SPAM folder.
Harga
Ketika Anda mendaftar ke Amazon, Anda dapat menggunakan tier gratis mereka selama dua belas bulan. Tingkat gratis akan memberikan Anda akses ke semua layanan Amazon, tetapi dengan keterbatasan yang adil. Sebagai contoh, SES dibatasi hingga 2.000 pesan per hari jika Anda memilih hosting EC2 mereka.
Jika biaya adalah $0.10 per seribu pesan. Mereka mempertimbangkan sebuah pesan tunggal sebagai satu pesan ke satu penerima. Jadi jika Anda mengirim satu email ke alamat email 1000 akan dikenakan biaya 10 dolar sen.
Melampirkan file biaya $0.12 per GB.
Opsi untuk menggunakan SES
Saat ini ada dua cara untuk menggunakan SES:
- Simple Mail Transfer Protocol (umumnya dikenal sebagai SMTP)
- SDK API
Mereka bekerja berbeda; SMTP memungkinkan Anda untuk link langsung ke email server, sedangkan metode API memungkinkan Anda untuk mengirim email melalui Layanan SES AWS. Dalam tutorial ini kita akan membahas penggunaan server SMTP melalui sebuah plugin, kemudian (untuk yang lebih berani antara kamu) kita akan mengambil melihat menggunakan SDK API.
Pengaturan cepat SES Account
Sebelum kami melakukan sesuatu, kami akan memerlukan account di SES. Ini akan menunjukkan Anda bagaimana untuk mendapatkan account Anda siap dan untuk mengirim email menggunakan konsol.
Mendaftar untuk AWS
Sebelum Anda dapat menggunakan SES Anda perlu untuk sign up untuk account Amazon Web Services - kartu kredit diperlukan, bahkan untuk rencana gratis. Untuk mendaftar Anda harus pergi ke https://aws.amazon.com/ses, ikuti layar petunjuk dan menyelesaikan beberapa langkah-langkah konfirmasi identitas.



Setelah mendaftar, Anda akan memiliki akses ke semua layanan Amazon.
Memverifikasi alamat Email Anda
Terlepas dari Apakah Anda menggunakan layanan di sandbox atau produksi, Anda harus memverifikasi alamat "Dari" Anda. Anda dapat menemukan informasi lebih lanjut tentang memverifikasi alamat email di dokumentasi Bantuan.



Permintaan produksi akses
Sekali Anda telah menerima email Anda kemudian dapat meminta akses produksi. Ini akan memungkinkan Anda untuk mengirim email ke alamat email belum diverifikasi. Jumlah email Anda dapat mengirim setiap hari akan dibangkitkan.



Catatan: Bijaksana untuk bermain dalam sandbox mode sebelum mengirim email yang nyata.
Menggunakan WordPress Plugin
Sementara Amazon tidak saat ini memiliki plugin resmi, ada pihak ketiga namun paket luar sana daripada dapat melakukan pekerjaan. Dalam contoh ini kita akan menggunakan sebuah plugin yang disebut Amazon SES DKIM Mailer. Ini adalah plugin yang brilian, kompatibel dengan layanan email yang berbeda termasuk Amazon SES. Ini berarti bahwa jika Anda memutuskan untuk tidak tetap dengan SES maka Anda tidak perlu mengubah situs Anda, hanya koneksi rincian.
Plugin ini juga dilengkapi dengan surat diidentifikasi DomainKeys (DKIM) dukungan. DKIM adalah tentang reputasi; dengan penandatanganan email Anda dengan ini Anda dapat mencegah email Anda langsung menuju folder sampah.
Menginstal
Diambil dari dokumentasi plugin di WordPress:
- Menonaktifkan plugin mailer yang ada untuk menghindari konflik.
- Unzip file zip plugin di dalam/wp-content/plugins/direktori (atau menginstal melalui plugin WordPress built-in installer).
- Aktifkan plugin melalui menu admin plugin di WordPress.
- Klik link pengaturan plugin Nonaktifkan link (masih pada halaman plugin), atau klik pada pengaturan > link Mail Settings, untuk pergi ke halaman pengaturan admin plugin. Menyesuaikan pengaturan untuk situasi Anda.



Seperti yang kita bahas sebelumnya, untuk menggunakan Amazon SES di lingkungan dunia nyata, Anda harus berlaku untuk produksi akses. Tanpa ini, Anda tidak akan dapat mengirim email ke alamat yang Anda tidak mengontrol.
DKIM
Untuk mengambil keuntungan dari DKIM Anda akan perlu untuk menghasilkan publik dan kunci pribadi dan upload kunci pribadi Anda ke server Anda (kami merekomendasikan menamakannya ".htkeyprivate" dan menempatkannya di root dari situs, dan menetapkan izin untuk 400 atau 440).
Untuk pengguna Windows ada banyak online Generator kunci untuk membantu melakukan hal ini. Pada linux server atau Mac Anda dapat menghasilkan kunci DKIM Anda sendiri dengan password dari "mengubah-saya" menggunakan terminal perintah berikut:
1 |
openssl genrsa -des3 -passout pass:change-me -out .htkeyprivate 1024 && openssl rsa -in .htkeyprivate -passin pass:change-me -pubout -out .htkeypublic |
Untuk DKIM, mengatur data DNS TXT sesuatu seperti:
1 |
HOST: your-selector._domainkey.example.com. TXT VALUE: v=DKIM1; k=rsa; g=*; s=email; h=sha1; t=s; p=your-public-key; |
Menggunakan built-in tes untuk memeriksa bahwa blog Anda dengan benar dapat mengirimkan e-mail (DKIM ditandatangani).
Mengkonfigurasi
Untuk memastikan bahwa plugin diatur untuk bekerja dengan AWS SES ada beberapa pengaturan yang perlu dikonfigurasi (Lihat gambar di atas).
- Centang kirim e-mail melalui Amazon SES?
- Tambahkan tombol akses AWS
- Tambahkan tombol rahasia AWS
- Pastikan bahwa alamat "Dari" adalah salah satu Anda divalidasi sebelumnya.
Anda sekarang dapat menggunakan plugin mengirim pesan pengujian. Setelah Anda telah berhasil menerima email, Anda benar-benar siap untuk menggunakannya.
AWS SDK PHP Tutorial
Untuk pengguna yang lebih maju, dalam bagian ini saya akan menunjukkan kepada Anda bagaimana untuk mengirim email menggunakan SDK. Ini akan menggunakan PHP, namun, ada SDK untuk bahasa lain juga.
Pertama Anda harus menginstal SDK. Untuk PHP ada beberapa cara untuk melakukannya; Komposer, Phar, Zip dan pir. Untuk tutorial ini kita akan menggunakan komposer, yang Anda akan perlu untuk install terlebih dahulu. Setelah Anda memiliki komposer yang diinstal Anda harus dapat mengaksesnya dari Command Line Interface (CLI).
Membuat file di root dari proyek Anda yang disebut "composer.json", ini adalah dimana Anda akan meletakkan konfigurasi Anda. Kemudian tambahkan:
1 |
{
|
2 |
"require": { |
3 |
"aws/aws-sdk-php": "2.*" |
4 |
}
|
5 |
}
|
Jika Anda telah menggunakan "composer.phar" maka Anda dapat melakukan instalasi php composer.phar atau windows komposer menginstal. Anda kemudian dapat menambahkan proyek Anda memerlukan ' / path/to/sdk/vendor/autoload.php';
Sekarang bahwa Anda melakukan ini, Anda memiliki akses ke semua produk API yang menyediakan AWS. Ini berarti bahwa Anda sekarang dapat mengirim email. Jadi apa yang Anda butuhkan?
Berikut adalah contoh:
1 |
use Aws\Ses\SesClient; |
2 |
|
3 |
require 'vendor/autoload.php'; |
4 |
|
5 |
$client = SesClient::factory(array( |
6 |
'key' => 'AWS_KEY', |
7 |
'secret' => 'AWS_SECRET_KEY', |
8 |
'region' => 'us-east-1' |
9 |
));
|
10 |
|
11 |
$emailSentId = $client->sendEmail(array( |
12 |
// Source is required
|
13 |
'Source' => 'from@email.com', |
14 |
// Destination is required
|
15 |
'Destination' => array( |
16 |
'ToAddresses' => array('to@email.com') |
17 |
),
|
18 |
// Message is required
|
19 |
'Message' => array( |
20 |
// Subject is required
|
21 |
'Subject' => array( |
22 |
// Data is required
|
23 |
'Data' => 'SES Testing', |
24 |
'Charset' => 'UTF-8', |
25 |
),
|
26 |
// Body is required
|
27 |
'Body' => array( |
28 |
'Text' => array( |
29 |
// Data is required
|
30 |
'Data' => 'My plain text email', |
31 |
'Charset' => 'UTF-8', |
32 |
),
|
33 |
'Html' => array( |
34 |
// Data is required
|
35 |
'Data' => '<b>My HTML Email</b>', |
36 |
'Charset' => 'UTF-8', |
37 |
),
|
38 |
),
|
39 |
),
|
40 |
'ReplyToAddresses' => array( 'replyTo@email.com' ), |
41 |
'ReturnPath' => 'bounce@email.com' |
42 |
));
|
Mari kita berjalan melalui itu. Pertama kami menambahkan menggunakan namespace sehingga membuat kode tampak bersih. Kemudian kami menambahkan file autoload.php komposer.
Untuk dapat benar-benar mengirim file kita harus membuat klien. Hal ini dilakukan dengan menggunakan SES klien pabrik. Ini dapat mengambil banyak pengaturan yang berbeda tetapi minimal yang kita butuhkan adalah kunci, rahasia dan wilayah. Anda dapat menemukan kunci dan rahasia di IAM Management Console. Daerah adalah wilayah yang Anda gunakan untuk SES.
Dengan itu Anda sekarang memiliki klien setup dan siap untuk pergi. Anda sekarang dapat menggunakan klien menelepon sendEmail. Ada metode lain yang Anda bisa menelepon dan Anda dapat menemukan informasi lebih lanjut tentang mereka di dokumentasi Bantuan.
Metode sendEmail
mengambil satu parameter yang merupakan array. Array ini memerlukan data tertentu di dalamnya; sebagai contoh sumber diperlukan dan harus alamat yang Anda telah divalidasi dalam account Anda untuk memungkinkan pengiriman email.
Sekali Anda telah dimasukkan ke dalam email yang Anda ingin menggunakan dan menambahkan konten email Anda dapat sekarang menjalankan script dan Anda akan telah mengirimkan email pertama Anda!
Kesimpulan
Apapun rute implementasi yang Anda ambil, saya berharap ini tutorial telah terusik minat Anda dan mendorong Anda untuk melihat di Amazon SES! Jika Anda menemukan masalah saat menggunakan SES merasa bebas untuk meminta saran di komentar.