Bash - Menghantar e -mel melalui Amazon ses

Bash - Menghantar e -mel melalui Amazon ses

Amazon Ses (perkhidmatan e -mel mudah) adalah penyedia perkhidmatan SMTP yang popular yang serupa dengan SendGrid, MailChimp, dll. Untuk menggunakan SES, anda perlu mendaftar untuk akaun Perkhidmatan Web Amazon. Yang merupakan penyedia perkhidmatan berasaskan awan terkemuka. Siarkan pendaftaran Anda perlu menambah kad kredit anda untuk pengebilan. SES lalai membolehkan menghantar e -mel 2000/hari dengan bebas. Selepas had lalai, anda akan dikenakan bayaran sebagai bayar-per-penggunaan.

Dalam catatan blog ini, anda akan belajar menghantar e -mel melalui Amazon SES atau penyedia SMTP lain dari shell atau skrip bash.

Pra-syarat

  • Dalam tutorial ini, kami menggunakan pelanggan SMTP baris arahan SendeMail untuk menghantar e -mel. Oleh itu, anda mesti memasang Sendmail pada sistem anda.
  • Anda mesti mengesahkan alamat e -mel atau nama domain di bawah identiti yang disahkan di amazon ses. Apabila domain disahkan, anda boleh menggunakan alamat e -mel semasa menghantar e -mel
  • Semua akaun baru di amazon SES berada dalam mod kotak pasir untuk tujuan keselamatan. Anda perlu mengemukakan permintaan untuk menyokong menukar akaun SES ke mod pengeluaran.

Skrip shell untuk menghantar e -mel melalui SMTP

Saya telah menulis skrip shell kecil yang menghantar e -mel melalui pelayan SMTP jauh. Ia menggunakan pelanggan SMTP SendeMail. Gunakan mana -mana penyedia SMTP yang popular (seperti Sendgrid, Amazon SES, dan MailChimp) dengan skrip shell ini. Anda juga boleh mengintegrasikan kod skrip shell ini ke dalam skrip shell anda yang ada untuk menghantar e -mel dengan betul.

#!/usr/bin/env bash ## smtp butiran konfigurasi smtp_host = "e-mel-smtp.US-East-1.Amazonaws.com "smtp_port =" 587 "smtp_user =" xxxxxxxxxxxxxxxxx "smtp_pass =" xxxxxxxxxxxxxxxxxxxxxxxxxxxxx "e [email protected] "e-mel_to =" contoh@[email protected] "subjek =" amaran: repo awam github dijumpai "## menghantar e -mel e -mel mailcontent.txt | SendeMail -L /TMP /E -mel.log \ -f $ email_from \ -u $ subjek \ -t $ email_to \ -s $ smtp_host: $ smtp_port \ -o tls = yes \ -xu $ smtp_user \ -xp $ Smtp_pass
1234567891011121314151617181920212223#!/usr/bin/env bash ## smtp butiran konfigurasi smtp_host = "e-mel-smtp.US-East-1.Amazonaws.com "smtp_port =" 587 "smtp_user =" xxxxxxxxxxxxxxxxx "smtp_pass =" xxxxxxxxxxxxxxxxxxxxxxxxxxxx "e -mel.txt | SendeMail -L /TMP /E -mel.log \ -f $ email_from \ -u $ subjek \ -t $ email_to \ -s $ smtp_host: $ smtp_port \ -o tls = yes \ -xu $ smtp_user \ -xp $ Smtp_pass

Dalam skrip di atas, MailContent.txt Fail mengandungi kandungan badan mel.

Kesimpulan

Skrip shell adalah bahagian penting dalam pentadbiran sistem. Ia membantu kami mengautomasikan tugas dengan cepat seperti penjadualan sandaran, mengarkibkan log dan mengumpul data, dll. Kadang -kadang kita juga dikehendaki menghantar e -mel dari skrip shell. Dalam tutorial ini, anda telah belajar menghantar e -mel melalui pelayan SES Amazon. Malah anda juga boleh menggunakan skrip ini dengan mana -mana penyedia SMTP lain.