{"id":35104,"date":"2025-11-25T17:01:33","date_gmt":"2025-11-25T14:01:33","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber\/"},"modified":"2025-11-25T17:01:33","modified_gmt":"2025-11-25T14:01:33","slug":"campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber\/","title":{"rendered":"Campaign Monitor Smart Emails (Transactional) Entegrasyonu: Minimal Rehber"},"content":{"rendered":"<p><body><\/p>\n<p>\u0130\u015flemsel e-postalar, modern dijital i\u015f s\u00fcre\u00e7lerinin vazge\u00e7ilmez bir par\u00e7as\u0131d\u0131r. Peki, sipari\u015f onay\u0131, parola s\u0131f\u0131rlama veya hesap aktivasyonu gibi kritik bildirimlerinizin her zaman do\u011fru al\u0131c\u0131ya, do\u011fru zamanda ve g\u00fcvenli bir \u015fekilde ula\u015ft\u0131\u011f\u0131ndan nas\u0131l emin olursunuz? Bu rehber, Campaign Monitor&#8217;\u0131n g\u00fc\u00e7l\u00fc transactional e-posta \u00f6zelliklerini sisteminize nas\u0131l sorunsuz bir \u015fekilde entegre edece\u011finizi, minimal \u00e7abayla maksimum etki yarataca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131kl\u0131yor.<\/p>\n<hr>\n<h2>Neden \u0130\u015flemsel E-postalar \u0130\u015finizin Can Damar\u0131d\u0131r ve Neden \u00d6ncelik Verilmelidir?<\/h2>\n<p>Dijital d\u00fcnyada, m\u00fc\u015fterilerinizle olan her etkile\u015fim anl\u0131k ve sorunsuz olmal\u0131d\u0131r. Bir e-ticaret sitesinde tamamlanan bir sipari\u015fin ard\u0131ndan gelen &#8220;Sipari\u015finiz Onayland\u0131&#8221; e-postas\u0131, bir kullan\u0131c\u0131n\u0131n unuttu\u011fu \u015fifresini s\u0131f\u0131rlamak i\u00e7in talep etti\u011fi link veya yeni bir \u00fcyeli\u011fin aktivasyon linki&#8230; T\u00fcm bu ileti\u015fimler, pazarlama e-postalar\u0131ndan farkl\u0131 olarak, do\u011frudan bir eylem veya tetikleyici sonucunda g\u00f6nderilen ve genellikle zaman a\u00e7\u0131s\u0131ndan kritik olan bildirimlerdir. Bu t\u00fcr e-postalara &#8220;i\u015flemsel&#8221; veya &#8220;transactional&#8221; e-postalar denir.<\/p>\n<p>\u0130\u015flemsel e-postalar\u0131n \u00f6nemi, sadece teknik bir gereklilik olmaktan \u00e7ok \u00f6teye gider. M\u00fc\u015fteri deneyiminin do\u011frudan kalbini olu\u015ftururlar. Geciken veya hi\u00e7 ula\u015fmayan bir parola s\u0131f\u0131rlama e-postas\u0131, kullan\u0131c\u0131n\u0131n sitenize eri\u015fimini engeller ve do\u011frudan hayal k\u0131r\u0131kl\u0131\u011f\u0131na yol a\u00e7ar. Benzer \u015fekilde, bir sipari\u015f onay\u0131n\u0131n gecikmesi veya kaybolmas\u0131, m\u00fc\u015fterinin endi\u015felenmesine, destek hatt\u0131n\u0131z\u0131 me\u015fgul etmesine ve nihayetinde markan\u0131za olan g\u00fcvenini sarsmas\u0131na neden olabilir. Bu senaryolar, i\u015fletmeler i\u00e7in sadece operasyonel bir aksakl\u0131k de\u011fil, ayn\u0131 zamanda ciddi itibar kay\u0131plar\u0131na ve gelir d\u00fc\u015f\u00fc\u015flerine yol a\u00e7abilecek potansiyel krizlerdir.<\/p>\n<p>Pazarlama e-postalar\u0131 genellikle daha geni\u015f kitlelere ula\u015fmay\u0131 ve \u00fcr\u00fcn\/hizmet tan\u0131t\u0131m\u0131n\u0131 ama\u00e7larken, i\u015flemsel e-postalar birebir, ki\u015fiselle\u015ftirilmi\u015f ve genellikle zorunlu bir ileti\u015fimi temsil eder. Bu nedenle, onlar\u0131n teslim edilebilirli\u011fi, h\u0131z\u0131 ve g\u00fcvenilirli\u011fi son derece kritik \u00f6neme sahiptir. Campaign Monitor gibi profesyonel bir e-posta servis sa\u011flay\u0131c\u0131s\u0131n\u0131n i\u015flemsel e-posta hizmetleri, bu zorluklar\u0131n \u00fcstesinden gelmek i\u00e7in \u00f6zel olarak tasarlanm\u0131\u015ft\u0131r. Y\u00fcksek teslim edilebilirlik oranlar\u0131, h\u0131zl\u0131 g\u00f6nderim altyap\u0131s\u0131 ve detayl\u0131 raporlama \u00f6zellikleri sayesinde, kritik bildirimlerinizin her zaman hedefine ula\u015ft\u0131\u011f\u0131ndan emin olabilirsiniz. Bu, sadece m\u00fc\u015fteri memnuniyetini art\u0131rmakla kalmaz, ayn\u0131 zamanda destek maliyetlerinizi d\u00fc\u015f\u00fcr\u00fcr ve i\u015fletmenizin profesyonel imaj\u0131n\u0131 peki\u015ftirir. Dolay\u0131s\u0131yla, i\u015flemsel e-postalar\u0131n do\u011fru bir \u015fekilde entegre edilmesi ve y\u00f6netilmesi, modern bir dijital i\u015fletmenin temel ta\u015flar\u0131ndan biridir. Bu rehber boyunca, Campaign Monitor&#8217;\u0131n bu alandaki g\u00fcc\u00fcn\u00fc nas\u0131l kullanaca\u011f\u0131n\u0131z\u0131 ve i\u015fletmenizin ileti\u015fim s\u00fcre\u00e7lerini nas\u0131l optimize edece\u011finizi detayl\u0131ca inceleyece\u011fiz.<\/p>\n<hr>\n<h2>Campaign Monitor Ak\u0131ll\u0131 E-postalar\u0131 (Transactional) Tam Olarak Nedir ve Ne \u0130\u015fe Yarar?<\/h2>\n<p>Campaign Monitor, geni\u015f yelpazede e-posta pazarlama hizmetleri sunarken, &#8220;Smart Emails&#8221; olarak adland\u0131rd\u0131\u011f\u0131 i\u015flemsel e-posta \u00e7\u00f6z\u00fcm\u00fcyle de \u00f6ne \u00e7\u0131kmaktad\u0131r. Peki, bu &#8220;Smart Emails&#8221; tam olarak nedir ve i\u015fletmenize ne gibi faydalar sa\u011flar? Temelde, Smart Emails, API veya SMTP arac\u0131l\u0131\u011f\u0131yla tetiklenen, belirli bir olay veya kullan\u0131c\u0131 eylemi sonucunda g\u00f6nderilen otomatikle\u015ftirilmi\u015f e-postalard\u0131r. Pazarlama e-postalar\u0131ndan temel fark\u0131, hedef kitlesine \u00fcr\u00fcn veya hizmet satmak yerine, kullan\u0131c\u0131n\u0131n bekledi\u011fi veya ihtiya\u00e7 duydu\u011fu spesifik bir bilgiyi an\u0131nda sa\u011flamas\u0131d\u0131r.<\/p>\n<p>Bu e-postalar\u0131n en belirgin \u00f6zelli\u011fi, y\u00fcksek teslim edilebilirlik oranlar\u0131 ve g\u00f6nderim h\u0131z\u0131d\u0131r. Gelen kutusuna d\u00fc\u015fme oranlar\u0131, pazarlama e-postalar\u0131na k\u0131yasla \u00e7ok daha y\u00fcksektir \u00e7\u00fcnk\u00fc spam filtreleri taraf\u0131ndan genellikle daha az riskli g\u00f6r\u00fcl\u00fcrler. Bu durum, kritik mesajlar\u0131n\u0131z\u0131n al\u0131c\u0131ya ula\u015fma garantisini b\u00fcy\u00fck \u00f6l\u00e7\u00fcde art\u0131r\u0131r. Campaign Monitor&#8217;\u0131n altyap\u0131s\u0131, bu e-postalar\u0131n saniyeler i\u00e7inde g\u00f6nderilmesini sa\u011flayarak, kullan\u0131c\u0131 deneyimini kesintisiz hale getirir. \u00d6rne\u011fin, bir m\u00fc\u015fteri online bir sat\u0131n alma i\u015flemi yapt\u0131\u011f\u0131nda, sipari\u015f onay e-postas\u0131n\u0131n an\u0131nda gelmesi, onlara g\u00fcven verir ve s\u00fcrecin sorunsuz ilerledi\u011fini g\u00f6sterir. Bu anl\u0131k geri bildirim, m\u00fc\u015fteri memnuniyetini art\u0131ran en \u00f6nemli fakt\u00f6rlerden biridir.<\/p>\n<p>Smart Emails&#8217;in sundu\u011fu bir di\u011fer \u00f6nemli avantaj da ki\u015fiselle\u015ftirme yetene\u011fidir. Her ne kadar \u015fablonlar kullan\u0131l\u0131yor olsa da, dinamik i\u00e7erik ekleyerek her bir e-postay\u0131 al\u0131c\u0131ya \u00f6zel hale getirebilirsiniz. Bir sipari\u015f onay\u0131 e-postas\u0131nda m\u00fc\u015fterinin ad\u0131n\u0131, sipari\u015f numaras\u0131n\u0131, sat\u0131n ald\u0131\u011f\u0131 \u00fcr\u00fcnleri ve kargo bilgilerini otomatik olarak g\u00f6stermek m\u00fcmk\u00fcnd\u00fcr. Bu, al\u0131c\u0131n\u0131n e-postayla daha fazla etkile\u015fim kurmas\u0131n\u0131 sa\u011flar ve ileti\u015fimin de\u011ferini art\u0131r\u0131r. Campaign Monitor&#8217;\u0131n sezgisel \u015fablon motoru sayesinde, bu t\u00fcr ki\u015fiselle\u015ftirmeleri teknik bilgi gerektirmeden kolayca yapabilirsiniz. \u015eablonlar, HTML ve CSS bilgisi olanlar i\u00e7in tamamen \u00f6zelle\u015ftirilebilirken, s\u00fcr\u00fckle-b\u0131rak aray\u00fcz\u00fc sayesinde tasar\u0131m bilgisi olmayanlar da profesyonel g\u00f6r\u00fcn\u00fcml\u00fc e-postalar olu\u015fturabilir.<\/p>\n<p>Peki, Smart Emails hangi senaryolarda kullan\u0131l\u0131r? \u0130\u015fletmenizin t\u00fcr\u00fcne ve ihtiya\u00e7lar\u0131na g\u00f6re say\u0131s\u0131z kullan\u0131m alan\u0131 mevcuttur. En yayg\u0131n kullan\u0131m senaryolar\u0131ndan baz\u0131lar\u0131 \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>E-ticaret:<\/strong> Sipari\u015f onay\u0131, kargo takibi, \u00fcr\u00fcn iade bildirimleri, sepet terk etme hat\u0131rlat\u0131c\u0131lar\u0131 (e\u011fer transactional nitelikteyse).<\/li>\n<li><strong>SaaS Uygulamalar\u0131:<\/strong> Hesap aktivasyonu, parola s\u0131f\u0131rlama, abonelik yenileme bildirimleri, kota a\u015f\u0131m\u0131 uyar\u0131lar\u0131, yeni \u00f6zellik duyurular\u0131.<\/li>\n<li><strong>Online Hizmetler:<\/strong> Rezervasyon onaylar\u0131, randevu hat\u0131rlatmalar\u0131, bilet g\u00f6nderimi, hizmet durumu g\u00fcncellemeleri.<\/li>\n<li><strong>\u00dcyelik Siteleri:<\/strong> Yeni \u00fcyelik ho\u015f geldin e-postalar\u0131, profil g\u00fcncellemeleri, \u00fcyelik yenileme uyar\u0131lar\u0131.<\/li>\n<li><strong>Finansal Hizmetler:<\/strong> \u0130\u015flem bildirimleri, fatura g\u00f6nderimi, \u00f6deme hat\u0131rlatmalar\u0131.<\/li>\n<\/ul>\n<p>Her bir senaryoda, e-postan\u0131n h\u0131zl\u0131, do\u011fru ve ki\u015fiselle\u015ftirilmi\u015f olmas\u0131 kritik \u00f6nem ta\u015f\u0131r. Campaign Monitor&#8217;\u0131n Smart Emails \u00e7\u00f6z\u00fcm\u00fc, bu gereksinimleri kar\u015f\u0131lamak i\u00e7in g\u00fc\u00e7l\u00fc bir altyap\u0131 sunar. Raporlama ve analiz \u00f6zellikleri sayesinde, g\u00f6nderilen e-postalar\u0131n a\u00e7\u0131lma, t\u0131klanma ve teslim edilebilirlik oranlar\u0131n\u0131 izleyebilir, b\u00f6ylece e-posta performans\u0131n\u0131z\u0131 s\u00fcrekli olarak optimize edebilirsiniz. Bu detayl\u0131 geri bildirim, stratejilerinizi geli\u015ftirmeniz i\u00e7in de\u011ferli i\u00e7g\u00f6r\u00fcler sa\u011flar. Sonu\u00e7 olarak, Campaign Monitor Smart Emails, i\u015fletmenizin operasyonel verimlili\u011fini art\u0131ran, m\u00fc\u015fteri memnuniyetini y\u00fckselten ve marka g\u00fcvenilirli\u011fini peki\u015ftiren g\u00fc\u00e7l\u00fc bir ileti\u015fim arac\u0131d\u0131r.<\/p>\n<hr>\n<h2>Entegrasyona Ba\u015flamadan \u00d6nce Bilmeniz Gereken Temel Ad\u0131mlar Nelerdir?<\/h2>\n<p>Campaign Monitor&#8217;\u0131n Smart Emails \u00f6zelli\u011fini sisteminize entegre etmeye ba\u015flamadan \u00f6nce atman\u0131z gereken baz\u0131 kritik ad\u0131mlar ve bilmeniz gereken temel kavramlar vard\u0131r. Bu \u00f6n haz\u0131rl\u0131klar, entegrasyon s\u00fcrecini sorunsuz hale getirecek ve olas\u0131 aksakl\u0131klar\u0131 minimize edecektir. \u0130lk olarak, bir Campaign Monitor hesab\u0131na sahip olman\u0131z ve i\u015flemsel e-posta g\u00f6nderimi i\u00e7in uygun plan\u0131 se\u00e7meniz gerekmektedir. Genellikle Campaign Monitor, pazarlama ve i\u015flemsel e-postalar\u0131 farkl\u0131 faturaland\u0131rma modelleriyle sunar, bu y\u00fczden ihtiya\u00e7lar\u0131n\u0131za uygun paketi do\u011frulad\u0131\u011f\u0131n\u0131zdan emin olun.<\/p>\n<ol>\n<li><strong>Campaign Monitor Hesab\u0131 Olu\u015fturma ve Yap\u0131land\u0131rma:<\/strong>\n<p>E\u011fer hen\u00fcz bir hesab\u0131n\u0131z yoksa, Campaign Monitor web sitesi \u00fczerinden bir hesap olu\u015fturmal\u0131s\u0131n\u0131z. Mevcut bir hesab\u0131n\u0131z varsa, i\u015flemsel e-posta g\u00f6ndermek i\u00e7in gerekli izinlerin ve limitlerin do\u011fru yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131ndan emin olun. Campaign Monitor kontrol panelinde, &#8220;Transactional Emails&#8221; veya &#8220;Smart Emails&#8221; b\u00f6l\u00fcm\u00fcne eri\u015fiminizin oldu\u011fundan emin olmal\u0131s\u0131n\u0131z. Buradan g\u00f6nderim domaininizi (alan ad\u0131n\u0131z\u0131) eklemeniz gerekecektir.<\/p>\n<\/li>\n<li><strong>API Anahtarlar\u0131 ve SMTP Ayarlar\u0131 Nas\u0131l Elde Edilir?<\/strong>\n<p>Entegrasyonun temelini kimlik do\u011frulama olu\u015fturur. Campaign Monitor, e-posta g\u00f6ndermek i\u00e7in iki ana y\u00f6ntem sunar: API (Uygulama Programlama Aray\u00fcz\u00fc) ve SMTP (Basit Posta Aktar\u0131m Protokol\u00fc). Her iki y\u00f6ntemde de kimlik do\u011frulamas\u0131 i\u00e7in belirli bilgilere ihtiyac\u0131n\u0131z olacakt\u0131r:<\/p>\n<ul>\n<li><strong>API Anahtar\u0131 (API Key):<\/strong> Bu, sisteminizin Campaign Monitor API&#8217;sine g\u00fcvenli bir \u015fekilde eri\u015fmesini sa\u011flayan benzersiz bir koddur. Campaign Monitor hesab\u0131n\u0131z\u0131n &#8220;Account Settings&#8221; veya &#8220;API Keys&#8221; b\u00f6l\u00fcm\u00fcnden bu anahtar\u0131 bulabilir veya olu\u015fturabilirsiniz. Bu anahtar\u0131 asla a\u00e7\u0131k\u00e7a payla\u015fmamal\u0131 ve g\u00fcvenli bir \u015fekilde saklamal\u0131s\u0131n\u0131z.<\/li>\n<li><strong>SMTP Kullan\u0131c\u0131 Ad\u0131 ve \u015eifresi:<\/strong> E\u011fer SMTP \u00fczerinden g\u00f6nderim yapacaksan\u0131z, Campaign Monitor&#8217;\u0131n sa\u011flad\u0131\u011f\u0131 SMTP sunucu adresine, kullan\u0131c\u0131 ad\u0131na ve \u015fifresine ihtiyac\u0131n\u0131z olacakt\u0131r. Bu bilgiler genellikle &#8220;Transactional Emails&#8221; veya &#8220;SMTP Settings&#8221; k\u0131sm\u0131nda bulunur. Yine, bu bilgileri \u00e7ok gizli tutmal\u0131s\u0131n\u0131z.<\/li>\n<\/ul>\n<div class=\"interactive-tip\">\n          Uzman \u0130pucu: API anahtarlar\u0131n\u0131z\u0131 do\u011frudan kod i\u00e7ine g\u00f6mmek yerine, ortam de\u011fi\u015fkenleri (environment variables) veya g\u00fcvenli bir yap\u0131land\u0131rma servisi kullanarak saklay\u0131n. Bu, g\u00fcvenli\u011fi art\u0131r\u0131r ve farkl\u0131 ortamlar aras\u0131nda (geli\u015ftirme, test, \u00fcretim) kolayca ge\u00e7i\u015f yapman\u0131z\u0131 sa\u011flar.\n        <\/div>\n<\/li>\n<li><strong>Alan Ad\u0131 Do\u011frulama (Sender Domain Verification &#8211; DKIM, SPF):<\/strong>\n<p>E-postalar\u0131n spam olarak i\u015faretlenmesini \u00f6nlemek ve y\u00fcksek teslim edilebilirlik sa\u011flamak i\u00e7in g\u00f6nderici alan ad\u0131n\u0131z\u0131 do\u011frulaman\u0131z \u015fartt\u0131r. Bu s\u00fcre\u00e7, DNS kay\u0131tlar\u0131n\u0131za belirli TXT kay\u0131tlar\u0131 eklemeyi gerektirir:<\/p>\n<ul>\n<li><strong>SPF (Sender Policy Framework):<\/strong> G\u00f6nderici alan ad\u0131n\u0131z ad\u0131na e-posta g\u00f6ndermeye yetkili sunucular\u0131 belirten bir TXT kayd\u0131d\u0131r. Campaign Monitor&#8217;\u0131n belirtti\u011fi SPF kayd\u0131n\u0131 (\u00f6rn. <code>v=spf1 include:spf.mandrillapp.com ~all<\/code> benzeri) DNS ayarlar\u0131n\u0131za eklemelisiniz.<\/li>\n<li><strong>DKIM (DomainKeys Identified Mail):<\/strong> E-postalar\u0131n g\u00f6nderici taraf\u0131ndan yetkilendirildi\u011fini ve ta\u015f\u0131ma s\u0131ras\u0131nda de\u011fi\u015ftirilmedi\u011fini do\u011frulayan bir dijital imzad\u0131r. Campaign Monitor, size belirli bir DKIM kayd\u0131 (genellikle uzun bir anahtar i\u00e7eren bir TXT kayd\u0131) verecektir. Bu kayd\u0131 da DNS ayarlar\u0131n\u0131za eklemelisiniz.<\/li>\n<\/ul>\n<p>Bu kay\u0131tlar\u0131 ekledikten sonra Campaign Monitor paneli \u00fczerinden do\u011frulama i\u015flemini ba\u015flatmal\u0131s\u0131n\u0131z. Do\u011frulama birka\u00e7 saat s\u00fcrebilir. Bu ad\u0131m, e-postalar\u0131n\u0131z\u0131n spam klas\u00f6r\u00fcne d\u00fc\u015fmesini \u00f6nlemek ve marka itibar\u0131n\u0131z\u0131 korumak i\u00e7in hayati \u00f6nem ta\u015f\u0131r.<\/p>\n<\/li>\n<li><strong>\u015eablon Olu\u015fturma ve Y\u00f6netimi:<\/strong>\n<p>\u0130\u015flemsel e-postalar\u0131n\u0131z\u0131n tutarl\u0131 bir g\u00f6r\u00fcn\u00fcme sahip olmas\u0131 ve ki\u015fiselle\u015ftirilebilir olmas\u0131 i\u00e7in Campaign Monitor i\u00e7inde \u015fablonlar olu\u015fturman\u0131z gerekecektir. Bu \u015fablonlar, temel HTML ve CSS yap\u0131s\u0131n\u0131 i\u00e7erir ve dinamik i\u00e7erik eklemek i\u00e7in yer tutucular (placeholder&#8217;lar) bar\u0131nd\u0131r\u0131r. \u00d6rne\u011fin, bir sipari\u015f onay \u015fablonunda <code>[client.name]<\/code>, <code>[order.id]<\/code> gibi yer tutucular kullanabilirsiniz. G\u00f6nderim s\u0131ras\u0131nda bu yer tutucular, API veya SMTP \u00e7a\u011fr\u0131s\u0131yla g\u00f6nderilen verilerle otomatik olarak doldurulur.<\/p>\n<p>Campaign Monitor&#8217;\u0131n g\u00f6rsel \u015fablon olu\u015fturucusunu kullanabilir veya \u00f6zel HTML\/CSS kodunuzu do\u011frudan y\u00fckleyebilirsiniz. Mobil uyumluluk ve duyarl\u0131 tasar\u0131m prensiplerini g\u00f6z \u00f6n\u00fcnde bulundurarak \u015fablonlar\u0131n\u0131z\u0131 olu\u015fturman\u0131z, farkl\u0131 cihazlardan eri\u015fen kullan\u0131c\u0131lar i\u00e7in sorunsuz bir deneyim sunacakt\u0131r.<\/p>\n<\/li>\n<\/ol>\n<p>Bu temel ad\u0131mlar\u0131 tamamlad\u0131ktan sonra, art\u0131k sisteminizden Campaign Monitor arac\u0131l\u0131\u011f\u0131yla i\u015flemsel e-postalar g\u00f6ndermeye haz\u0131rs\u0131n\u0131z. Her bir ad\u0131m\u0131n do\u011fru ve eksiksiz yap\u0131lmas\u0131, entegrasyonun ba\u015far\u0131s\u0131 i\u00e7in kilit rol oynar.<\/p>\n<hr>\n<h2>Campaign Monitor API&#8217;sini Kullanarak \u0130\u015flemsel E-postalar Nas\u0131l G\u00f6nderilir?<\/h2>\n<p>Campaign Monitor API&#8217;si, uygulaman\u0131z\u0131n Campaign Monitor ile do\u011frudan ve programatik olarak ileti\u015fim kurmas\u0131n\u0131 sa\u011flayan g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. \u00d6zellikle b\u00fcy\u00fck hacimli g\u00f6nderimler, karma\u015f\u0131k ki\u015fiselle\u015ftirme ihtiya\u00e7lar\u0131 veya \u00f6zel entegrasyonlar i\u00e7in idealdir. API, RESTful prensiplerine uygun olarak tasarlanm\u0131\u015ft\u0131r ve HTTP istekleriyle \u00e7al\u0131\u015f\u0131r. Bu b\u00f6l\u00fcmde, Python kullanarak Campaign Monitor API&#8217;si arac\u0131l\u0131\u011f\u0131yla i\u015flemsel bir e-posta g\u00f6ndermek i\u00e7in ad\u0131m ad\u0131m bir rehber sunaca\u011f\u0131z.<\/p>\n<h3>Ad\u0131m 1: Gerekli K\u00fct\u00fcphaneyi Kurma<\/h3>\n<p>Python i\u00e7in Campaign Monitor&#8217;\u0131n resmi veya topluluk taraf\u0131ndan geli\u015ftirilmi\u015f bir API istemci k\u00fct\u00fcphanesi kullanmak i\u015finizi kolayla\u015ft\u0131racakt\u0131r. \u00d6rnek olarak, <code>campaignmonitor<\/code> veya benzeri bir k\u00fct\u00fcphaneyi <code>pip<\/code> ile kurabilirsiniz:<\/p>\n<pre><code>\npip install campaignmonitor\n<\/pre>\n<p><\/code><\/p>\n<p>E\u011fer resmi bir Python k\u00fct\u00fcphanesi yoksa veya daha genel bir yakla\u015f\u0131m tercih ediyorsan\u0131z, <code>requests<\/code> k\u00fct\u00fcphanesi ile HTTP POST istekleri g\u00f6ndererek de API'ye eri\u015febilirsiniz.<\/p>\n<h3>Ad\u0131m 2: API Anahtar\u0131n\u0131z\u0131 Yap\u0131land\u0131rma<\/h3>\n<p>Daha \u00f6nce edindi\u011finiz API anahtar\u0131n\u0131z\u0131 kodunuzda kullanman\u0131z gerekecek. G\u00fcvenlik nedenleriyle, do\u011frudan kod i\u00e7ine g\u00f6mmek yerine ortam de\u011fi\u015fkenlerinden alman\u0131z\u0131 \u015fiddetle tavsiye ederiz.<\/p>\n<pre><code>\nimport os\nfrom campaignmonitor import CampaignMonitorAPI\n\n# Ortam de\u011fi\u015fkeninden API anahtar\u0131n\u0131 al\nAPI_KEY = os.environ.get(\"CAMPAIGN_MONITOR_API_KEY\", \"YOUR_API_KEY_HERE\")\nTRANSACTIONAL_EMAIL_CLIENT_ID = os.environ.get(\"CAMPAIGN_MONITOR_TRANSACTIONAL_CLIENT_ID\", \"YOUR_TRANSACTIONAL_CLIENT_ID_HERE\")\n\n# Campaign Monitor API istemcisini ba\u015flat\ncm_api = CampaignMonitorAPI(api_key=API_KEY)\n<\/pre>\n<p><\/code><\/p>\n<p>Burada <code>TRANSACTIONAL_EMAIL_CLIENT_ID<\/code>, genellikle Campaign Monitor hesab\u0131n\u0131zdaki Transactional Email hizmetinize ait bir kimliktir ve baz\u0131 API \u00e7a\u011fr\u0131lar\u0131nda gereklidir.<\/p>\n<h3>Ad\u0131m 3: E-posta \u015eablonunuzu Haz\u0131rlama ve Gerekli Bilgileri Toplama<\/h3>\n<p>Campaign Monitor'da olu\u015fturdu\u011funuz bir i\u015flemsel e-posta \u015fablonuna ihtiyac\u0131n\u0131z olacak. Bu \u015fablonun bir \"Template ID\" veya \"Smart Email ID\" de\u011feri olacakt\u0131r. Ayr\u0131ca, e-postay\u0131 g\u00f6nderece\u011finiz al\u0131c\u0131n\u0131n e-posta adresi ve \u015fablondaki yer tutucular\u0131 dolduracak ki\u015fiselle\u015ftirilmi\u015f veriler (custom fields) gereklidir. \u00d6rne\u011fin, bir sipari\u015f onay e-postas\u0131 i\u00e7in m\u00fc\u015fteri ad\u0131, sipari\u015f numaras\u0131, \u00fcr\u00fcnler listesi gibi veriler.<\/p>\n<pre><code>\n# G\u00f6nderilecek e-posta bilgileri\nrecipient_email = \"alicierol@example.com\"\nrecipient_name = \"Alici Erol\"\nsmart_email_id = \"YOUR_SMART_EMAIL_ID\" # Campaign Monitor'daki \u015fablonunuzun ID'si\n\n# \u015eablondaki yer tutucular\u0131 dolduracak ki\u015fiselle\u015ftirilmi\u015f veriler\ncustom_fields = {\n    \"CustomerName\": recipient_name,\n    \"OrderID\": \"CM-12345\",\n    \"ProductList\": [\n        {\"Name\": \"Ak\u0131ll\u0131 Saat\", \"Quantity\": 1, \"Price\": 1500.00},\n        {\"Name\": \"Bluetooth Kulakl\u0131k\", \"Quantity\": 2, \"Price\": 800.00}\n    ],\n    \"ShippingAddress\": \"\u00d6rnek Mah. \u00d6rnek Cad. No:1, \u0130stanbul\",\n    \"TotalAmount\": 3100.00\n}\n<\/pre>\n<p><\/code><\/p>\n<p><code>custom_fields<\/code> i\u00e7indeki anahtarlar\u0131n, Campaign Monitor \u015fablonunuzdaki yer tutucularla (\u00f6rn. <code>[CustomerName]<\/code>) e\u015fle\u015fti\u011finden emin olun. Listeler veya karma\u015f\u0131k nesneler i\u00e7in Campaign Monitor'\u0131n tekrarlay\u0131c\u0131 (repeater) alanlar\u0131n\u0131 veya JSON tabanl\u0131 veri ba\u011flama yeteneklerini kullanman\u0131z gerekebilir.<\/p>\n<h3>Ad\u0131m 4: \u0130\u015flemsel E-postay\u0131 G\u00f6nderme<\/h3>\n<p>\u015eimdi, <code>send_transactional_email<\/code> veya benzeri bir metod kullanarak e-postay\u0131 g\u00f6nderme i\u015flemini ger\u00e7ekle\u015ftirebiliriz. Bu metod, <code>smart_email_id<\/code>, al\u0131c\u0131 bilgileri ve <code>custom_fields<\/code>'\u0131 parametre olarak alacakt\u0131r.<\/p>\n<pre><code class=\"language-python\">\n# Basitle\u015ftirilmi\u015f bir API istemci varsay\u0131m\u0131 ile \u00f6rnek g\u00f6nderim\ndef send_smart_email(client_id, smart_email_id, recipient_email, recipient_name, custom_fields):\n    headers = {\n        \"Authorization\": f\"Bearer {API_KEY}\",\n        \"Content-Type\": \"application\/json\"\n    }\n    payload = {\n        \"To\": recipient_email,\n        \"Data\": custom_fields,\n        \"TemplateID\": smart_email_id,\n        \"Client\" : client_id # Transactional e-postalar i\u00e7in gerekli olabilir\n    }\n    # Campaign Monitor'\u0131n belirli bir endpoint'ine POST iste\u011fi\n    # Bu URL, Campaign Monitor API dok\u00fcmantasyonundan al\u0131nmal\u0131d\u0131r.\n    # \u00d6rnek: \"https:\/\/api.createsend.com\/api\/v3.2\/transactional\/smartemail\/{smart_email_id}\/send\"\n    \n    # K\u00fct\u00fcphane kullan\u0131m\u0131 daha temiz olacakt\u0131r:\n    try:\n        # K\u00fct\u00fcphane kullan\u0131m\u0131na uygun bir \u00f6rnek (varsay\u0131msal)\n        response = cm_api.transactional.send_smart_email(\n            client_id=TRANSACTIONAL_EMAIL_CLIENT_ID,\n            smart_email_id=smart_email_id,\n            to=recipient_email,\n            data=custom_fields,\n            from_name=\"Destek Ekibi\", # Gerekliyse eklenebilir\n            subject=\"Sipari\u015f Onay\u0131n\u0131z [OrderID] - Te\u015fekk\u00fcr Ederiz!\", # Gerekliyse eklenebilir\n        )\n        if response.status_code == 200:\n            print(f\"E-posta {recipient_email} adresine ba\u015far\u0131yla g\u00f6nderildi.\")\n            print(response.json())\n        else:\n            print(f\"E-posta g\u00f6nderilirken bir hata olu\u015ftu: {response.status_code} - {response.text}\")\n    except Exception as e:\n        print(f\"E-posta g\u00f6nderiminde istisna olu\u015ftu: {e}\")\n\n# Fonksiyonu \u00e7a\u011f\u0131r\nsend_smart_email(TRANSACTIONAL_EMAIL_CLIENT_ID, smart_email_id, recipient_email, recipient_name, custom_fields)\n<\/pre>\n<p><\/code><\/p>\n<p>Yukar\u0131daki kod blo\u011fu, Campaign Monitor API'sine HTTP POST iste\u011fi g\u00f6ndermek i\u00e7in genel bir yap\u0131y\u0131 g\u00f6stermektedir. Ger\u00e7ek API istemci k\u00fct\u00fcphanesi kullan\u0131m\u0131nda bu ad\u0131mlar daha soyutlanm\u0131\u015f ve kullan\u0131m\u0131 daha kolay olacakt\u0131r. \u00d6nemli olan, API anahtar\u0131n\u0131z\u0131, Smart Email ID'nizi ve do\u011fru bi\u00e7imde haz\u0131rlanm\u0131\u015f dinamik veriyi (<code>custom_fields<\/code>) do\u011fru endpoint'e g\u00f6ndermektir. Ba\u015far\u0131l\u0131 bir g\u00f6nderimde, Campaign Monitor API'si genellikle bir ba\u015far\u0131 mesaj\u0131 ve g\u00f6nderilen e-postan\u0131n kimli\u011fini i\u00e7eren bir yan\u0131t d\u00f6nd\u00fcr\u00fcr. Hatalar\u0131 ele almak i\u00e7in <code>try-except<\/code> bloklar\u0131 kullanmak ve API yan\u0131tlar\u0131n\u0131 kontrol etmek, uygulaman\u0131z\u0131n dayan\u0131kl\u0131l\u0131\u011f\u0131 i\u00e7in hayati \u00f6nem ta\u015f\u0131r. Bu sayede, i\u015flemsel e-postalar\u0131n\u0131z\u0131 uygulaman\u0131z\u0131n tetikleyici olaylar\u0131na entegre ederek otomatik ve ki\u015fiselle\u015ftirilmi\u015f ileti\u015fim ak\u0131\u015flar\u0131 olu\u015fturabilirsiniz.<\/p>\n<hr>\n<h2>SMTP Entegrasyonu ile Daha H\u0131zl\u0131 ve Basit G\u00f6nderim Nas\u0131l Yap\u0131l\u0131r?<\/h2>\n<p>Campaign Monitor API'sini kullanmak karma\u015f\u0131k otomasyonlar ve detayl\u0131 kontrol i\u00e7in ideal olsa da, \u00e7o\u011fu durumda, \u00f6zellikle basit ve h\u0131zl\u0131 i\u015flemsel e-posta g\u00f6nderimleri i\u00e7in SMTP (Simple Mail Transfer Protocol) entegrasyonu \u00e7ok daha kolay ve pratik bir \u00e7\u00f6z\u00fcm sunar. SMTP, e-posta g\u00f6nderimi i\u00e7in end\u00fcstri standard\u0131 bir protokold\u00fcr ve neredeyse t\u00fcm programlama dilleri ile framework'ler taraf\u0131ndan desteklenir. Bu y\u00f6ntemle, Campaign Monitor'\u0131 t\u0131pk\u0131 normal bir e-posta sunucusu gibi kullan\u0131r ve e-postalar\u0131n\u0131z\u0131 do\u011frudan uygulaman\u0131zdan g\u00f6nderirsiniz.<\/p>\n<h3>SMTP Neden Tercih Edilir?<\/h3>\n<p>SMTP entegrasyonunun ba\u015fl\u0131ca avantajlar\u0131 \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>Kolayl\u0131k:<\/strong> \u00c7o\u011fu geli\u015ftirici, e-posta g\u00f6ndermek i\u00e7in SMTP'ye a\u015finad\u0131r. Mevcut e-posta g\u00f6nderme k\u00fct\u00fcphaneleri veya framework'lerin yerle\u015fik fonksiyonlar\u0131 kolayca adapte edilebilir.<\/li>\n<li><strong>H\u0131z:<\/strong> Do\u011frudan e-posta sunucusuyla ileti\u015fim kurdu\u011fu i\u00e7in API \u00e7a\u011fr\u0131lar\u0131na k\u0131yasla baz\u0131 senaryolarda daha h\u0131zl\u0131 olabilir (\u00f6zellikle k\u00fct\u00fcphane ba\u011f\u0131ml\u0131l\u0131\u011f\u0131 daha az oldu\u011fu durumlarda).<\/li>\n<li><strong>D\u00fc\u015f\u00fck Ba\u011f\u0131ml\u0131l\u0131k:<\/strong> \u00d6zel bir API istemci k\u00fct\u00fcphanesine ba\u011f\u0131ml\u0131 kalmazs\u0131n\u0131z, bu da uygulaman\u0131z\u0131n genel ba\u011f\u0131ml\u0131l\u0131k grafi\u011fini basitle\u015ftirebilir.<\/li>\n<\/ul>\n<h3>Campaign Monitor SMTP Ayarlar\u0131<\/h3>\n<p>Campaign Monitor hesab\u0131n\u0131zda \"Transactional Emails\" veya \"Smart Emails\" b\u00f6l\u00fcm\u00fcnde, SMTP ayarlar\u0131n\u0131z\u0131 bulabilirsiniz. Tipik olarak a\u015fa\u011f\u0131daki bilgilere ihtiyac\u0131n\u0131z olacakt\u0131r:<\/p>\n<ul>\n<li><strong>SMTP Sunucu Adresi:<\/strong> Genellikle <code>smtp.createsend.com<\/code> veya benzeri bir adres.<\/li>\n<li><strong>Port:<\/strong> Genellikle TLS\/SSL i\u00e7in <code>587<\/code> veya <code>465<\/code>.<\/li>\n<li><strong>Kullan\u0131c\u0131 Ad\u0131:<\/strong> Campaign Monitor taraf\u0131ndan sa\u011flanan \u00f6zel bir kullan\u0131c\u0131 ad\u0131 (genellikle API anahtar\u0131n\u0131z veya \u00f6zel bir kimlik).<\/li>\n<li><strong>\u015eifre:<\/strong> Campaign Monitor taraf\u0131ndan sa\u011flanan \u00f6zel bir \u015fifre (genellikle API anahtar\u0131n\u0131zla ayn\u0131 veya ayr\u0131 bir anahtar).<\/li>\n<\/ul>\n<div class=\"interactive-tip\">\n  Uzman \u0130pucu: SMTP g\u00f6nderimlerinizde, e-posta \u015fablonlar\u0131n\u0131zda Campaign Monitor'\u0131n dinamik i\u00e7erik yer tutucular\u0131n\u0131 kullanmaya devam edebilirsiniz. Campaign Monitor, SMTP ile gelen e-postan\u0131n i\u00e7eri\u011fini ayr\u0131\u015ft\u0131r\u0131r ve bu yer tutucular\u0131 tan\u0131mlanm\u0131\u015f verilerle doldurur.\n<\/div>\n<h3>Farkl\u0131 Programlama Dilleri \u0130\u00e7in SMTP \u00d6rnekleri<\/h3>\n<p>A\u015fa\u011f\u0131da, pop\u00fcler baz\u0131 programlama dillerinde SMTP ile Campaign Monitor \u00fczerinden e-posta g\u00f6nderme \u00f6rnekleri yer almaktad\u0131r.<\/p>\n<h4>1. Python ile SMTP E-posta G\u00f6nderimi<\/h4>\n<p>Python'da <code>smtplib<\/code> k\u00fct\u00fcphanesi ile kolayca e-posta g\u00f6nderebilirsiniz. Ki\u015fiselle\u015ftirilmi\u015f verileri e-posta i\u00e7eri\u011fine dinamik olarak ekleyerek Campaign Monitor \u015fablonlar\u0131nda doldurabilirsiniz. HTML i\u00e7eri\u011fi g\u00f6ndermek i\u00e7in <code>email.mime.text<\/code> mod\u00fcl\u00fcn\u00fc kullanaca\u011f\u0131z.<\/p>\n<pre><code class=\"language-python\">\nimport smtplib\nfrom email.mime.text import MIMEText\nfrom email.mime.multipart import MIMEMultipart\nimport os\n\n# Campaign Monitor SMTP Bilgileri (Ortam de\u011fi\u015fkenlerinden al\u0131nmas\u0131 \u00f6nerilir)\nSMTP_SERVER = os.environ.get(\"CM_SMTP_SERVER\", \"smtp.createsend.com\")\nSMTP_PORT = int(os.environ.get(\"CM_SMTP_PORT\", 587))\nSMTP_USERNAME = os.environ.get(\"CM_SMTP_USERNAME\", \"YOUR_CM_SMTP_USERNAME\")\nSMTP_PASSWORD = os.environ.get(\"CM_SMTP_PASSWORD\", \"YOUR_CM_SMTP_PASSWORD\")\n\nsender_email = \"no-reply@example.com\"\nreceiver_email = \"alicierol@example.com\"\nsubject = \"Sipari\u015f Onay\u0131: #[OrderID]\" # Campaign Monitor \u015fablonunuzda bu yer tutucu kullan\u0131labilir\n\n# Campaign Monitor \u015fablonundaki yer tutucular i\u00e7in HTML i\u00e7eri\u011fi\n# Bu k\u0131s\u0131m, Campaign Monitor'da tan\u0131mlad\u0131\u011f\u0131n\u0131z \u015fablonun i\u00e7eri\u011fini yans\u0131tmal\u0131d\u0131r.\n# Campaign Monitor, bu HTML i\u00e7indeki [YerTutucu] ifadelerini g\u00f6nderdi\u011finiz JSON veri ile dolduracakt\u0131r.\nhtml_body = f\"\"\"\\\n<html>\n  <body>\n    <p>Merhaba, <strong>[CustomerName]<\/strong>!<\/p>\n    <p>Sipari\u015finiz <strong>#[OrderID]<\/strong> ba\u015far\u0131yla al\u0131nd\u0131 ve i\u015fleniyor.<\/p>\n    <p>\u00dcr\u00fcnleriniz:<\/p>\n    <ul>\n      <!-- Campaign Monitor'da Repeater alan\u0131 veya benzeri bir yap\u0131 ile ProductList i\u015flenecektir -->\n      <li>Ak\u0131ll\u0131 Saat (1 adet) - 1500.00 TL<\/li>\n      <li>Bluetooth Kulakl\u0131k (2 adet) - 1600.00 TL<\/li>\n    <\/ul>\n    <p>Toplam Tutar: <strong>[TotalAmount] TL<\/strong><\/p>\n    <p>Kargo Adresi: [ShippingAddress]<\/p>\n    <p>Bizi tercih etti\u011finiz i\u00e7in te\u015fekk\u00fcr ederiz!<\/p>\n  <\/body>\n<\/html>\n\"\"\"\n\n# JSON veri payload'\u0131\n# Bu veriler, Campaign Monitor taraf\u0131ndan e-posta i\u00e7eri\u011findeki yer tutucularla e\u015fle\u015ftirilir.\n# \u00d6nemli: SMTP ile g\u00f6nderirken bu JSON'\u0131 e-posta g\u00f6vdesine eklemeniz gerekir.\n# Campaign Monitor, e-posta i\u00e7eri\u011fini (text\/html) ayr\u0131\u015ft\u0131rarak bu veriyi bulur.\n# Bu format genellikle bir \u00f6zel header (\u00f6r. X-CM-Data) veya e-posta g\u00f6vdesinin belirli bir b\u00f6l\u00fcm\u00fc olarak g\u00f6nderilir.\n# Ancak Campaign Monitor'\u0131n transactional API'si, SMTP \u00fczerinden JSON veri y\u00fcklemeyi do\u011frudan desteklemeyebilir,\n# daha \u00e7ok \u015fablonlar i\u00e7indeki \u00f6zel alanlar\u0131 doldurmak i\u00e7in tasarlanm\u0131\u015ft\u0131r.\n# Bu \u00f6rnekte, yer tutucular HTML i\u00e7inde g\u00f6sterilmi\u015ftir ve Campaign Monitor'\u0131n bu yer tutucular\u0131 otomatik doldurdu\u011fu varsay\u0131lm\u0131\u015ft\u0131r.\n# Ancak, e\u011fer do\u011frudan veri g\u00f6ndermek gerekiyorsa, bu genellikle API ile yap\u0131l\u0131r.\n# SMTP ile en yayg\u0131n kullan\u0131m, zaten olu\u015fturulmu\u015f bir \u015fablonu (Smart Email) tetiklemektir.\n# E\u011fer \u015fablondaki yer tutucular\u0131 doldurmak istiyorsan\u0131z, e-posta i\u00e7eri\u011fine Campaign Monitor'\u0131n bekledi\u011fi \u00f6zel ba\u015fl\u0131klar\u0131 veya g\u00f6vde format\u0131n\u0131 eklemeniz gerekebilir.\n# Campaign Monitor d\u00f6k\u00fcmantasyonunu kontrol etmek en do\u011frusudur.\n# Basitlik ad\u0131na, burada Campaign Monitor'\u0131n otomatik olarak \u015fablondaki [YerTutucu] de\u011ferlerini doldurdu\u011funu varsay\u0131yoruz.\n\n# MIMEText objesi olu\u015fturma\nmessage = MIMEMultipart(\"alternative\")\nmessage[\"From\"] = sender_email\nmessage[\"To\"] = receiver_email\nmessage[\"Subject\"] = subject\n\n# E-posta g\u00f6vdesini HTML olarak ekle\nmessage.attach(MIMEText(html_body, \"html\"))\n\ntry:\n    with smtplib.SMTP(SMTP_SERVER, SMTP_PORT) as server:\n        server.starttls()  # TLS g\u00fcvenli\u011fini ba\u015flat\n        server.login(SMTP_USERNAME, SMTP_PASSWORD)\n        server.sendmail(sender_email, receiver_email, message.as_string())\n    print(f\"E-posta {receiver_email} adresine ba\u015far\u0131yla g\u00f6nderildi.\")\nexcept Exception as e:\n    print(f\"E-posta g\u00f6nderiminde hata olu\u015ftu: {e}\")\n<\/pre>\n<p><\/code><\/p>\n<h4>2. Node.js ile SMTP E-posta G\u00f6nderimi (Nodemailer Kullan\u0131m\u0131)<\/h4>\n<p>Node.js ortam\u0131nda <code>nodemailer<\/code> k\u00fct\u00fcphanesi, SMTP ile e-posta g\u00f6ndermek i\u00e7in pop\u00fcler ve kullan\u0131m\u0131 kolay bir \u00e7\u00f6z\u00fcmd\u00fcr.<\/p>\n<pre><code class=\"language-javascript\">\nconst nodemailer = require('nodemailer');\nrequire('dotenv').config(); \/\/ Ortam de\u011fi\u015fkenlerini y\u00fcklemek i\u00e7in\n\n\/\/ Campaign Monitor SMTP Bilgileri\nconst smtpServer = process.env.CM_SMTP_SERVER || \"smtp.createsend.com\";\nconst smtpPort = process.env.CM_SMTP_PORT || 587;\nconst smtpUsername = process.env.CM_SMTP_USERNAME || \"YOUR_CM_SMTP_USERNAME\";\nconst smtpPassword = process.env.CM_SMTP_PASSWORD || \"YOUR_CM_SMTP_PASSWORD\";\n\nconst senderEmail = \"no-reply@example.com\";\nconst receiverEmail = \"alicierol@example.com\";\nconst subject = \"Sipari\u015f Onay\u0131: #[OrderID]\"; \/\/ Campaign Monitor \u015fablonunuzda bu yer tutucu kullan\u0131labilir\n\n\/\/ Campaign Monitor \u015fablonundaki yer tutucular i\u00e7in HTML i\u00e7eri\u011fi\nconst htmlBody = <code><html>\n  <body>\n    <p>Merhaba, <strong>[CustomerName]<\/strong>!<\/p>\n    <p>Sipari\u015finiz <strong>#[OrderID]<\/strong> ba\u015far\u0131yla al\u0131nd\u0131 ve i\u015fleniyor.<\/p>\n    <p>\u00dcr\u00fcnleriniz:<\/p>\n    <ul>\n      <li>Ak\u0131ll\u0131 Saat (1 adet) - 1500.00 TL<\/li>\n      <li>Bluetooth Kulakl\u0131k (2 adet) - 1600.00 TL<\/li>\n    <\/ul>\n    <p>Toplam Tutar: <strong>[TotalAmount] TL<\/strong><\/p>\n    <p>Kargo Adresi: [ShippingAddress]<\/p>\n    <p>Bizi tercih etti\u011finiz i\u00e7in te\u015fekk\u00fcr ederiz!<\/p>\n  <\/body>\n<\/html><\/code>;\n\nasync function sendTransactionalEmail() {\n  let transporter = nodemailer.createTransport({\n    host: smtpServer,\n    port: smtpPort,\n    secure: false, \/\/ true for 465, false for other ports\n    auth: {\n      user: smtpUsername,\n      pass: smtpPassword,\n    },\n    tls: {\n      ciphers:'SSLv3'\n    }\n  });\n\n  try {\n    let info = await transporter.sendMail({\n      from: <code>\"${senderEmail}\" <${senderEmail}><\/code>, \/\/ sender address\n      to: receiverEmail, \/\/ list of receivers\n      subject: subject, \/\/ Subject line\n      html: htmlBody, \/\/ html body\n      \/\/ Campaign Monitor ile SMTP \u00fczerinden dinamik veri g\u00f6ndermek i\u00e7in\n      \/\/ genellikle \u00f6zel ba\u015fl\u0131klar (custom headers) kullan\u0131l\u0131r veya \u015fablonun kendisi veriyi ayr\u0131\u015ft\u0131r\u0131r.\n      \/\/ \u00d6rne\u011fin: 'X-CM-CustomerName': 'Alici Erol', 'X-CM-OrderID': 'CM-12345'\n      \/\/ Daha kesin bilgi i\u00e7in Campaign Monitor dok\u00fcmantasyonuna bak\u0131n\u0131z.\n    });\n    console.log(\"E-posta ba\u015far\u0131yla g\u00f6nderildi: %s\", info.messageId);\n  } catch (error) {\n    console.error(\"E-posta g\u00f6nderiminde hata olu\u015ftu:\", error);\n  }\n}\n\nsendTransactionalEmail();\n<\/pre>\n<p><\/code><\/p>\n<p>Her iki \u00f6rnekte de, <code>[YerTutucu]<\/code> format\u0131ndaki ifadelerin Campaign Monitor \u015fablonunuzda tan\u0131ml\u0131 olmas\u0131 ve Campaign Monitor'\u0131n bu yer tutucular\u0131 otomatik olarak dolduracak \u015fekilde yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131ndan emin olman\u0131z gerekmektedir. E\u011fer \u015fablona dinamik veri eklemeniz gerekiyorsa, Campaign Monitor'\u0131n transactional e-posta dok\u00fcmantasyonunu kontrol ederek SMTP \u00fczerinden \u00f6zel ba\u015fl\u0131klar veya belirli bir JSON format\u0131n\u0131 nas\u0131l g\u00f6ndermeniz gerekti\u011fini \u00f6\u011frenmelisiniz. Genellikle, basit metin veya HTML e-postalar\u0131 do\u011frudan g\u00f6nderilirken, Campaign Monitor taraf\u0131nda \u00f6nceden olu\u015fturulmu\u015f bir \u015fablonun tetiklenmesi ve i\u00e7indeki yer tutucular\u0131n doldurulmas\u0131 tercih edilen y\u00f6ntemdir. Bu y\u00f6ntem, uygulaman\u0131z\u0131n e-posta g\u00f6nderme mant\u0131\u011f\u0131n\u0131 basitle\u015ftirir ve Campaign Monitor'\u0131n g\u00fc\u00e7l\u00fc teslim edilebilirlik altyap\u0131s\u0131ndan tam olarak yararlanman\u0131z\u0131 sa\u011flar.<\/p>\n<hr>\n<h2>Mobil Uyumlu ve Duyarl\u0131 E-posta \u015eablonlar\u0131 Nas\u0131l Olu\u015fturulur?<\/h2>\n<p>G\u00fcn\u00fcm\u00fczde kullan\u0131c\u0131lar\u0131n b\u00fcy\u00fck bir \u00e7o\u011funlu\u011fu e-postalar\u0131n\u0131 mobil cihazlar\u0131ndan kontrol ediyor. Bu nedenle, i\u015flemsel e-postalar\u0131n\u0131z\u0131n da mobil uyumlu ve duyarl\u0131 olmas\u0131, m\u00fc\u015fteri deneyimi a\u00e7\u0131s\u0131ndan hayati \u00f6neme sahiptir. Bozuk g\u00f6r\u00fcnt\u00fcler, okunaks\u0131z metinler veya kayan d\u00fczenler, markan\u0131z\u0131n profesyonelli\u011fine g\u00f6lge d\u00fc\u015f\u00fcr\u00fcr ve kullan\u0131c\u0131n\u0131n kritik bilgiyi almas\u0131n\u0131 zorla\u015ft\u0131r\u0131r. Campaign Monitor, bu konuda size yard\u0131mc\u0131 olacak ara\u00e7lar sunsa da, temel prensipleri bilmek ve \u015fablonlar\u0131n\u0131z\u0131 buna g\u00f6re tasarlamak b\u00fcy\u00fck fark yarat\u0131r.<\/p>\n<h3>E-posta Tasar\u0131m\u0131nda Duyarl\u0131l\u0131k Neden \u00d6nemli?<\/h3>\n<p>Duyarl\u0131 e-posta tasar\u0131m\u0131, e-postan\u0131z\u0131n i\u00e7eri\u011finin ve d\u00fczeninin, g\u00f6r\u00fcnt\u00fclendi\u011fi cihaz\u0131n ekran boyutuna g\u00f6re otomatik olarak ayarlanmas\u0131 anlam\u0131na gelir. Masa\u00fcst\u00fc, tablet veya ak\u0131ll\u0131 telefon fark etmeksizin, e-postan\u0131z\u0131n her cihazda estetik ve i\u015flevsel olmas\u0131n\u0131 sa\u011flar. Bu, yaln\u0131zca daha iyi bir g\u00f6rsel deneyim sunmakla kalmaz, ayn\u0131 zamanda kullan\u0131c\u0131n\u0131n e-postadaki \u00f6nemli bilgilere (\u00f6rn. sipari\u015f detay\u0131, parola s\u0131f\u0131rlama d\u00fc\u011fmesi) kolayca eri\u015fmesini sa\u011flar.<\/p>\n<h3>Duyarl\u0131 Tasar\u0131m\u0131n Temel Prensipleri ve HTML & CSS \u0130pu\u00e7lar\u0131<\/h3>\n<p>E-posta \u015fablonlar\u0131 tasarlarken dikkat etmeniz gereken baz\u0131 temel prensipler ve teknik ipu\u00e7lar\u0131 \u015funlard\u0131r:<\/p>\n<ol>\n<li><strong>Tablo Bazl\u0131 D\u00fczen (Table-Based Layouts):<\/strong>\n<p>Web tasar\u0131m\u0131 modern CSS Grid ve Flexbox'a ge\u00e7erken, e-posta \u015fablonlar\u0131 hala <code><\/p>\n<table><\/code> tabanl\u0131 d\u00fczenleri kullanma e\u011filimindedir. Bunun nedeni, farkl\u0131 e-posta istemcilerinin (Outlook, Gmail, Apple Mail vb.) CSS deste\u011finin tutars\u0131z olmas\u0131d\u0131r. Tablolar, en geni\u015f istemci yelpazesinde tutarl\u0131 bir d\u00fczen sa\u011flar. \u0130\u00e7 i\u00e7e tablolar kullanarak karma\u015f\u0131k d\u00fczenler olu\u015fturabilirsiniz.<\/p>\n<pre><code class=\"language-html\">\n<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n  <tr>\n    <td align=\"center\" style=\"padding: 20px;\">\n      <table width=\"600\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"container\">\n        <tr>\n          <td bgcolor=\"#ffffff\" style=\"padding: 20px;\">\n            <h1 style=\"font-family: Arial, sans-serif; font-size: 24px; color: #333;\">Sipari\u015f Onay\u0131n\u0131z<\/h1>\n            <p style=\"font-family: Arial, sans-serif; font-size: 16px; line-height: 1.5;\">Merhaba, <strong>[CustomerName]<\/strong>!<\/p>\n            <p style=\"font-family: Arial, sans-serif; font-size: 16px; line-height: 1.5;\">Sipari\u015finiz <strong>#[OrderID]<\/strong> ba\u015far\u0131yla al\u0131nd\u0131.<\/p>\n          <\/td>\n        <\/tr>\n      <\/table>\n    <\/td>\n  <\/tr>\n<\/table>\n        <\/pre>\n<p><\/code>\n    <\/li>\n<li><strong>Inline CSS Kullan\u0131m\u0131:<\/strong>\n<p>E-posta istemcilerinin \u00e7o\u011fu, <code><\/p>\n<style><\/code> etiketleri i\u00e7indeki veya harici CSS dosyalar\u0131ndaki stilleri d\u00fczg\u00fcn bir \u015fekilde i\u015flemez. Bu nedenle, CSS'inizi m\u00fcmk\u00fcn oldu\u011funca do\u011frudan HTML etiketlerinin <code>style<\/code> niteli\u011fine yazman\u0131z (inline CSS) \u00f6nerilir. <code>Campaign Monitor<\/code>, \u015fablonlar\u0131 g\u00f6nderirken genellikle otomatik olarak CSS'i inline hale getirme (inliner) \u00f6zelli\u011fi sunar, ancak manuel olarak da bu y\u00f6ntemi uygulayabilirsiniz.<\/p>\n<p><strong>\u00d6rnek:<\/strong> <code><\/p>\n<p style=\"font-family: Arial, sans-serif; font-size: 16px; color: #333333;\"><\/code><\/p>\n<\/li>\n<li><strong>G\u00f6rsellerin Optimizasyonu:<\/strong>\n<p>G\u00f6rsellerin y\u00fckseklik ve geni\u015flik niteliklerini HTML i\u00e7inde belirtin (<code>width=\"X\" height=\"Y\"<\/code>). B\u00fcy\u00fck dosya boyutlar\u0131ndan ka\u00e7\u0131n\u0131n ve g\u00f6rseller i\u00e7in <code>alt<\/code> metni eklemeyi unutmay\u0131n. Mobil cihazlarda geni\u015f g\u00f6rsellerin ta\u015fmas\u0131n\u0131 \u00f6nlemek i\u00e7in CSS ile <code>max-width: 100%; height: auto;<\/code> kullanabilirsiniz.<\/p>\n<pre><code class=\"language-html\">\n<img decoding=\"async\" src=\"[LogoURL]\" alt=\"\u015eirket Logosu\" width=\"150\" style=\"display: block; border: 0; max-width: 100%; height: auto;\">\n        <\/pre>\n<p><\/code>\n    <\/li>\n<li><strong>Meta Viewport Etiketi:<\/strong>\n<p>E-posta istemcilerinin mobil cihazlarda e-postay\u0131 do\u011fru \u015fekilde \u00f6l\u00e7eklemesi i\u00e7in <code><head><\/code> b\u00f6l\u00fcm\u00fcne viewport etiketi ekleyin. Bu, e-postan\u0131n cihaz\u0131n geni\u015fli\u011fine uyum sa\u011flamas\u0131n\u0131 ve ilk y\u00fcklemede kayd\u0131rma \u00e7ubuklar\u0131n\u0131n g\u00f6r\u00fcnmemesini sa\u011flar.<\/p>\n<pre><code class=\"language-html\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n        <\/pre>\n<p><\/code>\n    <\/li>\n<li><strong><code>@media<\/code> Query \u00d6rnekleri ile Duyarl\u0131l\u0131k:<\/strong>\n<p>E-posta istemcilerinin tamam\u0131 <code>@media<\/code> query'leri desteklemese de, modern istemcilerde (Apple Mail, Gmail uygulamas\u0131 vb.) duyarl\u0131 davran\u0131\u015flar sa\u011flamak i\u00e7in kritik \u00f6neme sahiptir. <code><\/p>\n<style><\/code> etiketi i\u00e7inde <code>@media<\/code> kurallar\u0131 tan\u0131mlayarak belirli ekran boyutlar\u0131 i\u00e7in farkl\u0131 stiller uygulayabilirsiniz. Bu stilleri, e-posta g\u00f6nderilirken Campaign Monitor'\u0131n inliner'\u0131 taraf\u0131ndan korunmas\u0131 i\u00e7in genellikle <code><head><\/code> b\u00f6l\u00fcm\u00fcnde tutmak daha iyidir.<\/p>\n<pre><code class=\"language-html\">\n<style type=\"text\/css\">\n  \/* Genel stiller *\/\n  body {\n    margin: 0;\n    padding: 0;\n    -webkit-text-size-adjust: 100%;\n    -ms-text-size-adjust: 100%;\n  }\n  table {\n    border-spacing: 0;\n  }\n  td {\n    padding: 0;\n  }\n  img {\n    border: 0;\n  }\n  .wrapper {\n    width: 100%;\n    table-layout: fixed;\n    -webkit-text-size-adjust: 100%;\n    -ms-text-size-adjust: 100%;\n  }\n  .webkit {\n    max-width: 600px;\n    margin: 0 auto;\n  }\n  \n  \/* Mobil i\u00e7in medya sorgular\u0131 *\/\n  @media screen and (max-width: 600px) {\n    .container {\n      width: 100% !important; \/* Masa\u00fcst\u00fc geni\u015fli\u011fini mobil cihazda tam geni\u015flik yapar *\/\n    }\n    .full-width {\n      width: 100% !important;\n      display: block !important;\n    }\n    .mobile-padding {\n      padding-left: 10px !important;\n      padding-right: 10px !important;\n    }\n    .mobile-hidden {\n      display: none !important;\n    }\n    .two-column .column {\n      width: 100% !important;\n      display: block !important;\n      text-align: center !important;\n    }\n  }\n<\/style>\n        <\/pre>\n<p><\/code><\/p>\n<p>Yukar\u0131daki <code>@media<\/code> sorgusu, ekran geni\u015fli\u011fi 600 pikselin alt\u0131na d\u00fc\u015ft\u00fc\u011f\u00fcnde <code>.container<\/code> s\u0131n\u0131f\u0131na sahip tablolar\u0131n geni\u015fli\u011fini %100'e \u00e7\u0131kar\u0131r ve iki s\u00fctunlu d\u00fczenleri tek s\u00fctuna d\u00f6n\u00fc\u015ft\u00fcr\u00fcr. Bu \u015fekilde, i\u00e7eri\u011finiz mobil cihazlarda daha okunakl\u0131 ve d\u00fczenli g\u00f6r\u00fcn\u00fcr.<\/p>\n<\/li>\n<li><strong>Basit ve Okunakl\u0131 Fontlar:<\/strong>\n<p>T\u00fcm e-posta istemcilerinde desteklenen web-safe fontlar (Arial, Helvetica, Tahoma, Georgia, Times New Roman vb.) kullan\u0131n. Font boyutlar\u0131n\u0131n mobil cihazlarda da rahat okunabilir oldu\u011fundan emin olun (genellikle 14-16px aras\u0131). Sat\u0131r aral\u0131\u011f\u0131n\u0131 (<code>line-height<\/code>) art\u0131rmak da okunakl\u0131\u011f\u0131 geli\u015ftirir.<\/p>\n<\/li>\n<li><strong>CTA Butonlar\u0131n\u0131n G\u00f6r\u00fcn\u00fcrl\u00fc\u011f\u00fc:<\/strong>\n<p>E-postan\u0131zdaki harekete ge\u00e7irici mesaj (Call-to-Action - CTA) butonlar\u0131, mobil cihazlarda da kolayca t\u0131klanabilir b\u00fcy\u00fckl\u00fckte olmal\u0131 ve yeterli bo\u015flu\u011fa sahip olmal\u0131d\u0131r. Genellikle <code>display: block;<\/code> ve <code>padding<\/code> kullanarak geni\u015f, dokunmas\u0131 kolay butonlar olu\u015fturabilirsiniz.<\/p>\n<\/li>\n<\/ol>\n<p>Campaign Monitor'\u0131n kendi \u015fablon olu\u015fturucusunu kullan\u0131yorsan\u0131z, bu ara\u00e7lar genellikle arka planda bu prensipleri uygular. Ancak \u00f6zel HTML \u015fablonlar\u0131 y\u00fckl\u00fcyorsan\u0131z, yukar\u0131daki ipu\u00e7lar\u0131na dikkat etmeniz, i\u015flemsel e-postalar\u0131n\u0131z\u0131n her kullan\u0131c\u0131 i\u00e7in en iyi deneyimi sunmas\u0131n\u0131 sa\u011flayacakt\u0131r. Test etmek i\u00e7in farkl\u0131 e-posta istemcileri ve cihazlarda \u00f6nizleme yapmay\u0131 unutmay\u0131n.<\/p>\n<hr>\n<h2>Ger\u00e7ek D\u00fcnya Senaryosu: E-ticaret Sitesinde Sipari\u015f Onay\u0131 Entegrasyonu (Vaka Analizi)<\/h2>\n<p>\u015eimdiye kadar teorik bilgileri ve temel entegrasyon y\u00f6ntemlerini ele ald\u0131k. Gelin, bu bilgileri ger\u00e7ek bir d\u00fcnya senaryosuna uygulayal\u0131m: Bir e-ticaret sitesinde m\u00fc\u015fteriye an\u0131nda sipari\u015f onay\u0131 e-postas\u0131 g\u00f6nderme s\u00fcreci.<\/p>\n<h3>Senaryo Detay\u0131<\/h3>\n<p>Bir m\u00fc\u015fterimiz olan \"Trend Al\u0131\u015fveri\u015f\" ad\u0131nda bir e-ticaret \u015firketi var. M\u00fc\u015fteriler sepete \u00fcr\u00fcn ekleyip \u00f6deme i\u015flemini ba\u015far\u0131yla tamamlad\u0131\u011f\u0131nda, Trend Al\u0131\u015fveri\u015f sisteminin an\u0131nda, ki\u015fiselle\u015ftirilmi\u015f bir sipari\u015f onay\u0131 e-postas\u0131 g\u00f6ndermesi gerekiyor. Bu e-posta, m\u00fc\u015fterinin ad\u0131n\u0131, sipari\u015f numaras\u0131n\u0131, sat\u0131n al\u0131nan \u00fcr\u00fcnlerin listesini, toplam tutar\u0131 ve kargo adresini i\u00e7ermeli. Ayr\u0131ca, e-postan\u0131n mobil uyumlu olmas\u0131 ve markan\u0131n kurumsal kimli\u011fini yans\u0131tmas\u0131 da \u00f6nemli.<\/p>\n<h3>Entegrasyon Ak\u0131\u015f\u0131<\/h3>\n<p>Bu senaryo i\u00e7in a\u015fa\u011f\u0131daki ak\u0131\u015f\u0131 izleyebiliriz:<\/p>\n<ol>\n<li><strong>M\u00fc\u015fteri Sipari\u015fi Tamamlar:<\/strong> Web sitesinde m\u00fc\u015fteri \u00f6deme i\u015flemini ba\u015far\u0131yla tamamlar.<\/li>\n<li><strong>Sipari\u015f Veritaban\u0131na Kaydedilir:<\/strong> E-ticaret sistemi (\u00f6rn. bir Laravel veya Node.js backend) sipari\u015f bilgilerini veritaban\u0131na kaydeder.<\/li>\n<li><strong>E-posta G\u00f6nderim Tetikleyicisi:<\/strong> Sipari\u015fin ba\u015far\u0131yla kaydedilmesi, bir Campaign Monitor i\u015flemsel e-postas\u0131 g\u00f6nderme eylemini tetikler. Bu, backend uygulamas\u0131nda bir fonksiyona yap\u0131lan \u00e7a\u011fr\u0131 olabilir.<\/li>\n<li><strong>Campaign Monitor'a Veri G\u00f6nderimi:<\/strong> Uygulama, m\u00fc\u015fteri ve sipari\u015f bilgilerini Campaign Monitor API'si veya SMTP arac\u0131l\u0131\u011f\u0131yla g\u00f6nderir. Bu veriler aras\u0131nda <code>CustomerName<\/code>, <code>OrderID<\/code>, <code>ProductList<\/code> (\u00fcr\u00fcn ad\u0131, miktar\u0131, fiyat\u0131), <code>TotalAmount<\/code>, <code>ShippingAddress<\/code> gibi dinamik alanlar bulunur.<\/li>\n<li><strong>Campaign Monitor E-postay\u0131 \u0130\u015fler:<\/strong> Campaign Monitor, gelen veriyi \u00f6nceden tan\u0131mlanm\u0131\u015f \"Sipari\u015f Onay\u0131\" \u015fablonuyla e\u015fle\u015ftirir, dinamik alanlar\u0131 doldurur ve e-postay\u0131 m\u00fc\u015fterinin gelen kutusuna saniyeler i\u00e7inde g\u00f6nderir.<\/li>\n<li><strong>M\u00fc\u015fteri Onay E-postas\u0131n\u0131 Al\u0131r:<\/strong> M\u00fc\u015fteri, ki\u015fiselle\u015ftirilmi\u015f ve marka kimli\u011fine uygun, mobil uyumlu e-postay\u0131 al\u0131r.<\/li>\n<\/ol>\n<h3>API mi, SMTP mi Tercih Edilmeli ve Neden?<\/h3>\n<p>Bu senaryoda hem API hem de SMTP kullan\u0131labilir, ancak <strong>API entegrasyonu daha avantajl\u0131 olacakt\u0131r<\/strong>:<\/p>\n<ul>\n<li><strong>API Avantajlar\u0131:<\/strong>\n<ul>\n<li><strong>Dinamik \u0130\u00e7erik Y\u00f6netimi:<\/strong> API, <code>ProductList<\/code> gibi karma\u015f\u0131k veri yap\u0131lar\u0131n\u0131 (listeler, objeler) do\u011frudan JSON payload olarak g\u00f6ndermeye ve bunlar\u0131 Campaign Monitor'\u0131n \u015fablon motorundaki tekrarlay\u0131c\u0131 (repeater) veya d\u00f6ng\u00fc (loop) yap\u0131lar\u0131yla i\u015flemeye daha uygundur. SMTP ile bu t\u00fcr yap\u0131lar\u0131 do\u011frudan g\u00f6ndermek zorlay\u0131c\u0131 olabilir ve e-posta g\u00f6vdesini manuel olarak olu\u015fturmay\u0131 gerektirebilir.<\/li>\n<li><strong>Daha G\u00fc\u00e7l\u00fc Raporlama ve Kontrol:<\/strong> API, g\u00f6nderim durumunu izleme, hata y\u00f6netimi ve teslimat raporlar\u0131na daha derinlemesine eri\u015fim sa\u011flar. Campaign Monitor, hangi e-postan\u0131n g\u00f6nderildi\u011fini, a\u00e7\u0131ld\u0131\u011f\u0131n\u0131, t\u0131kland\u0131\u011f\u0131n\u0131 API \u00fczerinden geri bildirim olarak verebilir (webhook'lar arac\u0131l\u0131\u011f\u0131yla).<\/li>\n<li><strong>Geli\u015fmi\u015f \u00d6zellikler:<\/strong> Gelecekte A\/B testi, e-posta tetikleyicilerini y\u00f6netme veya di\u011fer Campaign Monitor \u00f6zellikleriyle entegrasyon ihtiyac\u0131 do\u011farsa, API daha esnektir.<\/li>\n<\/ul>\n<\/li>\n<li><strong>SMTP'nin S\u0131n\u0131rl\u0131l\u0131klar\u0131 (Bu Senaryo \u0130\u00e7in):<\/strong>\n<p>SMTP ile HTML e-postas\u0131 g\u00f6nderirken, <code>ProductList<\/code> gibi dinamik bir listeyi do\u011frudan e-posta g\u00f6vdesine g\u00f6mmek ve Campaign Monitor'\u0131n bunu ayr\u0131\u015ft\u0131rmas\u0131n\u0131 beklemek daha karma\u015f\u0131k olabilir. Genellikle SMTP, tekil metin tabanl\u0131 yer tutucular\u0131 doldurmak i\u00e7in daha uygundur. Karma\u015f\u0131k veri yap\u0131lar\u0131n\u0131 i\u015flemek i\u00e7in ya API'ye y\u00f6nelmek ya da e-posta i\u00e7eri\u011fini backend uygulamas\u0131nda tam olarak HTML olarak olu\u015fturup g\u00f6ndermek gerekir ki bu da Campaign Monitor'\u0131n \u015fablon motorunun g\u00fcc\u00fcnden tam yararlan\u0131lamamas\u0131na neden olur.<\/p>\n<\/li>\n<\/ul>\n<p>Bu nedenle, Trend Al\u0131\u015fveri\u015f senaryosunda <strong>Campaign Monitor API'si<\/strong> tercih edilmelidir.<\/p>\n<h3>Uygulamal\u0131 Kod Snippet (Python ile API)<\/h3>\n<p>Trend Al\u0131\u015fveri\u015f'in Python tabanl\u0131 bir backend'i oldu\u011funu varsayal\u0131m. Sipari\u015f tamamland\u0131\u011f\u0131nda \u00e7al\u0131\u015facak \u00f6rnek bir fonksiyon:<\/p>\n<pre><code class=\"language-python\">\nimport os\nfrom campaignmonitor import CampaignMonitorAPI # Varsay\u0131msal k\u00fct\u00fcphane\nimport json\n\n# Ortam de\u011fi\u015fkenlerinden API anahtar\u0131 ve istemci ID'si\nAPI_KEY = os.environ.get(\"CAMPAIGN_MONITOR_API_KEY\")\nTRANSACTIONAL_EMAIL_CLIENT_ID = os.environ.get(\"CAMPAIGN_MONITOR_TRANSACTIONAL_CLIENT_ID\")\nORDER_CONFIRMATION_SMART_EMAIL_ID = \"YOUR_ORDER_CONF_TEMPLATE_ID\" # Campaign Monitor'dan al\u0131nacak\n\ncm_api = CampaignMonitorAPI(api_key=API_KEY)\n\ndef send_order_confirmation_email(order_data):\n    \"\"\"\n    Sipari\u015f verilerini kullanarak Campaign Monitor \u00fczerinden sipari\u015f onay\u0131 e-postas\u0131 g\u00f6nderir.\n    :param order_data: M\u00fc\u015fteri ve sipari\u015f detaylar\u0131n\u0131 i\u00e7eren bir s\u00f6zl\u00fck.\n    \"\"\"\n    try:\n        recipient_email = order_data[\"customer_email\"]\n        recipient_name = order_data[\"customer_name\"]\n        \n        # Campaign Monitor \u015fablonundaki yer tutuculara e\u015fle\u015fecek dinamik veriler\n        # Bu anahtarlar Campaign Monitor'daki \u015fablonunuzda tan\u0131mlanmal\u0131d\u0131r (\u00f6rn. [CustomerName])\n        custom_fields = {\n            \"CustomerName\": recipient_name,\n            \"OrderID\": order_data[\"order_id\"],\n            \"ProductList\": [\n                {\"Name\": item[\"name\"], \"Quantity\": item[\"quantity\"], \"Price\": item[\"price\"]}\n                for item in order_data[\"items\"]\n            ],\n            \"ShippingAddress\": order_data[\"shipping_address\"],\n            \"TotalAmount\": order_data[\"total_amount\"]\n        }\n\n        # API \u00e7a\u011fr\u0131s\u0131 ile e-postay\u0131 g\u00f6nder\n        response = cm_api.transactional.send_smart_email(\n            client_id=TRANSACTIONAL_EMAIL_CLIENT_ID,\n            smart_email_id=ORDER_CONFIRMATION_SMART_EMAIL_ID,\n            to=recipient_email,\n            data=custom_fields,\n            from_name=\"Trend Al\u0131\u015fveri\u015f Destek\",\n            subject=f\"Sipari\u015finiz Onayland\u0131: #{order_data['order_id']} - Trend Al\u0131\u015fveri\u015f\"\n        )\n\n        if response.status_code == 200:\n            print(f\"Sipari\u015f onay\u0131 e-postas\u0131 {recipient_email} adresine ba\u015far\u0131yla g\u00f6nderildi. Mesaj ID: {response.json().get('MessageID')}\")\n            return True\n        else:\n            print(f\"E-posta g\u00f6nderilirken hata olu\u015ftu ({response.status_code}): {response.text}\")\n            return False\n\n    except Exception as e:\n        print(f\"Sipari\u015f onay\u0131 e-postas\u0131 g\u00f6nderiminde istisna olu\u015ftu: {e}\")\n        return False\n\n# \u00d6rnek kullan\u0131m:\nif __name__ == \"__main__\":\n    sample_order = {\n        \"customer_email\": \"aysegul.yilmaz@example.com\",\n        \"customer_name\": \"Ay\u015feg\u00fcl Y\u0131lmaz\",\n        \"order_id\": \"TA-987654\",\n        \"items\": [\n            {\"name\": \"Diz\u00fcst\u00fc Bilgisayar\", \"quantity\": 1, \"price\": 12500.00},\n            {\"name\": \"Kablosuz Mouse\", \"quantity\": 1, \"price\": 250.00}\n        ],\n        \"shipping_address\": \"Atat\u00fcrk Cad. No:50, Ankara\",\n        \"total_amount\": 12750.00\n    }\n\n    # Bu fonksiyon, sipari\u015f ba\u015far\u0131yla veritaban\u0131na kaydedildikten sonra \u00e7a\u011fr\u0131lacakt\u0131r.\n    if send_order_confirmation_email(sample_order):\n        print(\"Sipari\u015f onay\u0131 s\u00fcreci tamamland\u0131.\")\n    else:\n        print(\"Sipari\u015f onay\u0131 e-postas\u0131 g\u00f6nderilemedi.\")\n\n<\/pre>\n<p><\/code><\/p>\n<p>Bu vaka analizi, Campaign Monitor'\u0131n i\u015flemsel e-posta entegrasyonunun bir e-ticaret senaryosunda nas\u0131l kullan\u0131labilece\u011fini g\u00f6stermektedir. Do\u011fru planlama ve API kullan\u0131m\u0131n\u0131n sa\u011flad\u0131\u011f\u0131 esneklik sayesinde, Trend Al\u0131\u015fveri\u015f gibi \u015firketler, m\u00fc\u015fteri ileti\u015fimlerini otomatikle\u015ftirerek hem operasyonel y\u00fck\u00fc azaltabilir hem de m\u00fc\u015fteri memnuniyetini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rabilir.<\/p>\n<hr>\n<h2>\u0130leri D\u00fczey \u0130pu\u00e7lar\u0131: \u00d6l\u00e7eklenebilirlik, G\u00fcvenlik ve Performans Nas\u0131l Art\u0131r\u0131l\u0131r?<\/h2>\n<p>Campaign Monitor Smart Emails entegrasyonunuzu temel d\u00fczeyde kurduktan sonra, sisteminizin b\u00fcy\u00fcme potansiyelini, g\u00fcvenli\u011fini ve operasyonel verimlili\u011fini art\u0131rmak i\u00e7in baz\u0131 ileri d\u00fczey stratejileri g\u00f6z \u00f6n\u00fcnde bulundurman\u0131z \u00f6nemlidir. Bu ipu\u00e7lar\u0131, sisteminizi daha sa\u011flam ve y\u00f6netilebilir hale getirecektir.<\/p>\n<h3>1. Hata Y\u00f6netimi ve Kapsaml\u0131 G\u00fcnl\u00fckleme (Logging)<\/h3>\n<p>Herhangi bir harici servis entegrasyonunda hatalar ka\u00e7\u0131n\u0131lmazd\u0131r. API \u00e7a\u011fr\u0131s\u0131 s\u0131ras\u0131nda a\u011f sorunlar\u0131, yanl\u0131\u015f veri formatlar\u0131 veya Campaign Monitor taraf\u0131ndaki ge\u00e7ici sorunlar e-postalar\u0131n g\u00f6nderilememesine neden olabilir. Bu nedenle, kapsaml\u0131 hata y\u00f6netimi ve g\u00fcnl\u00fckleme mekanizmalar\u0131 kurmak hayati \u00f6nem ta\u015f\u0131r:<\/p>\n<ul>\n<li><strong><code>try-except<\/code> Bloklar\u0131:<\/strong> T\u00fcm API ve SMTP \u00e7a\u011fr\u0131lar\u0131n\u0131 <code>try-except<\/code> bloklar\u0131 i\u00e7ine alarak beklenmedik hatalar\u0131 yakalay\u0131n.<\/li>\n<li><strong>Detayl\u0131 G\u00fcnl\u00fckleme:<\/strong> G\u00f6nderilen her e-posta talebinin (al\u0131c\u0131, \u015fablon ID'si, payload) ve Campaign Monitor'dan d\u00f6nen yan\u0131t\u0131n (ba\u015far\u0131 kodu, hata mesaj\u0131, mesaj ID'si) g\u00fcnl\u00fcklerini tutun. Bu g\u00fcnl\u00fckler, sorun giderme ve ge\u00e7mi\u015f analizi i\u00e7in paha bi\u00e7ilmezdir. Log seviyelerini (INFO, WARNING, ERROR) do\u011fru kullanarak kritik sorunlar\u0131 h\u0131zl\u0131ca tespit edin.<\/li>\n<li><strong>Tekrar Deneme Mekanizmalar\u0131 (Retry Logic):<\/strong> Ge\u00e7ici a\u011f sorunlar\u0131 veya servis kesintileri durumunda, e-posta g\u00f6nderimini belirli aral\u0131klarla (\u00f6rn. \u00fcstel geri \u00e7ekilme - exponential backoff) otomatik olarak tekrar deneyin. Bu, ge\u00e7ici sorunlardan kaynaklanan ba\u015far\u0131s\u0131zl\u0131klar\u0131 azalt\u0131r.<\/li>\n<\/ul>\n<h3>2. Webhook'lar ile Geri Bildirimleri \u0130zleme<\/h3>\n<p>Campaign Monitor, g\u00f6nderdi\u011finiz e-postalar\u0131n durumu hakk\u0131nda size geri bildirim sa\u011flamak i\u00e7in webhook'lar\u0131 kullanma imkan\u0131 sunar. Webhook'lar, Campaign Monitor'da belirli bir olay (\u00f6rn. e-posta teslim edildi, a\u00e7\u0131ld\u0131, t\u0131kland\u0131, s\u0131\u00e7rad\u0131, \u015fikayet edildi) meydana geldi\u011finde uygulaman\u0131zdaki belirli bir URL'ye HTTP POST iste\u011fi g\u00f6nderen otomatik bildirimlerdir.<\/p>\n<ul>\n<li><strong>Faydalar\u0131:<\/strong> Ger\u00e7ek zamanl\u0131 olarak e-posta performans\u0131n\u0131 izleyebilir, kullan\u0131c\u0131lar\u0131n e-postalarla nas\u0131l etkile\u015fim kurdu\u011funu anlayabilir ve buna g\u00f6re aksiyonlar alabilirsiniz (\u00f6rn. teslim edilemeyen e-posta adreslerini temizleme, a\u00e7mayan kullan\u0131c\u0131lara farkl\u0131 bir kanal \u00fczerinden ula\u015fma).<\/li>\n<li><strong>Uygulama:<\/strong> Campaign Monitor panelinde bir webhook URL'si (uygulaman\u0131z\u0131n API endpoint'i) tan\u0131mlay\u0131n. Uygulaman\u0131z bu URL'ye gelen POST isteklerini dinlemeli, gelen JSON payload'unu ayr\u0131\u015ft\u0131rmal\u0131 ve gerekli i\u015flemleri yapmal\u0131d\u0131r.<\/li>\n<\/ul>\n<h3>3. Oran S\u0131n\u0131rlamas\u0131 (Rate Limiting) ve Kota Y\u00f6netimi<\/h3>\n<p>API ve SMTP servisleri genellikle belirli bir zaman diliminde g\u00f6nderebilece\u011finiz e-posta say\u0131s\u0131na veya yapabilece\u011finiz API \u00e7a\u011fr\u0131s\u0131 say\u0131s\u0131na s\u0131n\u0131rlamalar (rate limits) getirir. Bu limitlere ula\u015ft\u0131\u011f\u0131n\u0131zda talepleriniz reddedilebilir.<\/p>\n<ul>\n<li><strong>Planlama:<\/strong> \u0130\u015flemsel e-posta g\u00f6nderim hacminizi tahmin edin ve Campaign Monitor plan\u0131n\u0131z\u0131n bu hacmi kar\u015f\u0131layabildi\u011finden emin olun.<\/li>\n<li><strong>Uygulama Taraf\u0131nda Limitler:<\/strong> Uygulaman\u0131zda bir \"token bucket\" veya \"leaky bucket\" algoritmas\u0131 kullanarak API \u00e7a\u011fr\u0131lar\u0131n\u0131z\u0131 veya e-posta g\u00f6nderimlerinizi Campaign Monitor'\u0131n limitlerine uygun \u015fekilde k\u0131s\u0131tlay\u0131n. Bu, servis taraf\u0131nda <code>429 Too Many Requests<\/code> hatalar\u0131n\u0131 almay\u0131 \u00f6nler.<\/li>\n<\/ul>\n<h3>4. G\u00fcvenlik En \u0130yi Uygulamalar\u0131<\/h3>\n<p>API anahtarlar\u0131 ve SMTP kimlik bilgileri, uygulaman\u0131z\u0131n e-posta g\u00f6nderme yetkisine sahip oldu\u011fu kritik bilgilerdir. Bunlar\u0131 korumak b\u00fcy\u00fck \u00f6nem ta\u015f\u0131r:<\/p>\n<ul>\n<li><strong>Ortam De\u011fi\u015fkenleri:<\/strong> API anahtarlar\u0131n\u0131 ve \u015fifreleri do\u011frudan kod i\u00e7ine g\u00f6mmek yerine, i\u015fletim sistemi ortam de\u011fi\u015fkenleri veya gizli y\u00f6netim servisleri (\u00f6rn. AWS Secrets Manager, HashiCorp Vault) arac\u0131l\u0131\u011f\u0131yla eri\u015fin.<\/li>\n<li><strong>Eri\u015fim Kontrol\u00fc:<\/strong> Kimlik bilgilerine eri\u015fimi yaln\u0131zca yetkili sistemlere veya kullan\u0131c\u0131lara s\u0131n\u0131rland\u0131r\u0131n.<\/li>\n<li><strong>SSL\/TLS Kullan\u0131m\u0131:<\/strong> SMTP ba\u011flant\u0131lar\u0131nda her zaman SSL\/TLS \u015fifrelemesi kulland\u0131\u011f\u0131n\u0131zdan emin olun (port 587 i\u00e7in STARTTLS veya port 465 i\u00e7in SMTPS).<\/li>\n<\/ul>\n<h3>5. A\/B Testi \u0130pu\u00e7lar\u0131 (\u0130\u015flemsel E-postalar \u0130\u00e7in)<\/h3>\n<p>Pazarlama e-postalar\u0131nda A\/B testi yayg\u0131n olsa da, i\u015flemsel e-postalar i\u00e7in de de\u011ferli i\u00e7g\u00f6r\u00fcler sa\u011flayabilir:<\/p>\n<ul>\n<li><strong>Konu Sat\u0131r\u0131 Testi:<\/strong> Farkl\u0131 konu sat\u0131rlar\u0131 deneyerek a\u00e7\u0131lma oranlar\u0131n\u0131 art\u0131r\u0131n. \u00d6rne\u011fin, \"Sipari\u015f Onay\u0131: #123\" yerine \"Harika Se\u00e7im! Sipari\u015finiz Yolda: #123\".<\/li>\n<li><strong>CTA Buton Metni ve Konumu:<\/strong> Parola s\u0131f\u0131rlama veya hesap aktivasyon e-postalar\u0131ndaki d\u00fc\u011fmelerin metnini veya konumunu test ederek d\u00f6n\u00fc\u015f\u00fcm oranlar\u0131n\u0131 (\u00f6rn. parola s\u0131f\u0131rlama tamamlanma oranlar\u0131) iyile\u015ftirin.<\/li>\n<li><strong>Ki\u015fiselle\u015ftirme D\u00fczeyi:<\/strong> Farkl\u0131 ki\u015fiselle\u015ftirme d\u00fczeylerinin (daha fazla veya daha az dinamik i\u00e7erik) kullan\u0131c\u0131 etkile\u015fimi \u00fczerindeki etkisini \u00f6l\u00e7\u00fcn.<\/li>\n<\/ul>\n<p>Campaign Monitor, baz\u0131 A\/B testi \u00f6zelliklerini do\u011frudan sunabilir veya API arac\u0131l\u0131\u011f\u0131yla kendi test mant\u0131\u011f\u0131n\u0131z\u0131 uygulayabilirsiniz (\u00f6rn. kullan\u0131c\u0131lar\u0131 rastgele A veya B \u015fablonuna y\u00f6nlendirerek).<\/p>\n<h3>6. \u00d6l\u00e7eklenebilir Mimari \u00d6nerileri<\/h3>\n<p>G\u00f6nderim hacminiz artt\u0131k\u00e7a, e-posta g\u00f6nderme i\u015flemini ana uygulaman\u0131zdan ay\u0131rmak performans\u0131 art\u0131rabilir:<\/p>\n<ul>\n<li><strong>Asenkron \u0130\u015fleme:<\/strong> E-posta g\u00f6nderimini bir kuyru\u011fa (queue) al\u0131n (\u00f6rn. RabbitMQ, Redis Queue, AWS SQS) ve ayr\u0131 bir i\u015f\u00e7i s\u00fcreci (worker process) taraf\u0131ndan i\u015flenmesini sa\u011flay\u0131n. Bu, ana uygulaman\u0131z\u0131n yan\u0131t verme s\u00fcresini iyile\u015ftirir ve e-posta servisi kesintilerinden daha az etkilenmenizi sa\u011flar.<\/li>\n<li><strong>Mikroservis Yakla\u015f\u0131m\u0131:<\/strong> E-posta g\u00f6nderim i\u015flevini ayr\u0131 bir mikroservise d\u00f6n\u00fc\u015ft\u00fcrerek daha ba\u011f\u0131ms\u0131z bir \u015fekilde \u00f6l\u00e7eklenmesini ve y\u00f6netilmesini sa\u011flayabilirsiniz.<\/li>\n<\/ul>\n<p>Bu ileri d\u00fczey ipu\u00e7lar\u0131, Campaign Monitor Smart Emails entegrasyonunuzu sadece \u00e7al\u0131\u015f\u0131r hale getirmekle kalmayacak, ayn\u0131 zamanda onu daha g\u00fcvenilir, performansl\u0131 ve gelece\u011fe haz\u0131r bir \u00e7\u00f6z\u00fcm haline getirecektir. Her ad\u0131mda dikkatli planlama ve test, uzun vadeli ba\u015far\u0131 i\u00e7in anahtard\u0131r.<\/p>\n<hr>\n<h2>Sonu\u00e7: \u0130\u015flemsel E-postalar\u0131n Gelece\u011fi ve Sizin \u0130\u00e7in Anlam\u0131<\/h2>\n<p>Bu rehber boyunca, Campaign Monitor Smart Emails'in ne oldu\u011fundan, neden bu kadar kritik oldu\u011funa, nas\u0131l entegre edilece\u011fine ve ileri d\u00fczey optimizasyon stratejilerine kadar bir\u00e7ok konuyu ele ald\u0131k. G\u00f6rd\u00fc\u011f\u00fcm\u00fcz gibi, i\u015flemsel e-postalar sadece teknik bir gereklilik olman\u0131n \u00f6tesinde, m\u00fc\u015fteri memnuniyetini art\u0131ran, marka sadakatini peki\u015ftiren ve operasyonel verimlili\u011fi sa\u011flayan g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. An\u0131nda, g\u00fcvenilir ve ki\u015fiselle\u015ftirilmi\u015f bildirimler, m\u00fc\u015fterilerinizle aran\u0131zda g\u00fcven k\u00f6pr\u00fcs\u00fc kurar ve dijital etkile\u015fimlerinizin sorunsuz ilerlemesini garanti eder.<\/p>\n<p>Campaign Monitor'\u0131n API ve SMTP tabanl\u0131 \u00e7\u00f6z\u00fcmleri sayesinde, uygulaman\u0131z\u0131n tetikleyici olaylar\u0131na kolayca entegre olabilir ve her bir m\u00fc\u015fterinize \u00f6zel deneyimler sunabilirsiniz. Mobil uyumlu \u015fablonlar, e-postalar\u0131n\u0131z\u0131n her cihazda harika g\u00f6r\u00fcnmesini sa\u011flarken, kapsaml\u0131 hata y\u00f6netimi, g\u00fcvenlik \u00f6nlemleri ve \u00f6l\u00e7eklenebilirlik stratejileri, sisteminizin gelecekteki ihtiya\u00e7lar\u0131na haz\u0131r olmas\u0131n\u0131 sa\u011flar. Dijital d\u00fcnyada rekabet her ge\u00e7en g\u00fcn artarken, m\u00fc\u015fteri ileti\u015fimi konusundaki hassasiyetiniz sizi rakiplerinizden ayr\u0131\u015ft\u0131racakt\u0131r.<\/p>\n<p>\u0130\u015flemsel e-postalar\u0131n gelece\u011fi, yapay zeka destekli ki\u015fiselle\u015ftirme, daha ak\u0131ll\u0131 otomasyonlar ve \u00e7ok kanall\u0131 entegrasyonlarla daha da geli\u015fecektir. \u015eimdiden bu temelleri sa\u011flam bir \u015fekilde atmak, i\u015fletmenizin bu yeniliklere h\u0131zla adapte olmas\u0131n\u0131 sa\u011flayacakt\u0131r. Art\u0131k Campaign Monitor Smart Emails'i uygulaman\u0131za entegre etmek i\u00e7in gerekli bilgiye ve yol haritas\u0131na sahipsiniz. Hemen ilk ad\u0131m\u0131 at\u0131n ve m\u00fc\u015fteri ileti\u015fimlerinizi bir \u00fcst seviyeye ta\u015f\u0131y\u0131n!<\/p>\n<hr>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<h4>1. Campaign Monitor Smart Emails (Transactional) ile normal pazarlama e-postalar\u0131 aras\u0131ndaki temel fark nedir?<\/h4>\n<p><strong>Cevap:<\/strong> Temel fark ama\u00e7lar\u0131d\u0131r. Pazarlama e-postalar\u0131 genellikle tan\u0131t\u0131m ve sat\u0131\u015f odakl\u0131 olup geni\u015f kitlelere g\u00f6nderilirken, i\u015flemsel e-postalar belirli bir kullan\u0131c\u0131 eylemi veya tetikleyici sonucunda g\u00f6nderilen, birebir ve genellikle zaman a\u00e7\u0131s\u0131ndan kritik bildirimlerdir (\u00f6rn. sipari\u015f onay\u0131, parola s\u0131f\u0131rlama, hesap aktivasyonu). \u0130\u015flemsel e-postalar\u0131n teslim edilebilirli\u011fi ve h\u0131z\u0131 genellikle pazarlama e-postalar\u0131na g\u00f6re daha y\u00fcksektir.<\/p>\n<h4>2. Entegrasyon i\u00e7in API mi yoksa SMTP mi kullanmal\u0131y\u0131m?<\/h4>\n<p><strong>Cevap:<\/strong> Se\u00e7im, ihtiya\u00e7lar\u0131n\u0131za ba\u011fl\u0131d\u0131r. SMTP daha basit ve h\u0131zl\u0131 entegrasyon sunar, ancak daha az kontrol ve karma\u015f\u0131k dinamik veri i\u015fleme yetene\u011fi vard\u0131r. API ise daha fazla kontrol, detayl\u0131 raporlama, karma\u015f\u0131k veri yap\u0131lar\u0131n\u0131 i\u015fleme ve di\u011fer Campaign Monitor \u00f6zellikleriyle entegrasyon i\u00e7in idealdir. Genellikle, b\u00fcy\u00fck hacimli veya karma\u015f\u0131k ki\u015fiselle\u015ftirme gerektiren durumlar i\u00e7in API, daha basit bildirimler i\u00e7in SMTP tercih edilir.<\/p>\n<h4>3. E-postalar\u0131m\u0131n spam klas\u00f6r\u00fcne d\u00fc\u015fmesini nas\u0131l engellerim?<\/h4>\n<p><strong>Cevap:<\/strong> Spam'\u0131 \u00f6nlemek i\u00e7in en \u00f6nemli ad\u0131m, g\u00f6nderici alan ad\u0131n\u0131z\u0131 SPF ve DKIM kay\u0131tlar\u0131 ile do\u011frulamakt\u0131r. Ayr\u0131ca, e-postalar\u0131n\u0131z\u0131n i\u00e7eri\u011finin spam filtrelerini tetikleyecek kelimelerden ar\u0131nm\u0131\u015f, net ve alakal\u0131 oldu\u011fundan emin olun. Campaign Monitor gibi g\u00fcvenilir bir servis sa\u011flay\u0131c\u0131 kullanmak da y\u00fcksek teslim edilebilirli\u011fe katk\u0131da bulunur.<\/p>\n<h4>4. Campaign Monitor Smart Emails ile ki\u015fiselle\u015ftirme nas\u0131l yap\u0131l\u0131r?<\/h4>\n<p><strong>Cevap:<\/strong> Campaign Monitor \u015fablonlar\u0131n\u0131zda <code>[YerTutucuAd\u0131]<\/code> format\u0131nda dinamik alanlar tan\u0131mlayabilirsiniz. API veya SMTP arac\u0131l\u0131\u011f\u0131yla e-posta g\u00f6nderirken, bu yer tutuculara kar\u015f\u0131l\u0131k gelen verileri (JSON format\u0131nda veya SMTP e-posta i\u00e7eri\u011finde belirli bir formatta) Campaign Monitor'a iletirsiniz. Campaign Monitor, e-postay\u0131 g\u00f6ndermeden \u00f6nce bu yer tutucular\u0131 sizin g\u00f6nderdi\u011finiz verilerle otomatik olarak doldurur.<\/p>\n<h4>5. E-posta g\u00f6nderiminde bir hata olursa ne yapmal\u0131y\u0131m?<\/h4>\n<p><strong>Cevap:<\/strong> Hatalar\u0131 y\u00f6netmek i\u00e7in uygulaman\u0131zda <code>try-except<\/code> bloklar\u0131 kullanmal\u0131 ve Campaign Monitor API'sinden d\u00f6nen hata mesajlar\u0131n\u0131 detayl\u0131ca g\u00fcnl\u00fcklemelisiniz. Ge\u00e7ici hatalar i\u00e7in otomatik tekrar deneme mekanizmalar\u0131 uygulay\u0131n. S\u00fcrekli hatalar i\u00e7in Campaign Monitor'\u0131n durum sayfas\u0131n\u0131 kontrol etmeli veya destek ekibiyle ileti\u015fime ge\u00e7melisiniz. Ayr\u0131ca, Campaign Monitor'\u0131n webhook'lar\u0131n\u0131 kullanarak ba\u015far\u0131s\u0131z g\u00f6nderimler hakk\u0131nda ger\u00e7ek zamanl\u0131 bildirimler alabilirsiniz.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"\u0130\u015flemsel e-postalar, modern dijital i\u015f s\u00fcre\u00e7lerinin vazge\u00e7ilmez bir par\u00e7as\u0131d\u0131r. Peki, sipari\u015f onay\u0131, parola s\u0131f\u0131rlama veya hesap aktivasyonu gibi&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1342],"tags":[],"class_list":{"0":"post-35104","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ai","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Campaign Monitor Smart Emails (Transactional) Entegrasyonu: Minimal Rehber<\/title>\n<meta name=\"description\" content=\"\u0130\u015flemsel e-postalar, modern dijital i\u015f s\u00fcre\u00e7lerinin vazge\u00e7ilmez bir par\u00e7as\u0131d\u0131r. Peki, sipari\u015f onay\u0131, parola s\u0131f\u0131rlama veya hesap aktivasyonu gibi kritik bildirimlerinizin her zaman do\u011fru al\u0131c\u0131ya, do\u011fru zamanda ve g\u00fcvenli bir \u015fekilde ula\u015ft\u0131\u011f\u0131ndan nas\u0131l emin olursunuz? Bu rehber, Campaign Monitor&#039;\u0131n g\u00fc\u00e7l\u00fc transactional e-posta \u00f6zelliklerini sisteminize nas\u0131l sorunsuz bir \u015fekilde entegre edece\u011finizi, minimal \u00e7abayla maksimum etki yarataca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131kl\u0131yor.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Campaign Monitor Smart Emails (Transactional) Entegrasyonu: Minimal Rehber\" \/>\n<meta property=\"og:description\" content=\"\u0130\u015flemsel e-postalar, modern dijital i\u015f s\u00fcre\u00e7lerinin vazge\u00e7ilmez bir par\u00e7as\u0131d\u0131r. Peki, sipari\u015f onay\u0131, parola s\u0131f\u0131rlama veya hesap aktivasyonu gibi kritik bildirimlerinizin her zaman do\u011fru al\u0131c\u0131ya, do\u011fru zamanda ve g\u00fcvenli bir \u015fekilde ula\u015ft\u0131\u011f\u0131ndan nas\u0131l emin olursunuz? Bu rehber, Campaign Monitor&#039;\u0131n g\u00fc\u00e7l\u00fc transactional e-posta \u00f6zelliklerini sisteminize nas\u0131l sorunsuz bir \u015fekilde entegre edece\u011finizi, minimal \u00e7abayla maksimum etki yarataca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131kl\u0131yor.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-25T14:01:33+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"37 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Campaign Monitor Smart Emails (Transactional) Entegrasyonu: Minimal Rehber\",\"datePublished\":\"2025-11-25T14:01:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber\/\"},\"wordCount\":6044,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"AI\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber\/\",\"name\":\"Campaign Monitor Smart Emails (Transactional) Entegrasyonu: Minimal Rehber\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-25T14:01:33+00:00\",\"description\":\"\u0130\u015flemsel e-postalar, modern dijital i\u015f s\u00fcre\u00e7lerinin vazge\u00e7ilmez bir par\u00e7as\u0131d\u0131r. Peki, sipari\u015f onay\u0131, parola s\u0131f\u0131rlama veya hesap aktivasyonu gibi kritik bildirimlerinizin her zaman do\u011fru al\u0131c\u0131ya, do\u011fru zamanda ve g\u00fcvenli bir \u015fekilde ula\u015ft\u0131\u011f\u0131ndan nas\u0131l emin olursunuz? Bu rehber, Campaign Monitor'\u0131n g\u00fc\u00e7l\u00fc transactional e-posta \u00f6zelliklerini sisteminize nas\u0131l sorunsuz bir \u015fekilde entegre edece\u011finizi, minimal \u00e7abayla maksimum etki yarataca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131kl\u0131yor.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Campaign Monitor Smart Emails (Transactional) Entegrasyonu: Minimal Rehber\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Campaign Monitor Smart Emails (Transactional) Entegrasyonu: Minimal Rehber","description":"\u0130\u015flemsel e-postalar, modern dijital i\u015f s\u00fcre\u00e7lerinin vazge\u00e7ilmez bir par\u00e7as\u0131d\u0131r. Peki, sipari\u015f onay\u0131, parola s\u0131f\u0131rlama veya hesap aktivasyonu gibi kritik bildirimlerinizin her zaman do\u011fru al\u0131c\u0131ya, do\u011fru zamanda ve g\u00fcvenli bir \u015fekilde ula\u015ft\u0131\u011f\u0131ndan nas\u0131l emin olursunuz? Bu rehber, Campaign Monitor'\u0131n g\u00fc\u00e7l\u00fc transactional e-posta \u00f6zelliklerini sisteminize nas\u0131l sorunsuz bir \u015fekilde entegre edece\u011finizi, minimal \u00e7abayla maksimum etki yarataca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131kl\u0131yor.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"Campaign Monitor Smart Emails (Transactional) Entegrasyonu: Minimal Rehber","og_description":"\u0130\u015flemsel e-postalar, modern dijital i\u015f s\u00fcre\u00e7lerinin vazge\u00e7ilmez bir par\u00e7as\u0131d\u0131r. Peki, sipari\u015f onay\u0131, parola s\u0131f\u0131rlama veya hesap aktivasyonu gibi kritik bildirimlerinizin her zaman do\u011fru al\u0131c\u0131ya, do\u011fru zamanda ve g\u00fcvenli bir \u015fekilde ula\u015ft\u0131\u011f\u0131ndan nas\u0131l emin olursunuz? Bu rehber, Campaign Monitor'\u0131n g\u00fc\u00e7l\u00fc transactional e-posta \u00f6zelliklerini sisteminize nas\u0131l sorunsuz bir \u015fekilde entegre edece\u011finizi, minimal \u00e7abayla maksimum etki yarataca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131kl\u0131yor.","og_url":"https:\/\/fatihsoysal.com\/blog\/campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-25T14:01:33+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"37 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Campaign Monitor Smart Emails (Transactional) Entegrasyonu: Minimal Rehber","datePublished":"2025-11-25T14:01:33+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber\/"},"wordCount":6044,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["AI"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber\/","name":"Campaign Monitor Smart Emails (Transactional) Entegrasyonu: Minimal Rehber","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-25T14:01:33+00:00","description":"\u0130\u015flemsel e-postalar, modern dijital i\u015f s\u00fcre\u00e7lerinin vazge\u00e7ilmez bir par\u00e7as\u0131d\u0131r. Peki, sipari\u015f onay\u0131, parola s\u0131f\u0131rlama veya hesap aktivasyonu gibi kritik bildirimlerinizin her zaman do\u011fru al\u0131c\u0131ya, do\u011fru zamanda ve g\u00fcvenli bir \u015fekilde ula\u015ft\u0131\u011f\u0131ndan nas\u0131l emin olursunuz? Bu rehber, Campaign Monitor'\u0131n g\u00fc\u00e7l\u00fc transactional e-posta \u00f6zelliklerini sisteminize nas\u0131l sorunsuz bir \u015fekilde entegre edece\u011finizi, minimal \u00e7abayla maksimum etki yarataca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131kl\u0131yor.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/campaign-monitor-smart-emails-transactional-entegrasyonu-minimal-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Campaign Monitor Smart Emails (Transactional) Entegrasyonu: Minimal Rehber"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35104","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=35104"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35104\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=35104"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=35104"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=35104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}