Değişiklik Günlüğü
Yeni ne var?
Gemideki her iyileştirme.
· kamo-internal
"All lead / hesaplar / uygulamalar" bir kampanyada, herhangi bir boyutta
Kampanya editöründeki her boş kutu artık bunun yanında bir "All ..." kutusu var. Tartılmış, kutu bira katlanır Bu tür imzalanmış üyenin herkes için canlı panel, kaç adresle görebilirsiniz - Küçük bir organizasyon için sayılıyor, büyük bir kişi için (4.9 4.9 milyar ± 2) ve E-postaHizmeti olarak yerde iyileştirme daha iyi bir rakam ilan eder. Üyenin neden söylediği bir kutu. Editördeki hiçbir şey daha fazla tüm listeyi tutar: - Kurtarılan liste bir sunucu sayfalı ağdır (görerek, puanla filtre ile arama, işaret satırları almak için işaret satırları Dışarı), ve Kaydet sayfanın değişiklikleri bir ilerleme barı ile gönderiyor - liste değil. - "Purban as" bu sayfanın yeni adresleri, kurtarılan liste ve her bir kenetlenmiş bir aramadır. seyirci, bir seferde bir sayfa, tarayıcıya yüklenen ilk elli adreslerin bir menüsü yerine. - Alıcı özeti liste ekler, Kaydet'in ekleyeceği ve her seyircinin söylediği şey ve açıkça söylüyor Kimse iki kez e-postalmıyor ve opt-outs gönderirken çıkıyor. - Bir gönderme kampanyası her seyircinin ne kadar toplandığını gösteriyor. Sahnedeki outbox, çalışma alanının outbox Özeti ve editörün ses kutusu artık anket yok: Kampanya soketinin ilerleme çerçevelerini yeniden hazırlarlar.
· EmailService
Bir kampanya her liderlik, hesap veya uygulama bir üye görebilir
"All lead / hesaplar / uygulamalar" bir kural, bir liste değil. Kampanya ile depolanır (the it is stored with the Campaign (the the) Bulk-provider blob, kampanya ISSences – No DDL), onu kimin kurduğuna veya basıldığına dair çalışır. Gönder, ve gönderici tarafından toplanan sadece birkaç bin alıcının önünde toplanıyor Dışarıdaki ev alabilir, bu yüzden milyarlarca seyirci hiçbir yerde bir liste olarak mevcut değildir. - Reach: tam olarak üyenin karşılanmamış okuyabildiği şey - lider ekranların kuralı (kendi yollarına) Başkaları ile iletişim bilgileri ile iletişime geçin; imzalanmamışlar da ücretsiz bir yol veya ücretsiz-for-all Ürün), pazarlamayı kabul eden View Accounts ile hesaplar, bir boru hattı ile uygulamalar. - Okuma: kendi indeksleri aracılığıyla küçük organizasyonlar, büyükler tarafından hash-bucket Masa (yb hash code on the primary key, pinned with a ipucu) – bu tek aralığı bu aralığı hash-sharded masaları arayabilir. - Konting: rastgele hash kovalardan gelen büyük gruplar için kesin olarak, % 95 aralığı, rafine NATS (email-audience) üzerinde yaşamak ve Redis'e ulaşmak için önbellek. - Tamamlanmış satırlar sıradan alıcılardır, opt-out kontrol edilir, ON CONFLICT DO NOTHING (never an İki kez ele alın ve bu kadar önemsiz bir kaynağı işaret etmek sadece hangi aşamadan geri alır. Bir kampanya değil İzleyicisi hala toplandığında sona erdi; Her şeyin bıraktığını iptal edin. - Gönder listesi sayfalanır (/recipients/sayfa, adres indeksi üzerinde bir arama) ve dilimlerde değişti (/recipients/append, /recipients/remove); artık onu sil ve tekrarlayın ve serbest bırak Zamanlar bir sayfada bir sayfa tayin edilir. - Preview: /campaigns/audience/browse sayfalar boş bir görünüm ve zaman alıcı bir arama ile bir seyirci. PHI onants lider ızgaranın her lider için kayıtlı erişim yolunu alır.
· EmailService
Ürün her dilde tercih sayfası konuşur
Her giriş bağlantısının arkasındaki sayfa sadece İngilizce konuştu. Şimdi konuşuyor Tüm 22 dil ürün UI gemileri: İngilizce, Çince, Hindi, İspanyolca, Fransızca, Arapça, Bengali, Rus, Portekiz, Endonezya, Almanca, Japonca, Swahili, Türkçe, Tamil, Vietnam, Kore, İtalyan, Tayland, Polonya, Ukraynalı ve Romanya. - Sayfanın her cümlesi artık bir mesaj paketinde yaşadığını söylüyor, **************** İngilizce ile kaynak ve Kayıp bir şey için geri çekilme. Sayılar doğru çoğul formu alır Her dil için ve tarihler dilin kendi yolunu yazmaktadır (UTC). - Dil talep için seçilir: bir lang parametre kazanır, sonra Tarayıcının Kabul Edilmesi (değerli değerler onurlandırıldı, pt-BR geri döndü pt), sonra İngilizce. Okuyucu topları bir dil tarafından seçilir Her form ve yönlendirme. Sayfa <html lang>, Content-Language ve Vary ve her dili kendi adına listeler, altta düz olarak bağlantılar. - Arapça sağa sola doğru atılır: korkunç="rtl", mantıksal CSS, bir aynalı Değiştirin ve organizasyonun kendi kelimeleri (isim, konu, adres) Kendi yönünde. Bu kelimeler asla tercüme edilmez. - Geniş ekranlarda sayfa şimdi tam genişlik kullanır: kim için ve neden Bir tarafta, sütunlardaki seçenekler, notlar ve ayaklar Aşağıda. 720px altında, önceki gibi aynı tek sütundur. - Başka bir değişiklik yok: Her değer hala kaçtı (translated text Etrafında da, senaryo yok, aynı kilitli başlıkları, GET hala asla Her şeyi değiştirir ve isimlerin hala aynısı aldığı bir bağlantı aynı şeyi alır tarafsız sayfa, şimdi okuyucunun dilinde. Testler her paketin tam olarak İngilizce anahtarları olduğunu kontrol eder ve Yerliler ve dilinin her çoğu için bir şube ve kapak Dil müzakeresi, sağ sol çıktı, tarihler, kaçtı ve Dil bir kurtarma ve yönlendirmesi hayatta kalır.
· kamo-internal
Sayfalar bir kez yükleme yerine org change events üzerinde yenidenfetch
Her başarılı yazı forwardToApi'yi şimdi yayınlar rt.org.{orgId}.{domain} Temel NATS (bölge ilk arka uç yol segmentidir, güvenlik / atlamak). MediaService bunu /top /rt /org/{orgId}/{domain} ile ilişkilendirir veOrgChanges kullanır. Paylaşılan soket üzerinde aboneler, kömürler patlamalar ve bir daha sonra yangınlar Yeniden bağlantı. los, billing ve oauth- yapılandırılmış rotalar, hangi yoluyla gitmez forwardToApi, kendilerini yayınlar. Bir kez yüklenen sayfalar, alan değişiklikleri olduğunda sessizce sessizleşir: Hayır iskelet flaşı ve asla yanlış olmayan giriş. - Hesaplar: ata ve hesap görüşü (overview, tarih, liderlik, üyeler, Notlar, emirler) Notlar Ticaret: siparişler, anlaşmalar, rezervasyonlar, tedarik, talepler, hizmet işleri, Servis talepleri, işaretler, abonelikler, kişisel krediler ve yaşlanma raporu Krediler, kredi detayı ve teklifler - Bilgi tabanı ev ve makale - Kariyerler, yasal ve uyumluluk - Ayarlar, hesap ayarları, entegrasyonlar, belge kategorisi sayfası ve Pazar ve abonelik planı sayfaları Takvim kömürler mevcut değişim beslemesini sağlar. Başarılar Takip Ediyor Üyenin kilit noktası.
· EmailService
E-posta yoluyla gelen bir talep onurlandırılır, düşmez
Her toplu ve paylaşılan makale mesajı, unsubscribe@<sender's domain> List-Unsubscribe başlığında, ancak bu posta kutusu okumadı - onant için Domainimiz bile değildi - bu yüzden her opt-out bu şekilde kayboldu. - Posta şimdi Unsubscribe@hello.kamocrm.com **************** her org için, alıcının tokenle Konuda: **************** https://www.face link ve List-Unsubscribe-Post değişmedi. - POST /api/internal/unsubscribe / e-posta, bildirilen gibi, oraya ne geldiğini alır. posta sunucusunun sidecar tarafından. The token in the artı-address, the Konu (Re:, başkentlerde, URL-encoded veya RFC 2047 encoded) veya bir kodlanmış forwarded link, tam olarak tercih sayfasının yaptığı gibi çözülür ve Bu adresi opt-out leadger (kaynaklar) aracılığıyla ziyaret eder. "mailto", Mesaj-ID ile. Bir kampanya masası hala gönderilmeyi bekliyor Çekildi, tek tıkla bağlantı ile. Bunu iki kez yapmak hiçbir şey değiştirmez. - Birisinin hiçbir şey değiştirmediği bir token olmadan bir mesaj: kimse yok Herhangi bir kişinin yazabileceği bir adresten bir tahmin tarafından iptal edildi. Hiçbir şey geri gönderilmez. Giriş sonucu tutar, org, sender domain Ve Mesaj-ID, asla konu ya da vücut. - İçAuthFilter'in arkasında /api/internal, reddediyor 64 KiB'den fazla talep edin ve mesaj başına en fazla beş aday Jet'de deneyin.
· kamo-internal
Opt Out sekmesi ve öncü çip güncelleme canlı
Her ikisi de ************************ (EmailService and SecurityService her kararlı bir değişiklikten sonra yayınlanır; MediaService röleleri), bu nedenle bir alıcı alıntı, bir şekilde bir meslektaşın bir sonraki yük yerine bir kez gösterir. Org id dize erişimor, asla yuvarlak numara değildir. Editördeki yarı yapımı bir değişiklik, adresin altında hareket ettiğinde tutulur, bunu söyleyen bir notla. Ayrıca, sekmenin seçilmiş ve iki paragrafta olduğu genişliği kaplar.
· EmailService
Opt-out ekranları herhangi biri listeyi değiştirirken yaşar
The leadger şimdi OptOutChangePublisher'e her kararlı değişiklikten sonra - tercih sayfasında bir alıcı, Ayarlarda bir üye - ve rt.org.{orgId.-opt-outs on core NATS for MediaService to r. Çerçeve hiçbir adres taşımaz; ekran görüntüleyicinin ne görebileceğine yeniden okur.
· SecurityService
Bir lead's opt-out change freshes open screens canlı
The leadger here tell OptOutChangePublisher after the change commits, which publishedes rt.org.{orgId}. email-opt-outs on core NATS (bu hizmet JetStream stream sohbet ediyor.>) çerçevede adres yok.
· kamo-shared-library
Opt-out leadger, bir organizasyonun listesinin değiştiğinde söylüyor
Seçmeli bir dinleyici, değişim taahhütlerinden sonra, bu yüzden listeyi gösteren ekranlar bir kez yükleme yerine canlı yaşayabilir. Sadece organizasyon taşır: kim tercih edilir kendi sağın arkasında, bu yüzden ekran görüntüleyicinin ne görebileceğine geri döner. Mevcut inşaatçılar değişmemektedir.
· KlusterServices
Mail to unsubscribe@hello.kamocrm.com ulaşır EmailService
Her toplu ve paylaşılan makale mesajı, e-posta yoluyla bir duyuru sunuyor (List-Unsubscribe postato), ancak bu adrese postamaster'a gitti ve Hiçbir zaman hareket etmedi. Şimdi tam olarak bu adres ve Unsubscribe+anything@ aynı alanda, spools the small pipe that spools the Mesaj ve yeni bir duyuru-posta yancar, e-posta hizmetinin yayınlarına gönderiyor /api/internal/unsubscribe/mail. E-posta servisi, alıcının tokenunu bulur Konu (veya artı-address veya ileriye dönük bağlantı) ve iptaller Onlar tam olarak tek tıkla bağlantı yaptığı gibi; Geçerli bir token olmadan herhangi bir şey Kabul ve düştü. - Her başka adres daha önce rotalanır: bir regexp hattı eşleştirme Unsubscribe@hello.kamocrm.com postmaster catch-all üzerinde oturuyor ve Nakliye maps sadece sahte alan yeniden yazmaktadır. - Hiçbir şey asla çürütmüyor ya da cevap verir: boru sadece her zaman cevaplar “Yaşadı” veya “daha sonra”, ve 5000 mesajda spoolunu kaplar. - The sidecar postfix-bulk-delivery-events copy of the internal Gizli, isteğe bağlı olarak ve asla çıkmıyor, bu yüzden postfix'i takip edemiyor Başlayın veya Hizmetinden Çıkarın.
· AIService
Satıcı, organizasyonun e-posta opt-out listesini onurlandırır
Herhangi bir e-posta açılmadan önce şimdi organizasyonun e-postasını sorar Toplantının adresi hakkında opt-out leadger. Adres iletişimin biridir Anahtar noktaları: liderlik e-postası:<uid>, üyenin (veya kullanıcının) Üye için:<id> ve sadece bu liderlik veya üye aynı zamana ait olduğunda Organizasyon. Do-not-email listesine bir adres veya duraklama, reddedildiği gibi reddedilir. SUPPRESSED OPT OUT with a reason that starts EMAIL OPTED OUT ORG LIST. Bu İletişimin kendi opt-out ve her şeyden sonra doğrudan kontrol etti Olaysal, ve bu, ajanın asla dokunmadığı bir temasa bile uygulanır. If if if if if if if if if if if if if if if if if if if if if if Liste de e-postayı okuyamıyor (EMAIL OPT OUT CHECK FAILED): Ajan outreach unsolicited, bu yüzden cevaplanmamış bir çek asla gerçekleşmemelidir Gönder. Diğer kanallar değişmemektedir. Bir opt-out, e-posta için veya her kanal için rekorla kaydedildi, şimdi Ayrıca, organizasyonun do-not-email listesine (reason UNSUBSCRIBE, kaynak ai-agent-opt-out, context AI CONTACT with the contact key), Bu yüzden organizasyondaki her gönderici ve liderlik sayfası bunu görüyor. Ledger okur ve kendi başlarına bir işlemde koşuyor ve asla atmıyor. The The The The The The The The İLGİLİ kendini işlemseldir ve caller'in içinde bir istisna İşlem, reddedilmenin denetim sırasını veya temasın kendi başına geri dönecekti opt-out. Başarısız bir yazı Giriş ve temasın kendi opt-out hala duruyor. Lider, üç havuzun üzerinde bir bean olarak ilan edilir. Onun prototipi için Yeni opt-out masaları birincil DataKaynak'tan inşa edilmiştir, bu sadece biri bu Servis vardır. com.kamo.z.shared. email repository taramasına katılır; bean ve Tarama birlikte değişmeli.
· MediaService
Relay org olayları /top /rt /org/{orgId}/{domain}
Yazarlar, başarılı bir değişiklikten sonra temel NATS üzerinde rt.org.{orgId.{domain} yayınlar; her pod bunu bir kez yükleme yerine org'un konusu için açık ekranlar refetch. SUBSCRIBE seansa veyag'e karşı kontrol edilir ve ön ek için müşteri SEND reddedilir.
· kamo-marketing
Gizli, per-visitor sitesi bir capped promosyon için avlanır ve ziyaretçilerin onu içine götüren işaretler
Avcılık: bir tohumdan ve HUNT SECRET'den üretilen yedi kilit Önceki cevapla, her UTC hareket eden bir sayfada saklı Gece yarısı, zaman kapıları ve 72 saatlik minimum. Devletsiz jetonları imzaladı; Ödül, Güvenlik Hizmeti tarafından bir şablondan çıkarılan kişisel bir koddur promosyon, çözücüün tohumlarından elde edilen bu yüzden bir yeniden deneme asla ikinci bir tane alma slot. scripts/check-hunt.ts, sonuna 400 av oynar ve binayı başarısız eder Herhangi bir aşama, bir çözücünün gösterdiği şeyden çözülebilir. Bu arada, hiç duymamış biri için: üç sinyal. Bir kelime iniş sayfasındaki kopya aksakları; bir sonraki sayfayı (Pricing İlk olarak) ve orada bağlantılar, nav bağlantısı ışıltılı, bir hap sayı tutar Sayfalar boyunca ve üçüncüsü avlanmayı açar. Masaüstü çıkış niyeti bir kez per Oturum ve "her adımda özgür". Her adım analitik bir av-* olaydır. Her şey kapanmaz: Hiçbir şablon yok, sır ya da kod kalmadı, hiçbir şey ifade etmiyor Ayaklayıcı çizgi, sinyal ve /api/hunt yanıtlar CLOSED. /hunt devletler Şablon onları tam olarak tanımladığı gibi terimler.
· SecurityService
Bir şablon promosyonundan kişisel tek kullanımlık kodlar
Kamocrm.com sitesi her biri kendi kodlarını çözer ve sadece sadece sadece sadece İlk N çözücüler asla bir tane alır. Paylaşılan bir kod bunu yapamaz: İlk önce bunu yayınlamak için indirimi herkes için ele alır. - PromosyonCode ther: INACTIVE promosyonu şablonudur; onun maxRedemptions kaç kişisel kodlar yayınlanabilir. Slots alınır Bir koşullu UPDATE tarafından, bu yüzden iki kopya daha fazla tartışma yapamaz. Bir çağrıcı bir çağrıcı olabilir Kod adı ve tekrar yayınlanan bir kod için sormak, onu iade etmeden döndürür İkinci bir yuva almak. - ************ sette İç sırrı. - Halk promosyonları tek kullanımlık kodları azaltır, bu yüzden kişisel bir kod Ana kahramanında asla listelenemez veya ilan edilemez.
· EmailService
Her giriş bağlantısının arkasındaki gerçek bir tercih sayfası
Kayıt olmayan bağlantı, çıplak bir onay kartı açtı. Birisi kim Sadece daha az e-postanın bunu söylemenin bir yolu yoktu ve onlara neden hiçbir şey söylemedi. postalanıyorlardı, ne kalacaklardı, ya da onların seçimi Kayıtta tutuldu. Bağlantı şimdi bu adres ve gönderici için bir tercih sayfası açıyor. Her şeyden alıntı ilk gelir ve bir basındır. Ondan sonra, Okuyucu bir tür postayı değiştirebilir (bir taneden fazla olduğunda Arasında seçim yapmak ya da bir zaten dışarıda) ya da 30 için her şeyi duraklamak, 60 veya 90 gün. Bir kez iptal edildikten sonra bir düğme ile geri dönebilirler, Ya da neden ayrıldığını söyleyin. Sayfa, e-postanın neden geldiğini, neyin geldiğini söylüyor Hala alacaklar ve her değişiklik kaydediliyor. Her değişiklik, istekle birlikte opt-out leadger aracılığıyla geçer. Bu geldi, bu yüzden tarih seçimi okuyucunun kendi olduğunu gösteriyor. Sayfayı açmak bir görüş kaydeder ve hiçbir şey değiştirmez. Bir tıkla istek Posta müşterilerinden (RFC 8058) hala her şeyden gelen, her zaman 200 cevap verin ve hala gönderisinden bir kuyruk kampanyası çizin. Bir bağlantı Bu isimler hiçbir zaman aynı tarafsız sayfayı her rotada alamaz ve asla Liderliğe ulaşır. Sayfa hiçbir senaryo ile düz HTML formları. Göndericinin içinde çizilir Marka rengi, her iki ışıkta WCAG kontrastı ile karşılaştırıldığında ayarlanır ve karanlık temalar ve 320px genişten çalışır. Her yanıt her bir yanıt taşır katı içerik güvenlik politikası, atıftarer (eken URL'de) No-store, noindex ve bir çerçeve yasağı. Baskı / sayfayı baskı altında hayatlar: bir görüntü kaydı, saf bir dosyalayıcı Testler ve önizlemeler doğrudan olarak çağrır ve jetonları çözen bir hizmet ve Liderliğe konuşuyor. Kontrol sadece rotalar ve kafaları ayarlar.
· kamo-internal
E-posta opt-out çip ve panel liderlik sayfasında
Liderin e-posta adresinin yanı sıra, kişinin kişi olup olmadığını söyleyen bir çip var. e-posta olabilir: E-postalar izin verilir, Bir tarihe kadar Pa used, Bazı e-postalar veya e-posta adresi yok. Bu, açıklayan bir panel açar Şu anki durum düz kelimelerde (bu, ne zaman ve neden değişti), anahtarlar için Her türlü e-posta, "tüm e-postadan dışarı çık", 30 /90 günlük bir duraklama veya Birini sonlandırmak ve son tarih, bir toggle arkasındaki istek ayrıntılarıyla. Bir değişiklik, e-postanın tekrar kişiye ulaşmasına izin verirse, not olur Gerekli, neden diyor ve bunun için beklemeler kurtar.Değişmeyen bir üye, Neden ve her şeyin okunduğunu söyledi; tarih masalarından önce Panel o kadar sakin bir şekilde başarısız olduğunu söylüyor. E-posta hızlı eylem şimdi ilk kez, kişi tüm e-postadan ayrıldığında soruyor veya duraklayın, üyenin bir cevap için her neyse yazmasına izin verin. **************** için proxy rotasını ekleyin server'ın alanı ve kodu bu yüzden panel sağ tarafta bir hata koyabilir. giriş.
· SecurityService
Bakın ve liderlikteki e-posta optimizasyonunu değiştirir
Bir liderlik çalışan bir üye, o kişinin e-postalabileceğini görebilir ve Bunu değiştirmek, org-wide opt-out ayarları listesi olmadan. GET ******************** Adresin durumuyla ilgili cevaplar Organizasyonun opt-out leadger, on en son değişiklikler ve konular Bir adres durabilir. Kim onu takip edebilir (401/404/403) Lideri açmak için, ücretsiz-for-all dahil edilir). A caller kimin görüşü lead's contact details is Maskeed the address Maskeed the same way and no IP, tarayıcı veya tarih satırlarında oturum detayları. Aynı yolda da bunu değiştirir. Bu düzenlemede tam olarak izin verilir lead's contact details is allowed (the assignmente, or EDIT LEAD CONTACT INFO OTHERS artı İNCE UNASSIGNED LEADS for an unassigned lead) and never while the address Maskeli. Değişim MANUAL olarak "lead:<id>" üye ile kaydedilir, İsteknin adresleri ve tarayıcıları ve oturumun bir yanı. e-postaya izin vermek Yine bir nota ihtiyaç duyar, ki bu fasayıcı (400 a field "comment"); alana kadar Tarih tabloları 503 HISTORY UNAVAILABLE ile reddedilir. Her biri her Değişim ayrıca liderliğin kendi Tarih sekmesinde bir sıra bırakıyor. The leadger burada kendi şema probe ile ilan edilir, E-posta servisi de.
· EmailService
Bir org yöneticisi tüm opt-out listesini görebilir ve değiştirebilir
Ayarlar -> E-posta -> Opt Out now has its API under /api/email/opt-outs, behind MANAGE EMAIL OPT OUTS (Son 30 gün ile bir özet, liste Devlet, neden ve adres tarafından filtrelendi, tam tarih ve onunla bir adres Her yerde organizasyonda, org çapında faaliyette, bir CSV İhracat ve değişiklikler ve notlar opt-out leadger aracılığıyla yapılır. Her değişiklik her şeydir Üyeye karşı kaydedilen, müşteri proxy'yi ele aldı ve bir Onların oturumunun yanı sıra. Ids, ISO-8601 olarak teller ve zamanlar olarak gönderilir, çünkü Web uygulaması bekliyor. Tarih masalarına kadar liste, özet, adres ve ihracat hala var Tek başına do-not-email listesinden çalışma ve 503 ile bir değişiklik cevapları HISTORY UNAVAIL yarı yapılır yerine. şema probe şimdi birincil veritabanı üzerindeki sorgusını inşa ediyor. Bu olmaktı Bu hizmette sadece JdbcTemplate bean verdi, posta sunucusunun Natasha biri, Bu yüzden opt-out masalarını ve her üyenin değişimini asla göremeyebilirdi reddedildi.
· kamo-internal
Ayarlar -> E-posta -> Opt Out, organizasyonun do-not-email listesi
E-posta almamasını isteyen herkes, tek bir yerde. Bir masthead, kaç kişinin dışarıda olduğunu söylüyor E-posta ve neden spam olarak işaretlendi, bizi durdurmamızı istedi, kaç tane durduk Bazı tür veya duraklamalar ve liste otuz gün boyunca nasıl taşındı. Liste arama edilebilir ve Filtrelenebilir; bir adres onunla birlikte açılır: Tüm e-posta için bir sıra aldıkları şey, bir tür posta ve bir durak, bir durak olarak kurtarıldı. draft. Postayı tekrar bir kez daha kim sordu ve kim sordu ve Ne zaman, çünkü bu not onların onayının kaydıdır. Lider olarak, iletişim, kampanya gönderir, iş başvurusu, iş uyarıları ve AI Asistan opt-out that share the address Tarih her zaman bir zaman çizelgesi olarak değişir: ne taşındı (daha sonra), kim yaptı ve Ne aracılığıyla, not ve talep geldi (network adresi, İleri zinciri, tarayıcı, dil) Ayrıca, el ile bir adres ekleyin ve bir CSV ihracat. Yemin ederim MANAGE EMAIL OPT OUTS ( MANAGE EMAIL SETTINGS'in bir çocuğu), RolRightType'da aynalandı. HaklarHierarchy.ts; sekme, menü girişi ve ayarlar kartı sadece onunla görünür.
· kamo-internal
Square, bevelled düğmeler ve her kaydırmabar üzerinde 2px-cornered
Barın dört düğmesi (Başlangıç, adım geri adım, ileriye atlamak) Şu anda 20px meydanları sert köşelerle ve başparmak sadece 2px yarımı tutar. Her ikisi de bir tane-pire işaretini taşır - üst ve sol tarafta ışık, birlikte karanlık Alt ve doğru - translucent beyaz ve siyah, bu yüzden aynı bevel oturuyor Sayfanın üstüne, bir marka tint, terminalin karanlık paleti. Derinin tek “parçası” iki piksel radii, başRadius ve düğmeRadius, çünkü "bir çift piksel" mutlak. meydan anahtarı Deri yerine geometri: 72px striptiz üzerinde kısa bir bar (10x10 üzerinde tutar) ve Sahne derisinde, görünen başka bir şekilde değişmemiş.
· EmailService
Her baskı kontrolü ve sıçrama, opt-out leadger aracılığıyla geçer
SuppressionHizmeti şimdi EmailOptLedger'i soruyor, bu yüzden bir çek do-posta listesi, duraklar Ve aynı konularda ve aynı tarihteki bir geri dönüş arazileri bir iptal olarak. Callers adı The Callers name the Göndermek üzere oldukları türden bir posta: Kampanyalar (malize, geri yükleme, geç kapı) sormak MARKETING CAMPAIGNS, makale SHARED ARTICLES hakkında paylaşıyor. Bounces, sunucunun cevabını taşır ve Kampanya tarih sırasına. OptOutSchemaProbe, KamoInitializerService'ın iki yeni yeni yarattığına dair öncülüğü anlatıyor. Henüz masalar; sahip olana kadar, eksik bir masada başarısız olmak yerine listeyi onurlandırın.
· kamo-shared-library
Bir opt-out leadger, konular, duraklar ve her değişimin tarihi
Do-not-email listesi yazılabilir ancak okuma, değiştir veya açıklanamaz. Bu da ekliyor Her hizmet için okunur ve yazılır bir yer: email optout toplar bir tür postayı durduran veya hepsini durduran bir adres. email optout events insert-sadece tarih: kim (recipient, üye, sistem), nereden (client IP, tüm X-Forwarded-For chain, user agent, dil, host, referer, seans neden (reason, kaynak, not, geri bildirim), Ne (campaign, liderlik) ve daha önce ve sonra devlet E-posta eressions anlamını tutar, bu yüzden her gönderici hala bunu onurlandırır. E-postaOptOutLedger, üç kişiden “bu gönderilecek” ve bir tarih sırasını yazıyor Devletin bir parçası aslında taşındı. Bir üye tekrar posta göndermesi gerektiğini söylemeli; bunun için Not, onay kaydıdır. Yeni masalar var olana kadar, başger listeye geri döndü Yalnız ve başarısız gönderme yerine kaydedemeyeceği değişiklikleri reddeder. Plain sınıfı, @Service değil: her hizmet taramaları com.kamo ve bir e-posta olmadan repositories onu inşa etmeye başlamazdı. Her hizmet bunu @Bean ile ilan eder. Ayrıca MANAGE EMAIL OPT OUTS (320), Ayarlar için doğru veya doğru E-posta -> Opt Out, bir çocuk MANAGE EMAIL SETTINGS.
· kamo-internal
Outbound e-posta ev sahipliği, pencereleri gönderin, per-host hot-up ve staged outbox
- Ayarlar → Platform → Kurulum Outbound E-Mail Hosts sekmesini kazanır, platformun arkasında Doğru MANAGE OUTBOUND EMAIL HOSTS: her organizasyonla paylaşılan evler ve bunlar devam etti Platform organizasyonu için, her bağlantı ayarı, kullanılabilirlik, bağlantı kontrolleri ile, Test gönderir ve her ev sahibinin sıcak-up. - Ayarlar → E-posta → Bulk Email Sender, GET trvider/overview üzerinde yeniden inşa edilir: rotasyonu Organizasyonun kendi ev sahipliği ve platformun (kuruluş için anlaşılabilir), bir round-robin Görüntüleme, gönderici, bir pencere editörü (haftalar, birkaç saat aralıkları, bir gecede aralıkları, kendi kendi kendi kendi aralığı, Zaman bölgesi veya organizasyonunu), ve ev sahibi için düz dilli bir sıcak rapor. Sıcak-up olabilir Artık kapatılamaz. - / pazarlama / e-posta / posta kutusu her sahne e-posta listelerini listeler - sadece bir ev sahibi alabilir - ve ve Tek e-postalar, bir seçim veya kalan her şey geri alındı. İş alanı, çalışma alanı, Bayrak ve kampanya editörü buna bağlantı ve yeni per-host kapasitesini okuyun. - Canlı Preflight ile ortak ev sahibi editörü ( çözülmemiş adresler, tekrar ve özel-address Reddetmeler), outbound host and outbox API müşterileri ve alıcı statüsü CANCELLED.
· EmailService
Birkaç outbound org'a ev sahipliği yaptı, her biri kendi başına ısıtıldı, içinde bir pencere içinde
Bir organizasyonun kampanya postası şimdi herhangi bir sayıda dış erişim evlerinden ayrılır, bir mesaj at a Bir toplu sağlayıcı yerine rotasyonda zaman. - Hosts: Bir organizasyonun kendi (toplayıcı blob) ve platformun kendi (geçmişHosts) ( platformun organizasyonunun blob’unda yer alanOutboundHosts), SHARED her organizasyonla veya PLATFORM ONLY. Her SMTP ayarı açık: güvenlik, SASL mekanizması, TLS doğrulama ve protokolleri, HELO adı, zarf gönderici, zamanouts, saat/daily sınırları, DSN, 8BITMIME, Seiko. HostSessionF oturumu onlardan inşa eder; E-SmtpService.sendVia bunu gönderir. - Aynı sunucu asla iki kez eklenmez (same adı veya herhangi bir paylaşılan adres, liman veya liman ne olursa olsun. Giriş), ve bir organizasyonun ev sahibi kamu sunucusu olmalıdır: özel ve in-cluster isimleri ve adresler her bağlantıdan önce tekrar tasarruf etmeyi reddedilir. - Isınma her zaman ev sahibi ve her zaman. Isınma Hizmeti IsınmaHandle'de çalışır; bir platform ev sahibi bir tane var Bunu kullanarak her organizasyon tarafından paylaşılan sıcak-up. Yeni iş günün yerel başlangıcında başlar. - WarmupReleaser tek göndericidir: her organizasyonun ev sahipliğindeki yuvarlak-robin, ev sahibi bir ev sahibi atlamak, Onun yuvasını, kapında, frenlendi, kendi sınırlarında veya başarısız olduktan sonra geri çekildi Bağ. Bir bağlantı, TLS veya işaret başarısızlığı artık alıcıya karşı bir girişim saymıyor. - Organizasyona pencere gönderin (günde, bir veya daha fazla aralık, kendi bölge veya org’s). WarmupPacer Her gün pencerenin açık zamanında sadece yayılır. - Staged outbox: /api/email/campaigns/outbox listeleri kuyruklanmış alıcılar ve iptaller veya geri yüklemeler. İptal edilen bir alıcı, bir notla SUPPRESSED ve CANCELLED olarak geri okumaktadır. - Endpoints: **************** platformda barındırılan platform **************** behind MANAGE OUTBOUND EMAIL HOSTS. One-host yazıyor Cevap 410. - OutboundHostBack, k3m1 rölesini bir PLATFORM ONLY ev sahibi olarak doldurur ve bir oyun blobs taşır. Hiçbir şema değişmez.
· KlusterServices
Postfix-bulk, E-posta servisinden herhangi bir gönderici kabul eder [skip ci]
Röle şimdi her organizasyonun kampanya postasının devam edebileceği bir platformdur Bu organizasyondan herhangi biri olarak gönderir. Sadece null sender hala reddedilir, 4xx ile. erişilebilirlik değişmemektedir: Ağlarım ve NetworkPolicy onu sınırlamak EmailService pods. Uygulamalı doğrudan (kubectl uygulama -f ****************************************************************
· kamo-shared-library
MANAGE OUTBOUND EMAIL HOSTS, platform konsolunun e-posta ev sahipliği
Outbound e-posta barındırma kampanyası postası için doğru bir platform: paylaşılan evler Her organizasyonla ve platform organizasyonu için tutulanlar, kimlikleri, kullanılabilirlik ve sıcak-uplar. EmailService's PlatformOutboundHostsController tarafından güçlendirildi PlatformRightsResolver. Tamamlanmış, bu yüzden mevcut bir doğru geri sayılmıyor.
· kamo-internal
Delete, filtre ve NoReply Outbound satırları kapat
Denetim sayfası bir alt sistem sütunu ve filtre kazanır, çekbox seçimi "select all" ve "select all pair" ile ve bir satır için silinir, Seçilen satırlar, her şey filtreleri veya her şeyi eşleştirir, her şey Masanın sıralarının kaldırıldığı bir onay arkasında. "Recording & hold" her altsystem'nin kaydı veya kapalı Ve ne kadar uzun çizgilerin saklandığını ayarlar. Her bir silme isteği olur ve ızgaranın seçim modeli nasıl yapılır Oku, kendi testleriyle ****************'de yaşamak.
· EmailService
NoReply leadger subsystem, pruned tarafından filtrelenebilir ve ne kaydedeceğini söyleyebilir
Her satır şimdi onu gönderen ve bir şablon göndermek için alt sistem olarak adlandırılır, Şablon anahtarı. E-postaTemplateService ve kampanya gönderileyici bir açık NoReplyOutbound Source scope around their SMTP send; Başka bir şey UNATTRIBUTED. NoReplySubsystem, kanonik şablon anahtarlarını haritalar subsystems ve bir test, kanonik bir şablon haritalarının hiçbirine başarısız olmaz. Deletler masanın kendi başına NoReplyOutboundLedger: bir satır, 1000 seçilmiş satırlara kadar, her sıra listenin filtrelerini ya da listesinin filtrelerini eşleştirir. Tüm kurucu (TRUNCATE), tüm doğruları teyit etmek için sorulmalıdır. Bulk, 500'ün chunks'ında çalışır. NoReplyOutboundSettings, alt sistemlerde bir kayıt geçişi ve Ayırma (30 gün varsayılan olarak, 0 sıraları silininceye kadar tutar), önbellek için pod başına 15 saniye. NoReplyOutboundRetentionSweep bir saat içinde pod. Tüm yeni uç noktaları sadece liste gibi tanrıdır.
· InitializerService
Benzersiz (campaign, adres) indeksi, taze bir ortam için
**************** oluşturmak için kullanılan e-posta servisi Başlangıçta; Bu kümede DDL bunun yerine buraya ait. Idempotent, auto-commed (YugabayDB online indeksler kuruyor), ve tekrarlar sayılıyor ve girişiliyor. Asla silinmedi - temas çizgisi bir kampanyanın kalıcı kaydı Adres. E-posta servisi şimdi sadece bu isim tarafından indeks için kontrol eder.
· kamo-internal
Kampanya editörü kenarda yazıyor, kendi sütunlarında jetonları birleştiriyor
Konu kampanya başlığı altında oturuyor ve statü çipinin yanındaki seyirci, bu yüzden form Adım tek başına e-posta gövdesidir, sayfanın ortasını doldururken, bir sütunda bir sütunda bir araya gelen jetonları doldurun Doğru. Hiçbir şey kendi başına kurtarmıyor, bu yüzden sayfa şimdi sunucuyu düzenlemektedir ve sorar ayrılmadan önce onları görmezden gelir; ŞablonInlineEditor, üyenin kendi vücut düzenlemelerini ayrı rapor eder Quill'un yük-zaman normalizasyonundan bu yüzden bu işaret sadece bir kampanya açarak yükseltilmemektedir.

Evreniniz sizi bekliyor.
Birkaç dakika içinde ücretsiz olarak başlatın. Hazır olduğunuzda ürünleri ekleyin - göç yok, yeni girişler yok.
Sonsuza kadar ücretsiz — kredi kartı gerekmiyor