Ana içeriğe geç

Mail Sender Connector

Mail sender connector, belirli bir e-posta adresine gelen e-postaların dinlenmesine ve bu e-postalar üzerinde belirli işlemlerin gerçekleştirilmesine olanak tanır.

Required Connector Properties

  • Imap Address: Bir IMAP adresi genellikle e-posta sağlayıcınızın IMAP sunucusuna bağlanmanızı sağlayan bir URL biçimindedir. Örneğin, bir IMAP adresi imap.example.com olabilir. Burada "imap.example.com" e-posta sağlayıcınızın IMAP sunucusunun adresidir. E-postalarınıza erişmek ve bunları okumak için bu adresin girilmesi gerekir.

  • Mail Credential: IMAP sunucusuna bağlanmak için kullanılacak kimlik bilgilerini belirten bir ad veya tanımlayıcı belirtir. Bu, önceden tanımlanmış kimlik doğrulama bilgilerinin kullanılmasına olanak tanır.

  • Timeout: Milisaniye cinsinden bağlantı zaman aşımı süresi.

  • Folder: Okunacak e-postaları içeren klasörü belirtin.

  • Selection: Hangi e-postaların işleneceğini belirtin: All Mails veya Only Unread Mails. Tüm e-postaları mı yoksa yalnızca okunmamış olanları mı işleyeceğinizi seçebilirsiniz.

  • Max Messages Per Poll: Bir polling adımında e-posta sunucusundan alınacak maksimum e-posta sayısını belirtin.

  • Delay: Bir sonraki polling işleminden önce beklenecek milisaniye.

  • Processing Mode: E-postaların nasıl işleneceğini belirtin. Aşağıdaki seçenekler kullanılabilir:

    • Archive: E-postalar okunduktan sonra belirtilen klasörde arşivlenir.
    • Archive and Mark as Read: E-postalar okundu olarak işaretlenir ve belirtilen arşiv klasörüne taşınır.
    • Delete: E-postalar okunduktan sonra posta kutusundan silinir.
    • Mark as Read: E-postalar okundu olarak işaretlenir.
Note

Processing Mode "Mark as Read" olarak ayarlanırsa ve polling stratejisi tüm postaları çekecek şekilde ayarlanırsa (Selection: All Mails), önceden işlenmiş postalar her polling aralığında yeniden işlenir.

  • Archive Folder: Processing Mode "Archive" veya "Archive and Mark as Read" olarak ayarlanırsa bu alanın doldurulması gerekir. E-postanın işlendikten sonra taşınacağı klasörün adını belirtin.

  • Add Searchterm: Subject, body ve from gibi arama kriterlerine göre postaların filtrelenmesine olanak tanır.

    • Body: E-posta gövdesinde belirtilen içeriğin aranacağını belirtir. Örneğin, "MIP" girilirse gövdesinde bu kelimeyi içeren e-postalar okunur.
    • From: Belirtilen e-posta adresinden gelen e-postaların aranacağını belirtir.
    • Subject: E-posta konusunda belirtilen içeriğin aranacağını belirtir. Örneğin, "MIP" girilirse konusunda bu kelimeyi içeren e-postalar okunur.
Additional Note

Bir eke erişmek için Groovy script kullanmanız gerekir. Örneğin;

import org.apache.camel.Exchange
import javax.activation.DataHandler
import org.apache.camel.attachment.AttachmentMessage
import java.nio.charset.StandardCharsets

def Exchange executeMessage(Exchange exchange) {
AttachmentMessage attachmentMessage = exchange.getMessage(AttachmentMessage.class);
Map<String, DataHandler> attachments = attachmentMessage.getAttachments();

if (attachments != null) {
for (String name : attachments.keySet()) {
DataHandler dh = attachments.get(name);
String filename = dh.getName();
if (filename.endsWith(".xml")) {
byte[] data = exchange.getContext().getTypeConverter().convertTo(byte[].class, dh.getInputStream());
String body = new String(data, StandardCharsets.UTF_8);
exchange.getIn().setBody(body);
}
}
}
return exchange
}

Bu groovy script, e-postanın eklerinde ".xml" uzantılı bir dosya varsa içeriği yanıt olarak döndürür.