GNU/Linux >> Belajar Linux >  >> Linux

Kirim dan terima Gmail dari baris perintah Linux

Saya pengguna Mutt. Saya suka melihat dan menulis email dalam kenyamanan terminal Linux saya. Dengan klien yang ringan dan minimal seperti Mutt, saya tahu bahwa email saya dapat tersedia terlepas dari spesifikasi sistem atau akses internet. Dan karena terminal Linux saya lebih sering terbuka, klien email saya pada dasarnya tidak memiliki jejak di real estat desktop saya. Itu tersembunyi di tab terminal atau panel multiplexer, jadi saya bisa mengabaikannya ketika saya tidak membutuhkannya tetapi mendapatkannya dengan cepat ketika saya membutuhkannya.

Masalah yang umum dirasakan dengan Mutt adalah bahwa kebanyakan dari kita menggunakan akun email yang dihosting akhir-akhir ini dan berinteraksi dengan protokol email yang sebenarnya hanya secara dangkal. Mutt (dan ELM sebelumnya) dibuat kembali di masa yang lebih sederhana, ketika memeriksa email adalah panggilan ke uucp dan sekilas ke /var/mail . Namun, ini disesuaikan dengan baik untuk mengembangkan teknologi dan bekerja dengan baik dengan semua jenis protokol modern seperti POP, IMAP, dan bahkan LDAP, sehingga Anda dapat menggunakan Mutt bahkan jika Anda menggunakan Gmail sebagai host email Anda.

Karena relatif jarang menjalankan server email Anda sendiri saat ini, dan karena Gmail sangat umum, tutorial ini mengasumsikan Anda menggunakan Mutt dengan Gmail. Jika Anda khawatir tentang privasi email, pertimbangkan untuk membuka akun dengan ProtonMail atau Tutanota, yang keduanya menyediakan email terenkripsi sepenuhnya. Tutanota memiliki banyak komponen open source, dan ProtonMail menyediakan jembatan IMAP untuk pengguna berbayar sehingga Anda tidak perlu repot-repot mengakses email di luar browser. Namun, banyak perusahaan, sekolah, dan organisasi tidak menjalankan layanan email mereka sendiri dan hanya menggunakan Gmail, sehingga Anda dapat memiliki akun Gmail baik yang diinginkan maupun tidak.

Jika Anda menjalankan server email Anda sendiri, menyiapkan Mutt bahkan lebih mudah daripada yang saya tunjukkan di artikel ini, jadi langsung saja masuk.

Instal Mutt

Di Linux, Anda dapat menginstal Mutt dari repositori perangkat lunak distribusi Anda dan kemudian membuat .mutt direktori untuk menyimpan file konfigurasinya:

$ sudo dnf install mutt
$ mkdir ~/.mutt

Di macOS, gunakan MacPorts atau Homebrew. Di Windows, gunakan Chocolatey.

Lebih banyak sumber daya Linux

  • Lembar contekan perintah Linux
  • Lembar contekan perintah Linux tingkat lanjut
  • Kursus online gratis:Ikhtisar Teknis RHEL
  • Lembar contekan jaringan Linux
  • Lembar contekan SELinux
  • Lembar contekan perintah umum Linux
  • Apa itu container Linux?
  • Artikel Linux terbaru kami

Mutt adalah agen pengguna email (MUA), artinya tugasnya adalah membaca, menulis, dan mengirim email ke spool email keluar. Ini adalah tugas dari beberapa aplikasi atau layanan lain untuk benar-benar mentransfer pesan ke atau dari server email (walaupun ada banyak integrasi dengan Mutt sehingga sepertinya melakukan semua pekerjaan meskipun tidak.) Memahami pemisahan tugas ini dapat membantu konfigurasi menjadi lebih masuk akal.

