Posta
Her türlü gövde ve ekle gönderin, posta kutusunu okuyun ve arayın, yanıtlayın, konuşmaları düzenleyin ve tek kullanımlık gelen kutularını kullanın.
Gönderme
openemail send --to [email protected] --subject "Lunch?" --text "Thursday at noon works for me."Gövde, bunlardan mevcut olan ilkinden gelir:
--textve--html, iki bölümü de istiyorsanız ikisi birlikte.--body-file <path>. Bir.htmlya da.htmdosyası HTML olarak, diğer her şey metin olarak gönderilir;-ise stdin'i okur.- stdin'den gelen her şey. Bir HTML etiketiyle başlayan girdi HTML olarak gönderilir.
- Bir terminalde çalıştırdığınızda düzenleyiciniz (
$VISUAL, sonra$EDITOR).
--from olmadan CLI, gönderim yapabildiğiniz tek adresten gönderir ya da terminalde bir adres seçmenize izin verir. Gözetimsiz ve birden fazla adres varken durur ve --from ister. Terminalde bir özet görür ve bir şey gitmeden önce onaylarsınız; --yes bunu atlar.
| Bayrak | Ne yapar |
|---|---|
| --to, --cc, --bcc | Alıcılar, virgülle ayrılmış ya da tekrarlanmış. Ada Lovelace <[email protected]> da çalışır |
| --from, --reply-to | Gönderen adres ve Reply-To başlığı |
| -s, --subject | Konu satırı |
| -a, --attach <path> | Bir dosya ekleyin. Daha fazlası için tekrarlayın |
| --at <when> | Daha sonra gönderin: 2026-10-01T09:00:00Z gibi bir ISO zamanı ya da 10m, 2h, 1d veya PT1H gibi bir gecikme |
| --undo <seconds> | Hemen gönderimi 900 saniyeye kadar bekletin, böylece hâlâ iptal edilebilir |
| --translate <language> | E-postayı gitmeden önce bu dile çevirin |
| --template <id>, --props <json> | Gövde yerine kayıtlı bir şablonu props değerleriyle gönderin |
| --draft <id> | Kayıtlı bir taslağı tam yazıldığı gibi gönderin |
| --thread <id> | Gönderilen e-postayı bu konuşmaya yerleştirin |
| --tag <key=value> | E-postayı etiketleyin. Daha fazlası için tekrarlayın |
| --idempotency-key <key> | Komutu aynı anahtarla yeniden çalıştırmak asla iki kez göndermez |
cat report.md | openemail send --to [email protected] --subject "Weekly report" --attach chart.pngopenemail send --to [email protected] --subject "Invoice" --body-file invoice.html --translate de --at 2hopenemail send --to [email protected] --template welcome --props '{"name":"Ada"}' --tag campaign=onboardingE-posta kimliğini ve durumunu yazdırır. sent, partial ve failed, gönderimin istek içinde denendiği, queued ve scheduled ise bekletildiği anlamına gelir. failed bir gönderim 1 koduyla çıkar, --json ise e-postanın tamamını yazdırır.
Her gönderim sizinki ya da CLI'nin ürettiği bir eş güçlülük anahtarı taşır, bu yüzden kopan bir bağlantıdan sonra yeniden deneme iletiyi asla iki kez göndermez. Bir işlem hattı aynı adımı yeniden çalıştırabilecekse kendi anahtarınızı verin.
Ekler
--attach en fazla 20 dosya alır. Toplamda 5 MB ya da daha az oldukları sürece iletinin içinde giderler. Daha fazla olduklarında her biri önce Dosyalar'a yüklenir ve ileti ona başvurur, bu yüzden büyük bir dosya ek bir adım gerektirmez. İçerik türü dosya uzantısından gelir.
Gelen kutusu
openemail inboxopenemail inbox --unread --limit 50openemail inbox archive --sort oldestopenemail inbox --all --json | jq -r ".items[].id"Bir sayfa konuşmayı en yeniden başlayarak listeler: her birinin en son ne zaman hareket ettiği, son kimin yazdığı, konu, etiketler ve konuşma kimliği. Bir nokta okunmamış postayı işaretler. Başka bir klasör belirtmezseniz klasör gelen kutusudur: sent, archive, starred, snoozed, spam, trash, draft ya da USER_RECEIPTS gibi bir etiket kimliği.
-u,--unreadokunmamış postası olan konuşmaları,-l,--labelbir etiket taşıyan konuşmaları tutar;-q,--queryise listeyi bir aramayla daraltır.-n,--limitsayfa boyutunu 1 ile 100 arasında belirler (belirtmezseniz 25). Daha fazlası kaldığında sonraki imleç--cursoriçin stderr'e yazdırılır,--allise her sayfayı okur.--from-contactsen yeni iletisi kayıtlı bir kişiden gelen konuşmaları tutar,--sortise onlarınewest,oldest,senderya dasubjectile sıralar.--json, her konuşma eksiksiz olacak şekilde{ items, hasMore, nextCursor }yazdırır.
Arama
openemail search invoice from:adaopenemail search "quarterly report" has:pdf newer_than:30dopenemail search in:anywhere from:me to:ada --limit 50openemail search -- invoice -from:adaArama, uygulamadaki arama kutusunun sözdizimini kullanır: düz sözcükler, tırnak içindeki ifadeler ve from:, to:, subject:, has:pdf, is:unread, after:2026/01/31 ve newer_than:7d gibi işleçler. Sorgu in: ya da is: ile bir klasör belirtmedikçe gelen kutusunda ya da --folder ile verilen klasörde arar; in:anywhere ise her klasörde arar. inbox bayraklarını alır ve sonuçlarını aynı şekilde gösterir.
Tireyle başlayan bir sözcük sonuçlardan çıkarılır ve CLI onu bir bayrak olarak okur, bu yüzden böyle bir sözcük içeren sorgunun önüne -- koyun.
Bir konuşmayı okuma
openemail read CAHk7pQ2x9LmZ4openemail read CAHk7pQ2x9LmZ4 --message -1openemail read CAHk7pQ2x9LmZ4 --html --message 1 > first.htmlKonuşmadaki her iletiyi en eskiden başlayarak yazdırır: kimin kime gönderdiği, ne zaman, konu, boyutları ve kimlikleriyle ekler ve gövde. Düz metin bölümü olduğu gibi gösterilir, yalnızca HTML olan bir ileti ise listelerini, alıntılarını, başlıklarını ve bağlantılarını koruyan okunabilir metne dönüştürülür. Okumak konuşmayı okundu olarak işaretler, --no-mark-read vermediğiniz sürece.
-m,--message <n>tek bir iletiyi gösterir; 1'den sayar, negatif bir sayıyla en yeniden sayar.--htmlbunun yerine ham HTML'yi yazdırır.- Şifreli bir ileti burada çözülmez, onu web uygulamasında açın.
Yanıtlama
openemail reply CAHk7pQ2x9LmZ4 --text "Thanks, that works for me."openemail reply CAHk7pQ2x9LmZ4 --all --attach notes.pdfecho "Confirmed." | openemail reply CAHk7pQ2x9LmZ4 --yesAynı konuşmada, son iletiyi göndereni ya da onun Reply-To adresini yanıtlar. Son ileti sizinse, yanıt onun gönderildiği kişilere gider. --all o iletideki diğer herkesi, kendi adresleriniz hariç, bilgi olarak ekler. Konuya henüz yoksa Re: eklenir ve yanıt, gönderim yapabiliyorsanız konuşmanın teslim edildiği adresten gider.
send komutunun gövde, ek, zamanlama, çeviri, etiket ve eşgüçlülük bayraklarını, --from ve --subject ile birlikte alır; --to, --cc ve --bcc alıcıları geçersiz kılar.
Konuşmaları düzenleme
| Komut | Ne yapar |
|---|---|
| archive <thread-id...> | Gelen kutusundan çıkar, hâlâ aranabilir |
| unarchive <thread-id...> | Gelen kutusuna geri |
| trash <thread-id...> | Çöp kutusuna. Onay ister, çünkü hiçbir çağrı bir konuşmayı oradan geri çıkarmaz |
| star, unstar | Yıldızı ekleyin ya da kaldırın |
| mark read, mark unread | Konuşmaları okundu ya da okunmadı olarak işaretleyin |
| snooze <thread-id...> --until <when> | Konuşmaları bir zamana kadar ya da 3h veya 1w gibi bir süre boyunca gizleyin. O zamandan sonra yaklaşık bir saat içinde geri gelirler |
| unsnooze | Ertelenmiş konuşmaları şimdi geri getirin |
| label add, remove --label <id> | Konuşmalara etiket koyun ya da kaldırın. openemail labels list kimlikleri gösterir |
Her biri birden fazla konuşma kimliği alır ve her birini ayrı ayrı bildirir. İlk hata çıkış kodunu belirler, --json ise { results, succeeded, failed } yazdırır. Bir aramadan gelen kimlikler doğrudan zincirlenebilir:
openemail inbox --query "newer_than:30d from:alerts" --json | jq -r ".items[].id" | xargs openemail archiveTek kullanımlık gelen kutuları
openemail temp hesap ya da oturum gerektirmeyen kısa ömürlü adresler oluşturur; kayıt testleri ve tek kullanımlık kodlar için uygundur. Her kutu tokenı ~/.openemail/temp-mail.json içinde tutulur, böylece sonraki komutlar bir kutuyu kimliği ya da adresiyle, yalnızca bir tane varsa da kendiliğinden bulur.
ADDRESS=$(openemail temp new --ttl 15)openemail temp watch --first --json | jq -r .snippetopenemail temp listopenemail temp readopenemail temp read tinb_4f2a tmail_91c3openemail temp delete --yestemp newstdout'a yalnızca adresi yazdırır.--ttlbaşka bir şey söylemedikçe 60 dakika, en fazla 24 saat yaşar;--nameve--domainadresi seçer.temp watchgelenleri yazdırır, ardından siz durdurana ya da kutunun süresi dolana kadar her 3 saniyede bir kontrol eder.--firstilk iletide durur,--jsonise her ileti için bir JSON satırı yazdırır.temp readiletileri kısa bir önizlemeyle listeler ya da tek bir iletinin tamamını yazdırır.temp deletekutuyu ve postasını hemen siler. Adres, kiralama süresinin biteceği zamandan sonra 7 gün daha ayrılmış kalır.--inbox-token, bu CLI'nin oluşturmadığı bir gelen kutusunatemp read,watchvedeleteiçinde erişir.- Tek kullanımlık bir gelen kutusundaki postanın göndereni asla doğrulanmaz.