Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
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
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
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
, dancyrus-sasl-plain
. -
Verifikasi identitas untuk digunakan sebagai alamat Dari Anda. Untuk informasi lebih lanjut, lihat Membuat identitas alamat email.
Jika akun Anda berada di sandbox Amazon SES, Anda juga harus memverifikasi alamat tujuan pengiriman email. Untuk informasi selengkapnya, lihat Minta akses produksi (Pindah dari kotak pasir Amazon SES).
Jika Anda menggunakan Amazon SES untuk mengirim email dari EC2 instans Amazon, Anda juga harus menyelesaikan langkah-langkah berikut:
-
Anda mungkin perlu menetapkan Alamat IP Elastis ke EC2 instans Amazon Anda agar penyedia email menerima email Anda. Untuk informasi selengkapnya, lihat Alamat IP Amazon EC2 Elastic di Panduan EC2 Pengguna Amazon.
-
Amazon Elastic Compute Cloud (Amazon EC2) membatasi lalu lintas email melalui port 25 secara default. Untuk menghindari batas waktu saat mengirim email melalui titik akhir SMTP dari EC2 Amazon, Anda dapat meminta agar pembatasan ini dihapus. Untuk informasi selengkapnya, lihat Bagaimana cara menghapus pembatasan pada port 25 dari EC2 instans atau AWS Lambda fungsi Amazon saya
? di pusat AWS pengetahuan. Atau, Anda dapat mengubah prosedur di bagian ini untuk menggunakan port 587 bukan port 25.
Mengonfigurasi Sendmail
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. Referensi Umum AWS
Untuk mengonfigurasi Sendmail
-
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
Setelah selesai, simpan
authinfo
. -
-
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'
-
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. -
Pada baris perintah, ketik perintah berikut untuk meregenerasi/etc/mail/access.db:
sudo sh -c 'makemap hash /etc/mail/access.db < /etc/mail/access'
-
Di baris perintah, ketik perintah berikut untuk membuat backup file
sendmail.cf
dansendmail.mc
:sudo sh -c 'cp /etc/mail/sendmail.cf /etc/mail/sendmail_cf.backup && cp /etc/mail/sendmail.mc /etc/mail/sendmail_mc.backup'
-
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)dnlDi 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 EC2 instans Amazon, Anda harus menyelesaikan Permintaan untuk Menghapus Batasan Pengiriman Email
. -
-
Di baris perintah, ketik perintah berikut untuk membuat sendmail.cf yang dapat ditulis:
sudo chmod 666 /etc/mail/sendmail.cf
-
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
dansendmail-cf
terinstal di sistem Anda. -
Di baris perintah, ketik perintah berikut untuk mengatur ulang izin sendmail.cf menjadi hanya baca:
sudo chmod 644 /etc/mail/sendmail.cf
-
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
-
Selesaikan langkah-langkah berikut untuk mengirim email percobaan:
-
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. Gantirecipient@example.com
dengan alamat To. Setelah selesai, tekan Enter. -
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.
-
-
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.