Ini juga menjelaskan mengapa Anda harus memiliki aplikasi pembantu (selain Mutt) tergantung pada layanan apa yang Anda butuhkan untuk berkomunikasi. Untuk artikel ini, saya menggunakan IMAP sehingga salinan email lokal saya dan salinan email jarak jauh penyedia email saya tetap sinkron. Jika Anda memutuskan untuk menggunakan POP sebagai gantinya, konfigurasi itu bahkan lebih mudah untuk dikonfigurasi dan dapat dilakukan tanpa alat eksternal apa pun. Namun, integrasi IMAP memerlukan OfflineIMAP, aplikasi Python yang tersedia dari repositori GitHub-nya.

Akhirnya, Anda akan dapat menginstalnya dengan python3 -m pip perintah, tetapi pada saat penulisan ini, Anda harus menginstal OfflineIMAP secara manual karena masih porting dari Python 2 ke Python 3.

OfflineIMAP membutuhkan imaplib2 , yang juga dalam pengembangan yang berat, jadi saya lebih suka melakukan instalasi manual itu juga. Prosesnya sama:kloning repositori kode sumber dengan Git, ubah ke direktori, dan instal dengan pip .

Pertama, instal rfc6555 ketergantungan:

$ python3 -m pip install --user rfc6555 

Selanjutnya, instal imaplib2 dari sumber:

$ git clone [email protected]:jazzband/imaplib2.git
$ pushd imaplib2.git
$ python3 -m pip install --upgrade --user .
$ popd

Terakhir, instal OfflineIMAP dari sumber:

$ git clone [email protected]:OfflineIMAP/offlineimap3.git
$ pushd offlineimap3.git
$ python3 -m pip install --upgrade --user .
$ popd

Jika Anda menggunakan Cygwin di Windows, Anda juga harus menginstal Portalocker.

Konfigurasi OfflineIMAP

OfflineIMAP membaca file konfigurasi ~/.offlineimaprc secara default. Sebuah template untuk file ini, bernama offlineimap.conf , disertakan dalam repositori Git yang Anda kloning untuk menginstal OfflineIMAP. Pindahkan file contoh ke direktori home Anda:

$ mv offlineimap3.git/offlineimap.conf ~/.offlineimaprc 

Buka file di editor teks favorit Anda dan bacalah. Ini adalah file yang dikomentari dengan baik, dan ada baiknya untuk membiasakan diri dengan opsi yang tersedia.

Ini .offlineimaprc saya sebagai contoh, dengan komentar dihapus untuk singkatnya. Beberapa nilai mungkin sedikit berbeda untuk Anda, tetapi ini memberi Anda gambaran yang masuk akal tentang seperti apa produk akhir Anda seharusnya:

[umum]
ui =ttyui
akun =%nama-pengguna-gmail-anda%
pythonfile =~/.mutt/password_prompt.py
fsync =Salah

[Akun %your-gmail-username%]
localrepository =%your-gmail-username%-Local
remoterepository =%your-gmail-username%-Remote
status_backend =sqlite
postsynchook =tidak terlalu baru

