Sep 23
Java’da GMail mail server’ını kullanarak mail göndermek için Secure Connection kullanmamız gerekecek. Bu işlem aşağıdaki kodu kullanabilir ve Gmail üzerinden mail gönderebiliriz. Dikkat etmemiz gereken bir nokta mail göndermek için 465 nolu portun açık olması gereklidir.
Ayrıca Java Mail API’sine ihtiyacımız olacaktır.
import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import java.security.Security; import java.util.Properties; public class GoogleMailSender { private static final String SMTP_HOST_NAME = "smtp.gmail.com"; private static final String SMTP_PORT = "465"; private static final String emailMsgTxt = "Javaci.net test maili gonderildi"; private static final String emailSubjectTxt = "Javaci.net"; private static final String // mailin kimden gittiğini gösteren adres emailFromAddress = "admin@javaci.net"; private static final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory"; private static final String[] // mail göndermek istediğimiz adresler sendTo = {"admin@javaci.net"}; public void sendSSLMessage(String recipients[], String subject, String message, String from) throws MessagingException { 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("gmail_adresi", "sifre"); } }); Message msg = new MimeMessage(session); InternetAddress addressFrom = new InternetAddress(from); msg.setFrom(addressFrom); InternetAddress[] addressTo = new InternetAddress[recipients.length]; for (int i = 0; i < recipients.length; i++) { addressTo[i] = new InternetAddress(recipients[i]); } msg.setRecipients(Message.RecipientType.TO, addressTo); msg.setSubject(subject); msg.setContent(message, "text/plain"); Transport.send(msg); } public static void main(String args[]) throws Exception { Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); new GoogleMailSender().sendSSLMessage( sendTo, emailSubjectTxt, emailMsgTxt, emailFromAddress); System.out.println("Sucessfully Sent mail to All Users"); } }

Son Yorumlar