Jump to content
KAMOUniverse

Changelog

Ada kabar baru.

Setiap perbaikan pada platform, sebagai kapal.

  1. · kamo-internal

    "Semua petunjuk / akun / aplikasi" pada kampanye, pada ukuran apapun

    Setiap kotak id di editor kampanye sekarang memiliki "Semua"... kotak di sampingnya. Menggelitik, kotak lipatan ke dalam panel hidup untuk semua orang seperti itu tanda-dalam anggota dapat melihat, dengan berapa banyak alamat yang datang ke - dihitung untuk sebuah organisasi kecil, ditentukan untuk satu besar ("2.4,9 miliar = 2%") dan memperbaiki tempat sebagai EmailService mengumumkan sosok yang lebih baik. Sebuah kotak yang tidak bisa digunakan oleh anggotanya. Tidak ada di editor memegang seluruh daftar lagi: - Daftar tersimpan adalah kisi server- paged (cari oleh alamat, filter dengan status, baris tanda untuk mengambil mati), dan Simpan mengirimkan perubahan halaman sebagai irisan dengan progress bar - bukan daftar. - "Pratilik sebagai" adalah pencarian di halaman baru ini alamat, daftar disimpan dan setiap ticked penonton, halaman pada suatu waktu, bukan menu dari lima puluh alamat pertama dimuat dalam browser. - Ringkasan penerima menambahkan daftar, apa Save akan menambahkan dan setiap penonton, dan mengatakan jelas bahwa Tidak ada email dua kali dan pilihan-out datang off seperti yang mengirimkan. - Sebuah kampanye pengiriman menunjukkan seberapa jauh setiap penonton telah berkumpul. Kotak-keluar yang dipentaskan, ringkasan outbox area kerja dan potongan outbox penyunting tidak ada lagi jajak pendapat: mereka kembali membaca pada kampanye socket 's kemajuan frame.

  2. · EmailService

    Kampanye dapat pergi ke setiap lead, account atau aplikasi anggota dapat melihat

    "Semua petunjuk / akun / aplikasi" adalah aturan, bukan daftar. Hal ini disimpan dengan kampanye ( bulk-provider blob, mechanignAudiences - tidak DDL), berjalan pada akses dari siapa pun yang mengaturnya atau menekan Kirim, dan dikumpulkan oleh operator menyapu hanya beberapa ribu penerima depan dari apa yang Host outbound dapat mengambil, sehingga penonton miliaran tidak pernah ada sebagai daftar di mana saja. - Reach: persis apa anggota bisa membaca membuka kedok - yang layar memimpin 'aturan (sendiri memimpin; orang lain' dengan Tilikan info kontak orang lain; tidak ditugaskan juga perlu Tilikan lead yang tidak diberikan atau free- for-all produk), akun dengan View Account yang menyetujui pemasaran, aplikasi dengan pipeline. - Membaca: organisasi kecil melalui indeks mereka sendiri oleh id; yang besar oleh menyapu keranjang hash- tabel (yb _ hash _ code pada kunci primer, disematkan dengan petunjuk) - satu-satunya jangkauan ini tabel hash- sharded dapat mencari. - Menghitung: tepat untuk organisasi kecil, digunakan untuk yang besar dari ember hash acak dengan Jarak 95%, langsung diperhalus melalui NAS (email- penonton) dan cache per jangkauan di Redis. - Baris dikumpulkan adalah penerima biasa, opt- out diperiksa, dimasukkan ON CONFLICT DO NOTHING (tidak pernah alamat dua kali) dan ditandai sehingga tidak berdetak sumber mengambil kembali hanya apa yang dipentaskan. Kampanye bukan selesai sementara penontonnya masih dikumpulkan; membatalkan segala sesuatu yang tersisa menghentikannya. - Daftar pengirim paged (/ penerima / halaman, pencarian pada indeks alamat) dan berubah dalam irisan (/ penerima / append, penerima / hapus); hapus dan duplikasi tidak lagi muat, dan lepaskan waktu diberi halaman pada suatu waktu. - Preview: / kampanye / penonton / browse halaman penonton dengan pencarian id dan waktu-kotak pencarian. - Para penyewa PHI mendapatkan akses rekaman masuk setiap petunjuk yang dibaca oleh penonton.

  3. · EmailService

    Halaman preferensi dalam setiap bahasa produk berbicara

    Halaman di balik setiap unsubscripe link hanya berbicara bahasa Inggris. Sekarang berbicara semua 22 bahasa kapal UI produk: Inggris, Cina, Hindi, Spanyol, Perancis, Arab, Bengali, Rusia, Portugis, Indonesia, Jerman, Jepang, Swahili, Turki, Tamil, Vietnam, Korea, Italia, Thailand, Polandia, Ukraina dan Rumania. - Setiap kalimat halaman mengatakan sendiri sekarang tinggal dalam bundel pesan, Dengan bahasa Inggris sebagai sumber dan fallback untuk apa pun yang hilang. Nomor mengambil bentuk plural kanan untuk setiap bahasa, dan tanggal ditulis dengan cara sendiri (UTC). - Bahasa yang dipilih per permintaan: parameter lang menang, maka browser 's Diterima-Language (nilai kualitas terhormat, pt- BR jatuh kembali ke Ppt), kemudian bahasa Inggris. Sebuah bahasa pembaca tetap memilih melalui Setiap bentuk dan mengarahkan. Halaman set < html lang >, Kontent- Bahasa dan Wary, and list every language, named in itself, at the bottom as plain link. - Arab diletakkan kanan ke kiri: dir = "rtl", CSS logis, cermin switch, and the organisation 's own words (name, subject, address) kept ke arah mereka sendiri. Kata-kata itu tidak pernah diterjemahkan. - Pada layar lebar halaman sekarang menggunakan lebar penuh: siapa untuk dan mengapa di satu sisi, pilihan di sampingnya dalam kolom, catatan dan footer di bawah. Di bawah 720px itu adalah kolom tunggal yang sama seperti sebelumnya. - Tidak ada perubahan lain: setiap nilai masih lolos (teks terjemahan sekitarnya juga), tidak ada script, sama locked-down header, GET masih belum pernah mengubah apa pun, dan link yang nama masih mendapat yang sama halaman netral, sekarang dalam bahasa pembaca. Tes memeriksa bahwa setiap bundel memiliki kunci persis Inggris dan placeholder dan cabang untuk setiap bentuk plural bahasanya, dan cover negosiasi bahasa, right-to-left output, tanggal, melarikan diri, dan bahasa bertahan menyimpan dan mengarahkan.

  4. · kamo-internal

    Halaman mengambil ulang pada org mengubah peristiwa daripada memuat sekali

    Setiap tulisan sukses melalui forwardToApi kini menerbitkan rt.org. {orgId}. {domain} pada inti NATS (domain adalah segmen jalur backend pertama, melewati keamanan /). MediaService relay ke / topic / rt / org / {orgId} / {domain}, and useorgans Changes subkode atas soket bersama, koalesces semburan dan kebakaran lagi setelah terhubung kembali. The los, tagihan dan oclat- rute config, yang tidak pergi melalui ForwardToApi, mempublikasikan sendiri. Halaman yang dimuat sekali sekarang mengambil kembali diam-diam ketika domain mereka berubah: tidak ada skeleton flash, dan tidak pernah lebih masukan yang tidak tersimpan. - Akun: menetapkan, dan tampilan akun (overview, sejarah, memimpin, anggota, catatan, perintah) - Catatan - Commerce: perintah, perjanjian, pemesanan, pengadaan, permintaan, layanan pekerjaan, permintaan layanan, tanda tangan, langganan, pinjaman pribadi dan laporan penuaan - Pinjaman, detail pinjaman dan menawarkan - Pengetahuan dasar rumah dan artikel - Karir, hukum dan kepatuhan - Pengaturan, pengaturan akun, integrasi, halaman kategori dokumen, dan halaman rencana pasar dan langganan Kalender menyatukan feed perubahan yang ada. Prestasi mengikuti anggota membuka topik.

  5. · EmailService

    Pengunlangganan lewat email merasa terhormat, tidak dijatuhkan

    Setiap pesan besar dan pecahan artikel yang ditawarkan untuk tidak berlangganan @ < sender 's domain > tidak ada yang membaca kotak surat - untuk penyewa itu bahkan tidak domain kami - jadi setiap pilihan-keluar dikirim dengan cara yang hilang. - Nama surat sekarang unsubscribe @ hello.kamocrom.com * * * * * * * * * * * * untuk setiap org, dengan token penerima dalam subjek: * * * * * * * * * * * * * * * https satu-klik link dan List-Unsubscribe-Post tidak berubah. - POST / api / internal / unsubscribe / mail mengambil apa yang tiba di sana, seperti yang dilaporkan oleh sespan server surat. Ia menemukan token di plus- alamat, subjek (dengan Re:, dalam kapitals, URL-terkode, atau RFC 2047 dikodekan) atau diteruskan link, menyelesaikan itu persis sebagai halaman preferensi tidak, dan unsubscriptes yang alamat untuk yang org melalui buku besar opt- out (sumber "mailto", dengan Message- ID). Sebuah baris kampanye masih menunggu untuk dikirim adalah menarik, seperti dengan link satu klik. Melakukannya dua kali mengubah apa-apa. - Sebuah pesan tanpa token yang nama seseorang perubahan apa-apa: tidak ada yang tidak terlangganan oleh menebak dari alamat Dari, yang siapa pun dapat menulis. Tidak ada yang pernah dikirim kembali. Log menyimpan hasil, org, domain pengirim dan Pesan-ID, tidak pernah subjek atau tubuh. - Ini duduk di belakang InternalOtorisasi Filter seperti sisa / api / internal, menolak permintaan lebih dari 64 KiB, dan mencoba paling banyak lima kandidat token per pesan.

  6. · kamo-internal

    Tab Opt Out dan pembaruan chip timah hidup

    Keduanya berlangganan * * * * * * * * * * * * * * * * * (EmailService and SecurityService mempublikasikan setelah setiap perubahan yang dilakukan; MediaService relay), jadi penerima unsubscribing, bouncing atau editing kolega menunjukkan sekaligus daripada pada load berikutnya. Id org adalah string aktris, tidak pernah nomor bulat. Sebuah perubahan setengah buatan di penyunting disimpan ketika alamat bergerak di bawahnya, dengan catatan mengatakan begitu. Juga drop topi lebar tab telah pada pilihan dan dua paragraf.

  7. · EmailService

    Opt-out layar menyegarkan hidup ketika ada yang mengubah daftar

    Buku besar sekarang memberitahu OptOutChangePublisher setelah setiap perubahan - penerima pada halaman preferensi, bouncing, anggota dalam Pengaturan - dan menerbitkan rt.org. [orgId} .email-opt-out pada inti NATS untuk MediaService untuk relay. Bingkai tidak membawa alamat; layar dibaca ulang apa yang mungkin dilihat penontonnya.

  8. · SecurityService

    A lead 's opt- out change refreshes open screenches live

    Buku besar di sini memberitahu OptOutChangePublisher setelah komit perubahan, yang menerbitkan rt.org. {orgId} .email -opt- out pada inti NATS (ini layanan JetStream stream stream adalah percakapan. >), disampaikan oleh MediaService. Tidak ada alamat dalam bingkai.

  9. · kamo-shared-library

    Buku besar itu mengatakan ketika daftar organisasi berubah

    Pendengar opsional, yang diberitahu setelah perubahan dilakukan, sehingga layar yang menunjukkan daftar dapat menyegarkan hidup daripada memuat sekali. Ini hanya membawa organisasi: yang memilih keluar adalah di belakang hak sendiri, sehingga layar membaca apa yang penonton mungkin melihat. Konstruktor yang ada tidak berubah.

  10. · KlusterServices

    Surat untuk berhenti berlangganan @ hello.kamocrm.com mencapai EmailService

    Setiap pesan besar dan pecahan artikel menawarkan unsubscripse melalui email (List- Berhenti langganan surat), tetapi surat ke alamat yang pergi ke postmaster dan tidak pernah dilakukan. Sekarang tangan postfix persis alamat itu, dan berhenti berlangganan + apapun @ pada domain yang sama, ke pipa kecil yang menakutkan pesan, dan unsubscribe-mail posting sidecar ke EmailService 's / api / internal / berhenti langganan / surat. EmailService menemukan tanda penerima di dan (malaikat-malaikat) yang menyampaikan wahyu, mereka persis seperti link satu klik tidak; apapun tanpa token yang valid adalah diterima dan dijatuhkan. - Setiap alamat lainnya diarahkan seperti sebelumnya: satu baris regexp cocok unsubscribe @ hello.kamocrm.com duduk di atas catch-all, dan transport _ map nama hanya nama samaran-domain yang ditulis ulang. - Tidak ada yang pernah memantul atau menjawab kepada: pipa hanya pernah menjawab "disampaikan" atau "coba nanti", dan tutup spool nya di 5000 pesan. - The sespan reuses the postfix-bulk- delivery- events copy of the internal rahasia, pilihan, dan tidak pernah keluar, sehingga tidak dapat menjaga postfix dari mulai atau mengambil pod keluar dari layanan nya.

  11. · AIService

    Agen penjualan menghormati daftar email organisasi ini

    Sebelum setiap email menyentuh gerbang luar sekarang meminta email organisasi opt- buku besar tentang alamat kontak. Alamat adalah salah satu kontak kunci poin pada: email lead untuk lead: < uid >, anggota (atau pengguna) untuk anggota: < id >, dan hanya ketika yang memimpin atau anggota milik sama organisasi. Alamat pada daftar surel -not-tidak, atau jeda, ditolak sebagai SUPPRESSED _ OPT _ OUT dengan alasan yang dimulai EMAIL _ OUT _ ORG _ LIST. Hal ini langsung diperiksa setelah kontak apos; s sendiri opt-out dan depan dari segala sesuatu Kebetulan, dan itu berlaku bahkan untuk kontak agen tidak pernah menyentuh. Jika daftar tidak dapat dibaca email juga ditolak (EMAIL _ OPT _ OUT _ CHECK _ FAILED): jangkauan agen tidak diminta, sehingga cek tidak terjawab tidak boleh menjadi Kirim. Saluran lain tidak berubah. Ops-out direkam melalui recordOptout untuk email, atau untuk setiap saluran, sekarang juga menempatkan alamat pada organisasi jangan-bukan-daftar email (alasan UNSUBSCRIBE, sumber ai- agent- out, konteks AI _ CONTACT dengan kunci kontak), jadi setiap pengirim dalam organisasi dan halaman utama melihatnya. Ledger membaca dan menulis berjalan dalam transaksi mereka sendiri dan tidak pernah melempar. The buku besar adalah transkasional itu sendiri, dan pengecualian di dalam penelepon transaksi akan menggulung kembali baris audit penolakan atau kontak sendiri Ops-out. Penulisan gagal dicatat dan opt- out kontak sendiri masih berdiri. Buku besar dinyatakan sebagai kacang selama tiga repositori. Probe Its untuk tabel opt- out baru dibangun dari Datasource primer, satu-satunya ini Layanan telah. com.kamo.z.shared.email bergabung dengan pemindaian repositori; kacang dan scan harus berubah bersama-sama.

  12. · MediaService

    Relay org ubah peristiwa ke / topic / rt / org / {orgId} / {domain}

    Penulis mempublikasikan rt.org. {orgId}. {domain} pada inti NATS setelah perubahan yang sukses; setiap pod menyampaikannya ke topik org sehingga membuka layar refetch bukan loading sekali. SUBSCRIBE dicentang terhadap sesi org, dan klien Mengirim ke awalan ditolak.

  13. · kamo-marketing

    Sebuah tersembunyi, situs pengunjung berburu untuk promosi capped, dan sinyal yang memimpin pengunjung ke dalamnya

    Perburuan: tujuh kunci per pengunjung, dihasilkan dari benih dan HUNT _ SECRET, enciphered dengan jawaban sebelumnya, tersembunyi di halaman yang bergerak setiap UTC tengah malam, dengan gerbang waktu dan minimal 72jam. Token tanpa status; hadiah adalah kode pribadi dikeluarkan oleh SecurityService dari template Promosi, berasal dari benih solver jadi coba lagi tidak pernah mengambil kedua slot. script / check-hunt.ts memainkan 400 berburu sampai akhir dan gagal membangun jika setiap tahap tidak dapat diselesaikan dari apa yang ditampilkan pemecah. Jalan masuk, untuk seseorang yang belum pernah mendengar tentang hal itu: tiga sinyal. Sebuah kata dalam kesalahan salinan halaman pendaratan; menemukannya nama halaman berikutnya (Harga pertama) dan link di sana, nav link untuk itu bersinar, pil terus menghitung melintasi halaman, dan ketiga membuka perburuan. Tujuan keluar desktop sekali per sesi, dan "mulai bebas" di setiap langkah. Setiap langkah adalah proses analisis berburu. Semuanya gagal menutup: tidak ada template, tidak ada rahasia atau kode kiri berarti tidak ada baris footer, tidak ada sinyal dan / api / berburu jawaban CLOSED. / berburu menyatakan istilah persis seperti template mendefinisikan mereka.

  14. · SecurityService

    Keluarkan kode tunggal pribadi dari promosi template

    Situs kamocrm.com berburu tangan masing-masing pemecah kode mereka sendiri, dan hanya pertama N pemecah pernah mendapatkan satu. Sebuah kode bersama tidak bisa melakukan itu: pertama pemecah untuk posting itu akan memberikan diskon untuk semua orang. - ProotionCodeIssuer: promosi INAKTIVE adalah template; yang maxRedestine adalah berapa banyak kode pribadi dapat dikeluarkan. Slots diambil oleh sebuah UPDATE kondisional sehingga dua replicas tidak dapat over- masalah. Seorang penelepon mungkin nama kode, dan meminta lagi untuk sebuah kode diterbitkan mengembalikannya tanpa mengambil slot kedua. - * * * * * * * * * * * * * * * * pada cluster rahasia internal. - Promosi publik pakan tetes tunggal - menggunakan kode, sehingga kode pribadi tidak pernah bisa terdaftar atau diiklankan dalam homepage pahlawan.

  15. · EmailService

    Sebuah halaman preferensi nyata di balik setiap link unsubscribe

    Pengunlangganan link membuka kartu konfirmasikan telanjang atau meninggalkan. Seseorang yang hanya ingin lebih sedikit email tidak punya cara untuk mengatakannya, dan tidak ada yang memberitahu mereka mengapa mereka sedang dikirim, apa yang akan terus tiba, atau bahwa pilihan mereka itu disimpan pada catatan. Taut kini membuka halaman preferensi bagi alamat dan pengirim itu. Keluar dari segala sesuatu datang pertama dan adalah satu pers. Setelah itu, pembaca dapat mematikan satu jenis surat (ketika ada lebih dari satu untuk memilih antara, atau salah satu sudah mati) atau jeda segala sesuatu untuk 30, 60 atau 90 hari. Setelah unsubscripted mereka dapat relangganan dengan satu tombol, atau memberitahu pengirim mengapa mereka pergi. Halaman mengatakan mengapa email datang, apa Mereka akan selalu mendengar seruan yang menggetarkan, "Milik siapakah kerajaan dan kekuasaan pada hari ini?" Mereka juga selalu mendengar jawabannya yang pasti, "Milik Allah, Penguasa Tunggal yang akan mengadili semua hamba-Nya, Sang Mahaperkasa atas mereka". Setiap perubahan melalui buku besar bersama dengan permintaan itu datang dari, sehingga sejarah menunjukkan pilihan adalah pembaca sendiri. Membuka halaman mencatat pandangan dan tidak mengubah apa-apa. Satu-klik permintaan dari klien surat (RFC 8058) masih tidak berlangganan dari segala sesuatu, selalu jawaban 200, dan masih menarik baris kampanye antrian dari pengiriman. Taut bahwa nama tidak ada yang mendapat halaman netral yang sama pada setiap rute dan tidak pernah mencapai buku besar. Halaman ini formulir HTML biasa tanpa skrip. Ini digambar di pengirim warna merek, disesuaikan sampai bertemu kontras WCAG dalam kedua cahaya dan tema gelap, dan bekerja dari 320px lebar. Setiap respon membawa ketat kebijakan keamanan konten, tidak ada rujukan (token dalam URL), no- store, noindex dan ban frame. Rendering lives in prepression / page: a view record, a pure renderer that tes dan pratilik panggilan langsung, dan layanan yang menyelesaikan token dan Berbicara dengan buku besar. Pengontrol hanya rute dan set header.

  16. · kamo-internal

    Surel opt- out chip dan panel pada halaman depan

    Selain alamat email memimpin sekarang ada chip mengatakan apakah orang mungkin diemail: Email diperbolehkan, Opped keluar dari semua email, ditahan sampai tanggal, Beberapa email mati, atau tidak ada alamat email. Ini membuka panel yang menjelaskan kondisi saat ini dalam kata-kata jelas (yang mengubahnya, kapan dan mengapa), dengan switch untuk setiap jenis email, sebuah "opt out dari semua email" switch, sebuah jeda 30 / 60 / 90 hari atau berakhir satu, dan sejarah terbaru dengan rincian permintaan balik toggle a. Setiap kali perubahan akan memungkinkan email mencapai orang lagi, catatan menjadi dibutuhkan, mengatakan mengapa, dan Simpan menunggu untuk itu. Seorang anggota yang mungkin tidak mengubahnya adalah mengatakan mengapa dan melihat segalanya baca-saja; sebelum tabel sejarah ada panel mengatakan begitu tenang bukannya gagal. Aksi cepat email sekarang meminta pertama ketika orang memilih keluar dari semua email atau pause itu, dan memungkinkan anggota menulis anyway untuk satu - to- satu jawaban. Tambahkan rute proksi untuk * * * * * * * * * * * * * * * * * * * * * field server dan kode melalui sehingga panel dapat menempatkan kesalahan di samping kanan masukan.

  17. · SecurityService

    Lihat dan ubah alamat email dari petunjuk

    Seorang anggota bekerja memimpin sekarang dapat melihat apakah orang yang mungkin email, dan ubah, tanpa daftar pengaturan org- wide opt- out. GET * * * * * * * * * * * * * * jawaban dengan status alamat pada Organisasi ini memilih buku besar, yang sepuluh perubahan terbaru dan topik alamat bisa berhenti. Yang mungkin membacanya mengikuti timah itu sendiri (401 / 404 / 403 sebagai untuk membuka memimpin, bebas - untuk semua lead termasuk). Seorang pemanggil yang pandangannya tentang Detil kontak timbal adalah bertopeng mendapatkan alamat bertopeng dengan cara yang sama dan tidak ada IP, browser atau sesi rincian baris sejarah. PUT di jalan yang sama mengubahnya. Hal ini diperbolehkan persis ketika mengedit ini Detil kontak timbal diijinkan (assignee, atau EDIT _ LEAD _ CONTACT _ INFO _ OTHERS plus VIEW _ UNASSIGNED _ LEADS untuk sebuah petunjuk tidak ditugaskan) dan tidak pernah ketika alamat bertopeng. Perubahan dicatat sebagai MANUAL dari "lead: < id >", dengan anggota, alamat permintaan dan browser, dan hash sesi. Memungkinkan email lagi membutuhkan catatan, yang buku besar memaksa (400 dengan bidang "komentar"); sampai tabel sejarah ada perubahan ditolak dengan 503 sejarah UNAVAILABLE. Masing-masing perubahan juga meninggalkan baris pada tab Sejarah memimpin sendiri. Buku besar dinyatakan di sini dengan probe skema sendiri, seperti EmailService tidak.

  18. · EmailService

    Suatu admin org dapat melihat dan mengubah seluruh daftar opt-out

    Pengaturan - > Surel - > Opt Keluar sekarang memiliki API di bawah / api / email / opt-outs, di belakang Kelola _ EMAIL _ OPT _ OUT (ALLAH bypass): ringkasan dengan 30 hari terakhir, daftar disaring oleh negara, alasan dan alamat, satu alamat dengan sejarah penuh dan di tempat lain itu muncul dalam organisasi, aktivitas org- lebar, CSV ekspor, dan perubahan dan catatan dibuat melalui buku besar opt- out. Setiap perubahan adalah direkam terhadap anggota, alamat klien proksi diteruskan, dan hash sesi mereka. Ids dikirim sebagai string dan kali sebagai ISO- 8601, sebagai aplikasi web mengharapkan. Sampai tabel sejarah ada daftar, ringkasan, alamat dan ekspor masih bekerja dari daftar surat elektronik saja, dan jawaban perubahan 503 dengan HISTORY _ UNAVAILABLE bukannya setengah dibuat. Probe skema sekarang membangun query atas database primer. Saat itu diberikan hanya JdbcTemplate kacang dalam layanan ini, server mail yang MySQL, sehingga tidak pernah bisa melihat tabel opt-out dan perubahan setiap anggota akan ditolak.

  19. · kamo-internal

    Pengaturan - > Surel - > Opt Keluar, organisasi tidak - daftar email

    Semua orang yang meminta untuk tidak diemail, di satu tempat. Seorang kepala surat mengatakan berapa banyak yang off semua email dan mengapa (unsubscripted, bouncing, ditandai sebagai spam, meminta kita untuk berhenti), berapa banyak berhenti hanya beberapa jenis atau jeda, dan bagaimana daftar bergerak lebih dari tiga puluh hari. Daftar ini dapat dicari dan dapat difilter; sebuah alamat terbuka di sampingnya dengan: apa yang mereka terima satu baris untuk semua email, satu per jenis surat, dan jeda, disimpan sebagai draft. Membiarkan surat mencapai seseorang lagi membutuhkan catatan yang bertanya dan ketika, karena catatan itu adalah catatan persetujuan mereka. dikenal sebagai memimpin, kontak, kampanye mengirimkan, aplikasi pekerjaan, peringatan pekerjaan dan AI asisten opt- keluar yang berbagi alamat sejarah setiap perubahan waktu: apa yang bergerak (sebelumnya), yang melakukannya dan melalui apa, catatan, dan permintaan itu berasal dari (alamat jaringan, meneruskan rantai, peramban, bahasa) Ditambah feed aktivitas org- luas, menambahkan alamat dengan tangan, dan ekspor CSV. Gated by Manage _ EMAIL _ OPT _ OUT (anak dari Manage _ EMAIL _ SETTINGS), tercermin dalam RoleRightType.ts dan Hak Hierarry.ts; tab, entri menu dan kartu pengaturan hanya muncul dengan itu.

  20. · kamo-internal

    Alun-alun, tombol-tombol halus dan sebuah thumb 2px-terpojok pada setiap scrollbar

    Empat tombol bar (melompat untuk memulai, melangkah mundur, melangkah maju, melompat ke akhir) sekarang 20px kuadrat dengan sudut keras, dan ibu jari hanya terus 2px radius. Keduanya membawa satu-piksel inset bevel - cahaya sepanjang bagian atas dan kiri, gelap sepanjang dasar dan kanan - dalam transparan putih dan hitam, sehingga bevel duduk yang sama di halaman itu, sebuah tanda, palet gelap terminal. Kulit tunggal 'pembulatan' fraksi menjadi dua pixel radii, thumbraus dan butonRadius, karena "beberapa piksel" adalah mutlak. Kunci persegi adalah geometri daripada kulit: ia memegang pada sebuah bar pendek (10x10 pada strip 72px) dan pada kulit arcade, yang terlihat sebaliknya tidak berubah.

  21. · EmailService

    Setiap penekanan cek dan bouncing melewati buku besar opt- out

    Layanan Tekanan kini meminta EmailOptOutLedger, jadi pemeriksaan melihat daftar do- not-email, jeda dan topik sama, dan tanah bouncing dalam sejarah yang sama sebagai unsubscription. Panggilan nama jenis surat mereka akan mengirim: kampanye (terwujud, mengembalikan, gerbang akhir) menanyakan tentang Marketing _ campalGNS, artikel saham tentang SHARED _ ARTICLES. Bounces membawa jawaban server dan kampanye ke baris sejarah. OptOutSchemaProbe memberitahu buku besar apakah layanan KamoInitializerService telah menciptakan dua baru tabel belum; sampai memiliki, mengirim kehormatan daftar saja bukannya gagal di meja yang hilang.

  22. · kamo-shared-library

    Satu opt- buku besar, topik, jeda dan sejarah setiap perubahan

    Daftar surel tidak dapat ditulis tapi tidak dibaca, berubah atau dijelaskan. Ini menambahkan satu tempat itu dibaca dan ditulis dari, untuk setiap layanan: e _ optout _ topics sebuah alamat yang menghentikan satu jenis surat, atau menghentikan semua itu email _ optout _ event dimasukan -only riwayat: siapa (penerima, anggota, sistem), dari mana (IP klien, seluruh X-ForwardedFor rantai, agen pengguna, bahasa, host, referer, sesi hash), mengapa (alasan, sumber, catatan, umpan balik), (Yang kaku kasar) wataknya kaku lagi kasar (selain dari itu, yang terkenal kejahatannya) dia adalah seseorang yang dianggap sebagai orang Quraisy, padahal dia bukan dari kalangan mereka, yaitu Walid bin Mughirah. Ayahnya menjulukinya sebagai orang Quraisy setelah ia berumur delapan belas tahun. email _ suppressions terus makna, sehingga setiap pengirim yang sudah menghormati itu masih tidak. EmailOptOutLedger jawaban "mungkin ini dikirim" dari ketiga dan menulis satu baris sejarah per bagian dari negara perubahan sebenarnya pindah. Seorang anggota memungkinkan surat lagi harus mengatakan mengapa; bahwa catatan adalah catatan persetujuan. Sampai tabel baru ada buku besar kembali ke daftar sendirian dan menolak perubahan itu tidak dapat mencatat, daripada gagal mengirimkan. Kelas sederhana, bukan @ Service: setiap pemindaian layanan com.kamo, dan satu tanpa email repositori akan gagal untuk mulai membangunnya. Setiap layanan mendeklarasikan dengan @ Bean. Juga manvaged _ EMAIL _ OPT _ OUT (320), org yang tepat untuk Pengaturan - > Surel - > Opt Out, seorang anak Mengelola _ EMAL _ SETTINGS.

  23. · kamo-internal

    Outbound e-mail host, send windows, per- host warm-up and the stated outbox

    - Pengaturan ----Platform Konfigurasi memperoleh tab E-Mail Outbound Hosts, di belakang platform manage _ OUTBOUND _ EMAIL _ HOSTS: host berbagi dengan setiap organisasi dan yang disimpan untuk organisasi platform, dengan setiap pengaturan koneksi, ketersediaan, pemeriksaan koneksi, tes mengirimkan dan setiap host perang-up. - Pengaturan Surel AvertBulk Pengirim Surel dibangun kembali di GET bulk- provider / overview: rotasi dari host organisasi sendiri dan platform (switceable per organisasi), sebuah bundaran-robin tampilan, pengirim, penyunting jendela kirim (hari kerja, beberapa waktu berkisar, semalam berkisar, sendiri zona waktu atau organisasi itu), dan laporan per host bahasa. The warm-up can tidak lagi dimatikan. - / marketing / email / outbox daftar setiap email ter-stage - hanya terdiri ketika host dapat mengambilnya - dan membatalkan satu email, pilihan, atau semua yang tersisa, dengan membatalkan. Ruang kerja, pacing banner dan kampanye editor link ke dalamnya dan membaca kapasitas per- host baru. - Penyunting host bersama dengan hidup sebelum penerbangan (alamat diselesaikan, duplikasi dan alamat private- Penolakan), host dan klien API outbox, dan status penerima CANCELLED.

  24. · EmailService

    Beberapa host keluar per org, mengirim bundaran-robin, masing-masing hangat sendiri, di dalam jendela pengiriman

    Sebuah surat kampanye organisasi sekarang meninggalkan melalui sejumlah host outbound, satu pesan di waktu dalam rotasi, bukan satu penyedia besar. - Host: sebuah organisasi sendiri (outboundHosts dalam blob penyedia massal) dan platform (PlatformOutboundHosts in the platform organization 's blob), SHARED dengan setiap organisasi atau PLATFORM _ HANYA. Setiap pengaturan SMTP eksplisit: keamanan, mekanisme SASL, verifikasi TLS dan protokol, nama HELO, amplop pengirim, waktu habis, batas per jam / harian, DSN, 8BITMIME, SOCKS. HostSesionFactory membangun sesi dari mereka; EmailSmttpService.sendVia mengirimkan melalui itu. - Server yang sama tidak pernah ditambahkan dua kali (nama sama atau alamat yang sama, apapun port atau login), dan host sebuah organisasi harus berupa server publik: nama pribadi dan dalam cluster dan alamat ditolak pada save dan lagi sebelum setiap koneksi. - Warm-up adalah setiap tuan rumah dan selalu pada. WarmupService bekerja pada Warmuphandle; sebuah platform host memiliki satu Perang-up bersama oleh setiap organisasi menggunakannya. Jalankan baru dimulai di awal hari. - WarmupReceaser adalah satu-satunya pengirim: round-robin di masing-masing host organisasi, melewatkan host menunggu untuk slot, di tutup, mengerem, pada batas sendiri atau mundur setelah gagal terhubung. Sebuah koneksi, TLS atau sign- dalam kegagalan tidak lagi menghitung percobaan terhadap penerima. - Kirim jendela per organisasi (hari, satu atau lebih berkisar, zona sendiri atau org). WarmupPaser menyebarkan topi setiap hari di waktu terbuka jendela saja. - Kotak-keluar yang ditempel: / api / email / kampanye daftar daftar outbox antrian penerima dan membatalkan atau menyimpan ulang mereka. Sebuah penerima yang dibatalkan adalah SUPPRESSED dengan sebuah catatan (tidak ada status DDL) dan membaca kembali sebagai CANCELLED. Endpoints: * * * * * * * * * * * * * * * host platform di * * * * * * * * * * * * * dibelakang Manage _ OUTBOUND _ EMAIL _ HOSTS. Satu-host menulis Jawaban 410. - OutboundHostBackfill benih relay k3m1 sebagai host PLATFORM _ Only dan migrasi satu gumpalan host. Tidak ada perubahan skema.

  25. · KlusterServices

    Postfix-massive menerima pengirim apapun dari EmailService [lewati ci]

    Relay sekarang sebuah platform outbound host yang setiap organisasi surat kampanye dapat pergi melalui, sebagai apapun Dari organisasi yang mengirimkan sebagai. Hanya pengirim null masih ditolak, dengan 4xx. Reakbilitas tidak berubah: jaringan saya dan NetworkPolicy membatasi untuk Kapsul EmailService. Terapan langsung (kubectl berlaku -f * * * * * * * * * * * * * * * * * *

  26. · kamo-shared-library

    Manifed _ OUTBOUND _ EMAIL _ HOSTS, konsol platform 's outbound e-mail host

    Sebuah platform yang tepat untuk surat-surat yang keluar host kampanye daun melalui: host berbagi dengan setiap organisasi dan yang disimpan untuk organisasi platform, kredensial mereka, ketersediaan dan pemanasan. Dipaksa oleh Layanan EmailService PlatformOutboundHostsController melalui PlatformRightsResolver. Ditambah, sehingga tidak ada hak yang ada direnumbered.

  27. · kamo-internal

    Hapus, saringan dan matikan baris Keluar NoReply

    Halaman audit memperoleh kolom subsistem dan filter, pilihan checkbox dengan "pilih semua" dan "pilih semua pencocokan", dan hapus untuk satu baris, baris yang dipilih, segala sesuatu yang cocok dengan filter, atau segala sesuatu, masing-masing di belakang konfirmasi bahwa nama meja baris dihapus dari. "Recording & retention" mengganti setiap rekaman subsistem hidup atau mati dan mengatur berapa lama baris disimpan. Permintaan setiap hapus menjadi, dan bagaimana model seleksi kisi adalah read, live in * * * * * * * * * * * * * * * * with their own test.

  28. · EmailService

    Buku besar NoReply dapat disaring oleh subsistem, pruned, dan menceritakan apa yang harus direkam

    Setiap baris sekarang menamakan subsistem yang mengirimkannya dan, untuk pengiriman template, kunci template. Email TemplateService dan pengirim kampanye membuka NoReplyOutboundSource scope sekitar SMTP mereka mengirim; apa pun adalah UNATRIBUTED. NoReplySubsystem memetakan kunci template kanonikal subsistem, dan sebuah tes gagal jika peta template kanonikal tidak ada. Hapus ke meja itu sendiri melalui NoReplyOutboundLedger: satu baris, hingga 1000 baris yang dipilih, setiap baris yang cocok dengan penyaring daftar, atau seluruh buku besar (Truncate), yang harus diminta dengan konfirmasi. Bulk menghapus dalam potongan 500. NoReplyOutboundSettings menyimpan suatu switch rekaman per subsistem dan retensi (30 hari secara baku, 0 terus baris sampai dihapus), cache untuk 15 detik per pod. Tidak ada RetentionSweep OutboundRetentionSweep menyapu per jam pada satu Pod. Semua titik akhir baru adalah Tuhan-saja, seperti daftar.

  29. · InitializerService

    Indeks unik (kampanye, alamat), untuk lingkungan yang segar

    EmailService digunakan untuk membuat * * * * * * * * * * * * * * * * * pada setiap startup; DDL pada cluster ini milik di sini sebagai gantinya. Idempt, otomatis berkomitmen (Yugabita teDB membangun indeks secara online), dan duplikat dihitung dan log, tidak pernah dihapus - baris yang dihubungi adalah catatan kampanye permanen dari sebuah alamat. EmailService kini hanya memeriksa indeks dengan nama ini.

  30. · kamo-internal

    Penyunting kampanye menulis ujung ke ujung, gabungan token dalam kolom mereka sendiri

    Subjek duduk di bawah judul kampanye dan penonton di samping status chip, sehingga compose langkah adalah badan email saja, mengisi tengah halaman, dengan token gabungan dalam sebuah kolom di kanan. Tak ada yang disimpan sendiri, jadi halamannya kini menandai pengeditan server belum melihat dan bertanya sebelum meninggalkan akan membuang mereka; TemplateInlinEditor melaporkan tubuh anggota sendiri berbeda dari load- waktu normalisasi Quill sehingga tanda yang tidak diangkat hanya dengan membuka kampanye.

Alam semestamu menunggu.

Mulai gratis dalam beberapa menit. Tambahkan produk kapanpun Anda siap — tidak ada migrasi, tidak ada login baru.

Gratis selamanya — tidak diperlukan kartu kredit