

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

# Mengintegrasikan Amazon SES dengan Sendmail
<a name="send-email-sendmail"></a>

Sendmail dirilis pada awal 1980-an, dan telah terus ditingkatkan sejak saat itu. Ini adalah agen transfer pesan (MTA) yang fleksibel dan dapat dikonfigurasi dengan komunitas pengguna yang besar. Sendmail diakuisisi oleh Proofpoint pada tahun 2013, namun Proofpoint terus menawarkan versi sumber terbuka Sendmail. Anda dapat mengunduh [versi sumber terbuka Sendmail](https://www.proofpoint.com/us/open-source-email-solution) dari situs web Proofpoint, atau melalui manajer paket dari sebagian besar distribusi Linux.

Prosedur di bagian ini menunjukkan cara mengonfigurasi Sendmail untuk mengirim email melalui Amazon SES. Prosedur ini diuji pada server yang menjalankan Ubuntu 18.04.2 LTS.

**catatan**  
Sendmail adalah aplikasi pihak ke tiga, dan tidak dikembangkan atau didukung oleh Amazon Web Services. Prosedur di bagian ini disediakan hanya untuk tujuan informasi saja, dan dapat berubah tanpa pemberitahuan.

## Prasyarat
<a name="send-email-sendmail-prerequisites"></a>

Sebelum menyelesaikan prosedur di bagian ini, Anda harus menyelesaikan langkah-langkah berikut:
+ Instal paket Sendmail di server Anda. 
**catatan**  
Tergantung pada distribusi sistem operasi yang Anda gunakan, Anda mungkin juga perlu menginstal paket berikut: `sendmail-cf`, `m4`, dan `cyrus-sasl-plain`.
+ Verifikasi identitas untuk digunakan sebagai alamat Dari Anda. Untuk informasi lebih lanjut, lihat [Membuat identitas alamat email](creating-identities.md#verify-email-addresses-procedure).

  Jika akun Anda berada di sandbox Amazon SES, Anda juga harus memverifikasi alamat tujuan pengiriman email. Untuk informasi lebih lanjut, lihat [Minta akses produksi (Pindah dari kotak pasir Amazon SES)](request-production-access.md).

Jika Anda menggunakan Amazon SES untuk mengirim email dari instans Amazon EC2, Anda juga harus menyelesaikan langkah-langkah berikut:
+ Anda mungkin perlu menetapkan Alamat IP Elastis untuk instans Amazon EC2 Anda agar menerima penyedia email untuk menerima email Anda. Untuk informasi selengkapnya, lihat [Alamat IP Elastis Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) di Panduan Pengguna *Amazon EC2*.
+ Amazon Elastic Compute Cloud (Amazon EC2) membatasi lalu lintas email melalui port 25 secara default. Untuk menghindari waktu habis saat mengirim email melalui titik akhir SMTP dari Amazon EC2, Anda dapat meminta pembatasan ini dihapus. Untuk informasi selengkapnya, lihat [Bagaimana cara menghapus pembatasan pada port 25 dari instans AWS Lambda atau fungsi Amazon EC2 saya](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-port-25-throttle/)? di pusat AWS pengetahuan.

  Atau, Anda dapat mengubah prosedur di bagian ini untuk menggunakan port 587 bukan port 25.

## Mengonfigurasi Sendmail
<a name="send-email-sendmail-procedure"></a>

Selesaikan langkah-langkah di bagian ini untuk mengonfigurasi Sendmail untuk mengirim email menggunakan Amazon SES.

**penting**  
Prosedur di bagian ini mengasumsikan bahwa Anda ingin menggunakan Amazon SES di AS Barat (Oregon). Wilayah AWS Jika Anda ingin menggunakan Wilayah yang berbeda, ganti semua instans *email-smtp.us-west-2.amazonaws.com* di prosedur ini dengan titik akhir SMTP dari wilayah yang diinginkan. Untuk daftar titik akhir URLs SMTP di mana Amazon Wilayah AWS SES tersedia, lihat Amazon [Simple Email Service (Amazon SES) di](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region). *Referensi Umum AWS*

**Untuk mengonfigurasi Sendmail**

1. Di editor file, buka file `/etc/mail/authinfo`. Jika file tidak ditemukan, buatlah.

   Tambahkan baris berikut ke*/etc/mail/authinfo*:

   ```
   AuthInfo:{{email-smtp.us-west-2.amazonaws.com}} "U:root" "I:{{smtpUsername}}" "P:{{smtpPassword}}" "M:PLAIN"
   ```

   Pada contoh sebelumnya, lakukan perubahan berikut:
   + Ganti {{email-smtp.us-west-2.amazonaws.com}} dengan endpoint Amazon SES SMTP yang ingin Anda gunakan.
   + Ganti {{smtpUsername}} dengan nama pengguna Amazon SES SMTP Anda.
   + Ganti {{smtpPassword}} dengan kata sandi SMTP Amazon SES Anda.
**catatan**  
Kredensi masuk SMTP Anda berbeda dari ID Kunci AWS Akses dan Kunci Akses Rahasia Anda. Untuk informasi selengkapnya tentang mendapatkan kredenal masuk SMTP Anda, lihat. [Mendapatkan kredensial SMTP Amazon SES](smtp-credentials.md)

   Setelah selesai, simpan `authinfo`.

1. Di baris perintah, masukkan perintah berikut untuk menghasilkan file `/etc/mail/authinfo.db`:

   ```
   sudo sh -c 'makemap hash /etc/mail/authinfo.db < /etc/mail/authinfo'
   ```

1. Di baris perintah, ketik perintah berikut untuk menambahkan dukungan untuk menyampaikan ke titik akhir Amazon SES SMTP.

   ```
   sudo sh -c 'echo "Connect:{{email-smtp.us-west-2.amazonaws.com}} RELAY" >> /etc/mail/access'
   ```

   Pada perintah sebelumnya, ganti {{email-smtp.us-west-2.amazonaws.com}} dengan alamat titik akhir SMTP Amazon SES yang ingin Anda gunakan.

1. Pada baris perintah, ketik perintah berikut untuk meregenerasi*/etc/mail/access.db*:

   ```
   sudo sh -c 'makemap hash /etc/mail/access.db < /etc/mail/access'
   ```

1. Di baris perintah, ketik perintah berikut untuk membuat backup file `sendmail.cf` dan `sendmail.mc`:

   ```
   sudo sh -c 'cp /etc/mail/sendmail.cf /etc/mail/sendmail_cf.backup && cp /etc/mail/sendmail.mc /etc/mail/sendmail_mc.backup'
   ```

1. Tambahkan baris berikut ke file*/etc/mail/sendmail.mc* sebelum definisi apa pun`MAILER()`.

   ```
   define(`SMART_HOST', `{{email-smtp.us-west-2.amazonaws.com}}')dnl
   define(`RELAY_MAILER_ARGS', `TCP $h 25')dnl
   define(`confAUTH_MECHANISMS', `LOGIN PLAIN')dnl
   FEATURE(`authinfo', `hash -o /etc/mail/authinfo.db')dnl
   MASQUERADE_AS(`{{example.com}}')dnl
   FEATURE(masquerade_envelope)dnl
   FEATURE(masquerade_entire_domain)dnl
   ```

   Di teks sebelumnya, lakukan hal berikut:
   + Ganti {{email-smtp.us-west-2.amazonaws.com}} dengan endpoint Amazon SES SMTP yang ingin Anda gunakan.
   + Ganti {{example.com}} dengan domain yang ingin Anda gunakan untuk mengirim email.

   Setelah selesai, simpan file.
**catatan**  
Amazon EC2 membatasi komunikasi melalui port 25 secara default. Jika Anda menggunakan Sendmail di instans Amazon EC2, Anda harus menyelesaikan [Permintaan untuk Menghapus Batas Pengiriman Email](https://aws-portal.amazon.com/gp/aws/html-forms-controller/contactus/ec2-email-limit-rdns-request).

1. Di baris perintah, ketik perintah berikut untuk membuat *sendmail.cf* yang dapat ditulis:

   ```
   sudo chmod 666 /etc/mail/sendmail.cf
   ```

1. Di baris perintah, ketik perintah berikut untuk menghasilkan kembali *sendmail.cf*:

   ```
   sudo sh -c 'm4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf'
   ```
**catatan**  
Jika Anda mengalami kesalahan seperti "Perintah tidak ditemukan" dan "Tidak ada file atau direktori tersebut," pastikan bahwa paket `m4` dan `sendmail-cf` terinstal di sistem Anda.

1. Di baris perintah, ketik perintah berikut untuk mengatur ulang izin *sendmail.cf* menjadi hanya baca:

   ```
   sudo chmod 644 /etc/mail/sendmail.cf
   ```

1. Di baris perintah, ketik perintah berikut untuk memulai kembali Sendmail:

   ```
   sudo /etc/init.d/sendmail restart
   ```

   *Bergantung pada versi Linux atau Sendmail, jika hal di atas tidak berfungsi, coba yang berikut ini:*

   ```
   sudo su service sendmail restart
   ```

1. Selesaikan langkah-langkah berikut untuk mengirim email percobaan:

   1. Di baris perintah, masukkan perintah berikut.

      ```
      /usr/sbin/sendmail -vf {{sender@example.com}} {{recipient@example.com}}
      ```

      Ganti {{sender@example.com}} dengan alamat email Dari Anda. Ganti {{recipient@example.com}} dengan alamat To. Setelah selesai, tekan Enter.

   1. Masukkan konten pesan berikut. Tekan Enter di akhir setiap baris.

      ```
      From: {{sender@example.com}}
      To: {{recipient@example.com}}
      Subject: Amazon SES test email
      
      This is a test message sent from Amazon SES using Sendmail.
      ```

      Setelah selesai memasukkan konten email, tekan Ctrl\+D untuk mengirimkannya.

1. Periksa email di klien email penerima. Jika Anda tidak dapat menemukan email, periksa folder surat sampah. Jika Anda masih tidak dapat menemukan email tersebut, periksa log Sendmail di server surat Anda. Log sering terletak di*/var/log/mail.log* atau*/var/log/maillog*. 