[Repositori %nama-pengguna-gmail-Anda%-Lokal]
type =Maildir
folder lokal =~/.mail/%Anda -gmail-username%-gmail.com
nametrans =lambda folder:{'drafts': '[Gmail]/Drafts',
                            'sent':   '[Gmail]/Sent Mail',
                        'sampah':  '[Gmail] /Sampah>                            }.get(folder, folder)

[Repositori %your-gmail-username%-Remote]
maxconnections =1
type =Gmail
pengguna jarak jauh =% your-gmail-username%@gmail.com
remotep asseval ='%your-gmail-API-password%'
## remotepasseval =get_api_pass()
sslcacertfile =/etc/ssl/certs/ca-bundle.crt
realdelete =tidak
nametrans =lambda folder:{'[Gmail]/Drafts':   'drafts',
                          '[Gmail]/Sent Mail':'sent',
                 'ditandai',
'[gmail] / sampah':'Sampah',
'[gmail] / semua surat':'arsip',
} .get (folder, folder)
FolderFilter =Lambda Folder:Folder Tidak di ['[Gmail] / Sampah',
'[Gmail] / Penting',
'[Gmail] / spam',
] /pra>

Ada dua nilai yang dapat diganti dalam file ini:%your-gmail-username% dan %your-gmail-API-password% . Ganti yang pertama dengan nama pengguna Gmail Anda. Itu bagian dari alamat email Anda di sebelah kiri @gmail.com bagian. Anda harus memperoleh nilai kedua dari Google melalui proses penyiapan autentikasi dua faktor (2FA) (meskipun Anda tidak perlu menggunakan 2FA untuk memeriksa email).

Siapkan 2FA untuk Gmail

Google mengharapkan penggunanya untuk menggunakan situs web Gmail untuk email, jadi ketika Anda mencoba mengakses email Anda di luar antarmuka Gmail, pada dasarnya Anda melakukannya sebagai pengembang (bahkan jika Anda tidak menganggap diri Anda seorang pengembang). Dengan kata lain, Anda membuat apa yang dianggap Google sebagai "aplikasi". Untuk mendapatkan sandi aplikasi tingkat pengembang , Anda harus menyiapkan 2FA; melalui proses itu, Anda mendapatkan kata sandi aplikasi, yang dapat digunakan Mutt untuk masuk di luar antarmuka peramban biasa.

Untuk keamanan, Anda juga dapat menambahkan alamat email pemulihan. Untuk melakukannya, buka halaman Keamanan Akun Google dan gulir ke bawah ke Email pemulihan .

Untuk menyiapkan 2FA, kembali ke halaman Keamanan Akun, dan klik Verifikasi 2 Langkah untuk mengaktifkan dan mengkonfigurasinya. Ini memerlukan ponsel untuk penyiapan.

Setelah mengaktifkan 2FA, Anda mendapatkan opsi Keamanan Akun Google baru:Kata sandi aplikasi . Klik untuk membuat kata sandi aplikasi baru untuk Mutt. Google membuatkan sandi untuk Anda, jadi salin dan tempel ke .offlineimaprc Anda file di tempat %your-gmail-API-password% nilai.

Menempatkan kata sandi API Anda di .offlineimaprc . Anda file menyimpannya dalam teks biasa, yang bisa berbahaya. Untuk waktu yang lama, saya melakukan ini dan merasa baik-baik saja karena direktori home saya dienkripsi. Namun, demi keamanan yang lebih baik, saya sekarang mengenkripsi kata sandi API saya dengan GnuPG. Itu agak di luar cakupan artikel ini, tetapi saya telah menulis artikel yang menunjukkan cara menyiapkan integrasi kata sandi GPG.

Aktifkan IMAP di Gmail

Ada satu hal terakhir sebelum Anda dapat mengucapkan selamat tinggal pada antarmuka web Gmail selamanya:Anda harus mengaktifkan akses IMAP ke akun Gmail Anda.

Untuk melakukannya, buka antarmuka web Gmail, klik ikon "roda gigi" di sudut kanan atas, dan pilih Lihat semua setelan . Di Setelan Gmail , klik POP/IMAP tab, dan aktifkan tombol radio di sebelah Aktifkan IMAP . Simpan setelan Anda.

Sekarang Gmail dikonfigurasi untuk memberi Anda akses ke email Anda di luar browser web.

Konfigurasi Mutt

Sekarang setelah Anda siap untuk Mutt, Anda akan senang mengetahui bahwa mengonfigurasi Mutt adalah bagian yang mudah. Seperti halnya file .bashrc, .zshrc, dan .emacs, ada banyak contoh file .muttrc yang sangat bagus yang tersedia di internet. Untuk file konfigurasi saya, saya meminjam opsi dan ide dari Kyle Rankin, Paul Frields, dan banyak lainnya, jadi saya telah menyingkat file .muttrc saya menjadi hanya yang penting demi kesederhanaan:

set ssl_starttls=yes
set ssl_force_tls=yes

set from='[email protected]'
set realname='Tux Example'

set folder =imaps://imap.gmail.com/
set spoolfile =imaps://imap.gmail.com/INBOX
set ditunda="imaps://imap.gmail.com /[Gmail]/Draft"
set smtp_url="smtp://smtp.gmail.com:25"
set move =no
set imap_keepalive =900
set record="imaps://imap.gmail.com/[Gmail]/Sent Mail"

# Paths
set folder           =~/.mail
set alias_file       =~/.mutt /alias
set header_cache     ="~/.mutt/cache/headers"
set message_cachedir ="~/.mutt/cache/bodies"
set certificate_file =~/.mutt/certificates
set mailcap_path     =~/.mutt/mailcap
set tmpdir           =~/.mutt/temp
set signature        =~/.mutt/sig
set sig_on_top       =yes

# Opsi Dasar
set wait_key =no
set mbox_type =Maildir
unset move               # gmail melakukan itu

# Sidebar Patch
s et sidebar_visible =yes
set sidebar_width   =16
warna sidebar_new color221 color233

## Pengaturan Akun
# Kotak masuk default
set spoolfile ="+contoh. com/INBOX"

# Kotak surat untuk ditampilkan di bilah sisi.
kotak surat +INBOX \
          +dikirim \
          +draf

# Folder khusus lainnya
set ditunda ="+example.com/drafts"

# navigasi
indeks makro gi "=example.com/INBOX " "Buka kotak masuk"
indeks makro gt "=example.com/sent" "Lihat terkirim"

Tidak ada dalam file ini yang perlu diubah, tetapi pertimbangkan untuk mengganti nama palsu Tux Example dan alamat palsu example.com dengan sesuatu yang berlaku untuk Anda. Salin dan tempel teks ini ke dalam file dan simpan sebagai ~/.mutt/muttrc .

Luncurkan Mutt

Sebelum meluncurkan Mutt, jalankan offlineimap dari terminal untuk menyinkronkan komputer Anda dengan server jauh. Pemutaran pertama ini membutuhkan waktu lama , jadi biarkan berjalan semalaman.

Setelah akun Anda disinkronkan, Anda dapat meluncurkan Mutt:

$ mutt 

Mutt meminta izin kepada Anda untuk membuat direktori yang diperlukan untuk mengatur aktivitas email Anda dan kemudian menampilkan tampilan kotak masuk Anda.

Belajar Mutt

Belajar Mutt adalah campuran menjelajahi aplikasi dan menemukan peretasan favorit Anda untuk konfigurasi .muttrc Anda. Misalnya, file konfigurasi saya mengintegrasikan Emacs untuk menulis pesan, LDAP agar saya dapat mencari melalui kontak, GnuPG sehingga saya dapat mengenkripsi dan mendekripsi pesan, mengumpulkan tautan, tampilan HTML, dan banyak lagi. Anda dapat membuat Mutt menjadi apa pun yang Anda inginkan (selama Anda menginginkannya menjadi klien email), dan semakin banyak Anda bereksperimen, semakin banyak yang Anda temukan.


Linux
  1. Konfigurasikan ruang kerja Linux dari jarak jauh dari baris perintah

  2. Cara menginstal perangkat lunak dari baris perintah Linux

  3. 4 Cara Mengirim Lampiran Email dari Baris Perintah Linux

  1. Menggunakan Google Drive dari Baris Perintah Linux

  2. Migrasi server Linux dari baris perintah

  3. Dasar-dasar baris Perintah Linux – Menjalankan perintah dari baris perintah

  1. Menggunakan Stratis untuk mengelola penyimpanan Linux dari baris perintah

  2. 9 contoh perintah mail/mailx untuk mengirim email dari baris perintah di Linux

  3. Bagaimana cara Mengirim Email dari Baris Perintah?