Bagaimana cara mengatur perintah 'mail' Unix?

9

Saya sudah melihat-lihat di Google dan halaman manual untuk surat, tapi saya tidak tahu bagaimana cara mengaturnya. Yang ingin saya lakukan adalah mengatur alamat email saya sehingga saya dapat mengirim email melalui terminal. Bagaimana aku melakukan itu?

Eddy
sumber

Jawaban:

12

Secara tradisional, program surat Unix, termasuk mail, mengandalkan MTA (Mail Transfer Agent) untuk melakukan transmisi yang sebenarnya.

Anda dapat menggunakan MTA ukuran penuh (postfix, exim4, opensmtpd) dengan mengonfigurasinya dengan 'smarthost' (relayhost), atau MTA hanya-keluar ringan (msmtp, ssmtp, esmtp, nullmailer) yang selalu menggunakan satu.


Untuk penggunaan pribadi, msmtpakan lebih mudah diatur - hanya dapat mengirim email, tidak menerima, dan memungkinkan konfigurasi khusus pengguna.

Pasang msmtp, lalu tambahkan akun Gmail Anda ke ~/.msmtprc:

default
    tl aktif
    # jalur di bawah ini mungkin perlu disesuaikan
    tls_trust_file /etc/ssl/certs/ca-certificates.crt

akun gmail
    dari alamat Anda @ gmail.com
    host smtp.gmail.com
    port 587
    auth polos
    pengguna alamat Anda @ gmail.com

default akun: gmail

Sekarang katakan mailuntuk menggunakan msmtp, dengan mengedit ~/.mailrc:

set sendmail = "/ usr / bin / msmtp"

(Jika ini tidak berhasil, jalankan ln -s /usr/bin/msmtp /usr/sbin/sendmailsebagai root.)

Terakhir, jika Anda ingin mail/ msmtpmengingat kata sandi Gmail Anda, ia menuju ke ~/.netrc:

mesin smtp.gmail.com
    login youraddress @ gmail.com 
    kata sandi " kata sandi Anda di sini "
pengguna1686
sumber
3

Kecuali admin sistem Anda telah mengatur sistem email, Anda harus mengonfigurasi Agen Transfer Email. Itu sendmail secara tradisional, sistem modern menggunakan postfix atau exim4.

ott--
sumber
2

Pada banyak sistem Anda akan menemukan mailxperintah yang dapat digunakan untuk mengirim email. Ini mungkin tautan ke perintah surat, tetapi mengubah perilaku perintah. Seperti yang telah dicatat, ini mengasumsikan Anda memiliki MTA (Mail Transfer Agent) yang dikonfigurasi di server Anda. Itu dapat digunakan secara interaktif menggunakan perintah seperti:

mailx -s "This is a message" user@example.com
This is a message
.

Atau dengan pipa untuk mengirim output dari suatu perintah:

cat myfile.txt | mailx -s "This is the file" user@example.com

Menjalankannya seperti mailx -hseharusnya memberi Anda petunjuk penggunaan.

BillThor
sumber
1

Jika Anda tidak terikat pada mailperintah, nailtawarkan antarmuka yang serupa tetapi dapat mengirim email menggunakan SMTP.

Jens Erat
sumber