Bagaimana cara mengirim email dari baris perintah atau skrip? Saya ingin dapat menjalankan skrip secara terprogram dengan mengirimkan penerima dan pesan.
email
development
command-line
script
michelemarcon
sumber
sumber
Jawaban:
mail -s subject [email protected]
ketik pesan Anda, tekanCtrl+D
untuk menyelesaikansumber
echo This will be the body of the email | mail -s "This is the Subject" [email protected]
Ada dua program yang saya ketahui yang dengan mudah akan memungkinkan Anda untuk mengkonfigurasi Mac Anda untuk mengirim email dari baris perintah.
Saya telah menulis HOWTO untuk mereka berdua:
Dari keduanya, saya sarankan
msmtp
.Konfigurasi cukup rumit sehingga saya tidak yakin apakah saya harus meniru semua langkah di sini, tetapi saya akan menyebutkan bahwa jika Anda menggunakan Homebrew, Anda dapat menginstal msmtp menggunakan
brew install msmtp --with-macosx-keyring
Maka sisanya hanyalah masalah pengaturan file konfigurasi terkait
Yang pertama adalah
/usr/local/etc/msmtprc
Perhatikan bahwa
tls_trust_file
baris harus mengarah ke mana pun Anda mengunduh dan menginstal sertifikat dari https://www.thawte.com/roots/index.html .Saya memasukkan milik saya
~/Dropbox/Thawte Roots
sehingga saya dapat memilikinya di semua Mac saya.Maka Anda perlu
~/.mailrc
file untuk mengatakan di mana biner msmtp berada. Jika Anda menggunakannyabrew
maka/usr/local/bin/msmtp
file akan terlihat seperti ini:Langkah terakhir tetapi penting adalah memastikan bahwa Keychain Anda memiliki informasi persis dalam format yang diharapkan oleh msmtp:
Saya pikir itu mencakup sebagian besar detail. Lihat http://www.tuaw.com/2010/05/04/msmtp-a-free-tool-to-send-email-from-terminal/ jika Anda ingin beberapa hal yang lebih spesifik.
sumber
[email protected]
ke alamat email Gmail atau Google Apps Anda.~/.msmtprc
Cara paling dasar untuk mengirim surat adalah melalui sesi telnet dengan server smtp dari penyedia / jaringan Anda. Setelah Anda menghubungi server dan setelah setiap perintah, server akan menjawab jika menerima perintah dengan sesuatu seperti "250 OK", atau jika tidak dengan pesan kesalahan.
Semua detail dapat ditemukan di RFC2821 - Protokol Transfer Surat Sederhana, Google untuk itu. Cara dasar ini bagus untuk menguji mengapa ada yang salah mengirim surat, tapi saya pikir itu cukup rumit untuk skrip itu bukti lengkap.
Pertama-tama dapatkan antarmuka baris perintah di komputer Anda, dengan memulai Terminal. Kemudian lanjutkan dengan perintah berikut, satu demi satu.
Buka sesi telnet ke port 25 dari server smtp penyedia / jaringan Anda
say hello plus internetname dari penyedia / jaringan Anda, seperti abc.com
a from = alamat pengirim diperlukan, <dan> adalah bagian dari perintah
berikan satu atau lebih tujuan, <dan> adalah bagian dari perintah
beri tahu server Anda ingin mulai mengirim data
sekarang server harus menjawab Anda dapat mulai mengirim surat Anda dan masuk ke mode data
sekarang selesaikan data dengan titik karena hanya char pada baris
server kembali ke mode-perintah sehingga Anda dapat keluar
sumber
Ini bekerja untuk saya, itu ditulis dengan Lion dalam pikiran tetapi bekerja untuk Mountain Lion. Btw ini menggunakan Gmail jadi jika Anda tidak ...
Anda tidak perlu mengunduh apa pun! (cukup siapkan akun gmail)
http://www.anujgakhar.com/2011/12/09/using-macosx-lion-command-line-mail-with-gmail-as-smtp/
Konfigurasikan Postfix untuk file Edit SMTP Gmail /etc/postfix/main.cf
dan tambahkan berikut ini di bawah relayhosts yang dikomentari: -
Hasilkan sasl_password jika belum ada
dan masukkan yang berikut ini: -
Jalankan perintah berikut
Dan Anda selesai ....
Sekarang, Anda harus dapat mengirim email dari dalam baris perintah misalnya untuk mengirim isi direktori sebagai pohon ke alamat email
sumber
mtcmail adalah pilihan lain: http://www.macupdate.com/app/mac/33505/mtcmail-cli .
[Abaikan teks tambahan ini. Ditambahkan karena: badan harus setidaknya 30 karakter; Anda memasukkan 27.]
sumber
Anda mungkin ingin memeriksa postfixconf yang memungkinkan dan mengkonfigurasi OS X untuk mengirim email dari baris perintah (menggunakan input Anda).
Ini didasarkan pada konfigurasi postfix yang didokumentasikan dengan baik di web di sini , di sini dan di sini .
sumber
Karena berbasis Unix, Anda dapat menggunakan perintah sendmail .
sumber