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.
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.
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.