Mehmet Ethem SULAN :: JSP(Java Server Pages) :: Sending Email From Your Application Using Java Mail API(Java ile Mail Gönderme Örneği)

mail.jar dosyasını: http://prntscr.com/hou0

MailGonder.java

package ethemsulan.com;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.security.Security;
import java.util.Properties;
public class MailGonder {
private static final String SMTP_HOST_NAME = "smtp.gmail.com";
private static final String SMTP_PORT = "465";
private static String emailMsgTxt =null;
private static String emailSubjectTxt = null;
// mailin kimden gittiğini gösteren adres.Gerçek gmail adresin
private static final String
        emailFromAddress = "ethemsulan@gmail.com";
private static final String SSL_FACTORY =
        "javax.net.ssl.SSLSocketFactory";
// mail göndermek istediğimiz adresler
private static String sendTo = null;
private static MailGonder instance = null;
private MailGonder() { }

public static MailGonder getinstance()
{
        if (instance == null)
                instance = new MailGonder();
        return instance;
}
public static void setEmailMsgTxt(String emailMsgTxt) {
    MailGonder.emailMsgTxt = emailMsgTxt;
}
public static void setEmailSubjectTxt(String emailSubjectTxt) {
    MailGonder.emailSubjectTxt = emailSubjectTxt;
}
public static void setSendTo(String sendTo) {
    MailGonder.sendTo = sendTo;
}
public void sendSSLMessage() throws MessagingException {
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
Properties props = new Properties();
props.put("mail.smtp.host", SMTP_HOST_NAME);
props.put("mail.smtp.auth", "true");
props.put("mail.debug", "true");
props.put("mail.smtp.port", SMTP_PORT);
props.put("mail.smtp.socketFactory.port", SMTP_PORT);
props.put("mail.smtp.socketFactory.class", SSL_FACTORY);
props.put("mail.smtp.socketFactory.fallback", "false");
Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
// buraya gmail mail adresinizi ve sifrenizi girmelisiniz.
return new PasswordAuthentication("ethemsulan@gmail.com",
    "mesela123");
}
});
Message msg = new MimeMessage(session);
InternetAddress addressFrom = new InternetAddress(emailFromAddress);
msg.setFrom(addressFrom);
InternetAddress addressTo = new InternetAddress(sendTo);
msg.setRecipient(Message.RecipientType.TO, addressTo);
msg.setSubject(emailSubjectTxt);
msg.setContent(emailMsgTxt, "text/plain");
Transport.send(msg);
}  }

Orj kod:http://www.ethemsulan.pastebin.com/byvACAAb

index.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
JSP Page
<form action="UyeOl.jsp" method="POST">







Email Adresi: <input type="text" name="email" value="" />
Parola: <input type="password" name="parola1" value="" />
Parola Tekrar: <input type="password" name="parola2" value="" />
<input type="submit" value="Uye Ol" />

Orj kod:http://www.ethemsulan.pastebin.com/bd7dgkDM

UyeOl.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%-- jsp sayfamizda kullanmak istedigimiz siniflari import ediyoruz--%>
<%@page import="ethemsulan.com.MailGonder, ethemsulan.com.Uye,ethemsulan.com.IdeUret" %>

    
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        JSP Page
    
    
    <%!
    String email,parola1,parola2;
    %>
    <%
email=request.getParameter("email");
parola1=request.getParameter("parola1");
parola2=request.getParameter("parola2");
if(!parola1.equals(parola2)){
out.println("Parolalar ayni degil");
    return;
//email formatin kontrolunu yapiyor.
}else  if (!email.matches("(?i)\b[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,6}\b")) {
 out.println("Email formati yanlis");
    return;
    }
 %>
<jsp:useBean id="uye" class="ethemsulan.com.Uye" scope="request"/>
<jsp:setProperty name="uye" property="email" value="${param['email']}"/>
<jsp:setProperty name="uye" property="parola1"
                 value="${param['parola1']}"/>
    <%!
    String aktKodu,uyeEmail;
    %>
