Eposta Gönder
Akış içinden doğrudan bir SMTP e-postası oluşturup gönderen nesnedir. Alıcıları düz e-posta adresi olarak verirsiniz (TO/CC/BCC), konu ve gövdeyi siz belirlersiniz, dilerseniz ek dosya eklersiniz ve gönderimi açıkça Send() ile tetiklersiniz.
Bu nesne, alıcıları CSP kullanıcı/pozisyonlarına çözen ve tasarımcı şablonlarını kullanan Bilgilendirme nesnesinden farklıdır. Bilgilendirme kurum içindeki kişilere/pozisyonlara bildirim göndermek için tasarlanmıştır; Eposta Gönder ise elinizdeki düz adreslere ham mail atmak içindir.
Ne zaman kullanılır?
E-posta adreslerini doğrudan (ör. bir datasource'tan gelen müşteri adresi, dış paydaş adresi) elinizde tuttuğunuz ve alıcıyı CSP kullanıcısı olarak çözmek istemediğiniz durumlarda kullanın. Alıcı bir CSP kullanıcısı veya pozisyon ise ve şablonlu, bildirimli gönderim istiyorsanız Bilgilendirme nesnesini tercih edin.
Ayarlar
Eposta Gönder nesnesi seçildiğinde tasarımcıda şu alanlar düzenlenir:
| Ayar | Açıklama |
|---|---|
Subject | E-postanın konusu. |
Message | E-postanın gövdesi. |
IsHtml | Gövdenin HTML olarak yorumlanıp yorumlanmayacağı. |
FromAddress | Gönderen adresi. |
DisplayName | Gönderenin görünen adı. |
ReadNotification | Okundu bildirimi istenip istenmeyeceği. |
Culture | Gönderimde kullanılacak kültür/dil. |
Value / ValueSourceType / ValueType | Gövde metninin bir akış değişkeninden gelmesini sağlayan üçlü (Message yerine). |
ResumeOnError / ErrorOptions | Gönderim hata verirse akışın durması yerine devam etmesi ve hata yapılandırması (BaseErrorManagedApiStep'ten gelir). |
Alıcı listeleri (TO / CC / BCC) ve Attachments salt okunurdur; bunları doğrudan atayamaz, ilgili Add* / Remove* / Clear* metotlarıyla doldurursunuz.
Akıştaki yeri
Eposta Gönder, akışı bekletmeyen bir işlem adımıdır: akış bu nesneye ulaştığında alıcıları, konuyu ve gövdeyi hazırlar, Send() ile e-postayı gönderir ve bir sonraki adıma geçer. Hata yönetimi için ResumeOnError ayarı ile gönderim hatasında akışın durmadan devam etmesini sağlayabilirsiniz.
Kod örnekleri
Alıcılar, konu ve gövde akış kodunda nesnenin adıyla doldurulur. Sunucu (akış) kodu turuncu çerçevelidir.
Aşağıdaki kullanım, sınıfın doğrulanmış imzalarına göre kurgulanmıştır ancak bu adımı çalıştıran bir örnek akış ile doğrulanmamıştır. Özellikle AddRecipientTO/CC/BCC, Value üçlüsü ve MailAttachmentType değerinin çalışma zamanı idiomu teyitli değildir.
TODO: doğrulanacak (IDE'de gerçek bir akışta test edilmeli).
Adres, konu ve gövde ile gönderme
// Alıcıları düz adres olarak ekle
EpostaGonder1.AddTO("ali@firma.com");
EpostaGonder1.AddCC("yonetici@firma.com");
// Konu ve gövde
EpostaGonder1.Subject = "Talep onaylandı";
EpostaGonder1.Message = "<b>Talebiniz onaylandı.</b>";
EpostaGonder1.IsHtml = true;
// Ek dosya (MailAttachmentType enum değeri)
EpostaGonder1.AddAttachment(fileId, MailAttachmentType.File);
// Gönderimi tetikle
EpostaGonder1.Send();
İpuçları
TO/CC/BCCveAttachmentssalt okunur listelerdir. AlıcılarıAddTO/AddCC/AddBCC,RemoveTO/RemoveCC/RemoveBCC,ClearTO/ClearCC/ClearBCCile; ekleri iseAddAttachment(value, MailAttachmentType)ile yönetin. Doğrudan atama yapmayın.- Gönderim açıkça
Send()ile tetiklenir; çağrıyı unutmayın. - Gövde metnini bir akış değişkeninden almak isterseniz
Value/ValueSourceType/ValueTypeüçlüsünü kullanın (Messageyerine). TODO: doğrulanacak. - Alıcı CSP kullanıcısı veya pozisyon ise Bilgilendirme nesnesini kullanın;
AddConstantUser/AddConstantPositiongibi metotlar orada bulunur, burada değil.
Doğrulanmış kod arayüzü (FlowMailSender)
Sınıf: Bimser.CSP.Workflow.Api.Steps.FlowMailSender : BaseErrorManagedApiStep<FlowMailSenderProperties>
Alıcı metotları: AddTO(string), AddCC(string), AddBCC(string), RemoveTO(string), RemoveCC(string), RemoveBCC(string), ClearTO(), ClearCC(), ClearBCC(), AddRecipientTO(IMailRecipientsOptions), AddRecipientCC(IMailRecipientsOptions), AddRecipientBCC(IMailRecipientsOptions)
Ek ve gönderim: AddAttachment(string value, MailAttachmentType type), Send()
Özellikler: TO / CC / BCC / Attachments (salt okunur listeler), Subject, Message, IsHtml, FromAddress, DisplayName, ReadNotification, Culture, Value, ValueSourceType, ValueType, ResumeOnError, ErrorOptions (IFlowErrorOptions)
Kaynak: synergy-csp references/flow-objects.md (FlowMailSender, [dump-only: derlenir, çalışma zamanı doğrulanmamış]).