SEAM ile E-Posta Gönderme
Seam kullanarak çok rahatlıkla e-posta gönderebilirsiniz. Bunun için farklı bir kütüphane kullanmanıza gerek yok. Yapılacak işlemler sırasıyla aşağıda anlatıldığım gibidir.Öncelikle components.xml dosyasına
<mail:mail-session host="SMTP_Sunucu_IP_Adresi_veya_DNS_Adresi"
port="25" username="kullaniciadi"
password="sifreniz"></mail:mail-session>
satırını eklenemiz veya dosyada varolan satırı bu şekilde düzenlemelisiniz.
E-posta alıcıları bir listede olacağından onların tutulacağı sınıf olan EPostaKullanicisi sınıfını oluşturalım.
E-Posta göndermek için servis sınıfı yazalım.
package sato.services.email;
public class EPostaKullanicisi {
String isim;
String epostaAdresi;
public EPostaKullanicisi(String isim, String epostaAdresi) {
setIsim(isim);
setEpostaAdresi(epostaAdresi);
}
public String getIsim() {
return isim;
}
public void setIsim(String isim) {
this.isim = isim;
}
public String getEpostaAdresi() {
return epostaAdresi;
}
public void setEpostaAdresi(String epostaAdresi) {
this.epostaAdresi = epostaAdresi;
}
}
package sato.services.email;
import java.util.List;
import org.jboss.seam.annotations.AutoCreate;
import org.jboss.seam.annotations.Logger;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.faces.Renderer;
import org.jboss.seam.log.Log;
import org.jboss.seam.annotations.In;
@Name("epostaServis")
@AutoCreate
public class EPostaServis {
@Logger
private Log log;
private ListePostaKullanicilari;
private String konu;
private String icerik;
@In(create = true)
private Renderer renderer;
public void kullanicilaraEPostaGonder(String konu,String icerik) {
try {
setKonu(konu);
setIcerik(icerik);
renderer.render("/eposta/kullanicilaraEPostaGonder.xhtml");
log.info("E-Postalar gonderilmistir.");
}
catch (Exception e) {
log.error(e.getMessage());
}
}
public ListgetEPostaKullanicilari() {
//E-Posta gönderilecek kişiler burada ayarlanır.
return ePostaKullanicilari;
}
public void setEPostaKullanicilari(ListpostaKullanicilari) {
ePostaKullanicilari = postaKullanicilari;
}
public String getKonu() {
return konu;
}
public void setKonu(String konu) {
this.konu = konu;
}
public String getIcerik() {
return icerik;
}
public void setIcerik(String icerik) {
this.icerik = icerik;
}
}
<m:message xmlns="http://www.w3.org/1999/xhtml"
xmlns:m="http://jboss.com/products/seam/mail"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">
<m:from name="gonderenKisininIsmi" address="gonderici@mailSunucuDNS" />
<ui:repeat value="#{epostaServis.getEPostaKullanicilari()}"
var="kullanici">`
<m:to name="#{kullanici.isim}"
address="#{kullanici.epostaAdresi}" />
</ui:repeat>
<m:subject>
<h:outputText value="#{epostaServis.getKonu()}" />
</m:subject>
<m:body>
<p><h:outputText value="Sayin Kullanici" />,</p>
<p><h:outputText value="#{epostaServis.getIcerik()}" /></p>
<p>iyi günler dileriz</p>
</m:body>
</m:message>
Seam ile e-posta göndermek bu kadar kolay :)))
@In(create = true)
private EPostaServis ePostaServis;
public void biseyOlursaCalisirim(){
// Bir sürü değişken, kontrol vb....
ePostaServis.kullanicilaraEPostaGonder(EPostanınKonusu, Icerik);
}