<input type="hidden" name="akt"
value="<jsp:getProperty name="uye" property="parola1"/>">
<input type="hidden" name="email" value=
      "<jsp:getProperty name="uye" property="email" />">
<%
aktKodu=request.getParameter("parola1");
uyeEmail=request.getParameter("email");
%>
<%
MailGonder.getinstance().setEmailSubjectTxt("Mehmet Ethem SULAN");
MailGonder.getinstance().setSendTo(uyeEmail);
MailGonder.getinstance().setEmailMsgTxt("Java Bloguna Hosgeldiniz : n Uyelik Linkiniz:n" +
Uye.aktLinki() + "nBu Link'e tiklayin ve "+
IdeUret.getInstance().AkKoduUret(aktKodu)+"   ile Uyeliginizi Aktiflestirebilirsiniz.n");
MailGonder.getinstance().sendSSLMessage();
out.println("Sizin gmail hesabinizdan "+uyeEmail+" mail gonderildi");
    %>
     

Orj kod:http://www.ethemsulan.pastebin.com/gpCfSHFY

IdeUret.java

package ethemsulan.com;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import sun.misc.BASE64Encoder;
public class IdeUret {
public static synchronized IdeUret getInstance()
{
if(instance == null)
{
   instance = new IdeUret();
}
return instance;
}
   private static IdeUret instance;

private IdeUret()
{
}

public synchronized String AkKoduUret(String plaintext)
{
MessageDigest md = null;
try
{
//Secure Hash Algorithm
  md = MessageDigest.getInstance("SHA");
}
catch(NoSuchAlgorithmException e)
{
  e.printStackTrace();
}
try
{
  md.update(plaintext.getBytes("UTF-8"));
}
catch(UnsupportedEncodingException e)
{
  e.printStackTrace();
}
byte siraDizisi[] = md.digest();
String hash = (new BASE64Encoder()).encode(siraDizisi);
return hash;
}  }

orj kod:http://www.ethemsulan.pastebin.com/jiFj1uwt

Uye.java

package ethemsulan.com;
public class Uye {
private String email=null;
private String parola1=null;
public String getEmail() {
    return email;
}
public void setEmail(String email) {
    this.email = email;
}
public String getParola1() {
    return parola1;
}
//Parolaya ozel bir ide uretir
public void setParola1(String parola1) {
    this.parola1 = parola1;
}
public static String aktLinki()
{
    return "http://www.ethemsulan.com";
}
}

Orj kod:http://www.ethemsulan.pastebin.com/PEj1n8mz

Java bean detayli bilgi icin: http://www.ethemsulan.com/2010/06/how-to-input-and-output-parameters-from.html

Uygulamanın zipli hali: http://hotfile.com/dl/49503509/380bada/ethemsulan.com.rar.html

Zipin dosyasını çıkartığınızda içinde içinde AktivasyonFormu ve mail.jar  ve resim dosyası var.AktşvasyonFormunun içinde mail.jar dosyası zaten var. Netbeanse zipten çıkartıp yüklemek için http://prntscr.com/hovl resme bakın.Uygulamayı çalıştırmadan önce MailGonder.java sınıfın içindeki gerçek gmail ve parolanızı girip istediğiniz bir mail adresine mail gönderebilrisiniz.

Comments

There are 2 comments for this post.

  1. mehmet on Ağustos 16, 2010 3:45 pm

    s.a usta bi örnek vermişssinde bunların hazır indirlmiş halini silmişsin hotfileden bi yardımcı olurmusun bana msn mi eklermisin webmail ile ilgili

  2. ethemsulan on Ağustos 18, 2010 8:37 pm

    Daha önce de rapidshareye eklemiştim ama siliniyor.”Bu dosya ya telif hakkı iddiası nedeniyle veya yükleyen kişi tarafından silinmiştir.” şeklinde uyarı veriyor ama ben silmedim.

Write a Comment

Let me know what you think?