The Pursuit of Happyness

반응형


import java.util.Properties;


import javax.mail.Message;

import javax.mail.MessagingException;

import javax.mail.PasswordAuthentication;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;


public class GmailSMTP

{

    public static void sendMail(String account, String auth, String to, String subject, String msg, boolean isSSL, boolean isHtml)

    {

        final String username = account;

        final String password = auth;


        String mailFrom = username;

        String mailTo = to;


        Properties props = new Properties();

        props.put("mail.smtp.auth", "true");

        props.put("mail.smtp.host", "smtp.gmail.com");


        if (isSSL)

        {

            props.put("mail.smtp.socketFactory.port", "465");

            props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");

            props.put("mail.smtp.port", "465");

        }

        else

        {

            props.put("mail.smtp.starttls.enable", "true");

            props.put("mail.smtp.port", "587");

        }


        Session session = Session.getInstance(props, new javax.mail.Authenticator()

        {

            protected PasswordAuthentication getPasswordAuthentication()

            {

                return new PasswordAuthentication(username, password);

            }

        });


        try

        {

            Message message = new MimeMessage(session);

            message.setFrom(new InternetAddress(mailFrom));

            message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(mailTo));

            message.setSubject(subject);


            if (isHtml)

                message.setContent(msg, "text/html");

            else

                message.setText(msg);


            Transport.send(message);

        }

        catch (MessagingException e)

        {

            throw new RuntimeException(e);

        }

    }

}

 


ps. mail.jar 가 필요함


반응형

반응형


PHPMailer 에 대한 새로운 사용법을 새로운 포스트에 남겨두었습니다. 참고하세요.


1. 다음 링크에서 필요한 모듈을 다운로드 받는다. (PHPMailer)

http://code.google.com/a/apache-extras.org/p/phpmailer/

개발자가 코드를 github 로 옮겼습니다. 아래 링크에서 다운로드 받으세요..

=> https://github.com/PHPMailer/PHPMailer

 

2. 다운로드 받은 파일을 적당한 경로에 압축을 푼다.

ex)

/var/www/html/inc/PHPMailer

 

3. 메일 보낼 코드 작성

/var/www/html/mailSample.php

 

<?php

require_once("inc/PHPMailer/class.phpmailer.php");

 

$mail = new PHPMailer(true);

$mail->IsSMTP();

try {

  $mail->Host = "smtp.gmail.com";    // email 보낼때 사용할 서버를 지정

  $mail->SMTPAuth = true;              // SMTP 인증을 사용함

  $mail->Port = 465;                        // email 보낼때 사용할 포트를 지정

  $mail->SMTPSecure = "ssl";        // SSL을 사용함

  $mail->Username   = "GMAIL ACCOUNT";    // Gmail 계정

  $mail->Password   = "PASSWORD";            // 패스워드

 

  $mail->SetFrom('from email address', 'Display Name'); // 보내는 사람 email 주소와 표시될 이름 (표시될 이름은 생략가능)

  $mail->AddAddress('to email address', 'Display Name'); // 받을 사람 email 주소와 표시될 이름 (표시될 이름은 생략가능)

  $mail->Subject = 'Email Subject';        // 메일 제목

  $mail->MsgHTML("Email Content");    // 메일 내용 (HTML 형식도 되고 그냥 일반 텍스트도 사용 가능함)

 

  $mail->Send();                                // 실제로 메일을 보냄

  echo "Message Sent OK<p></p>\n";

} catch (phpmailerException $e) {

  echo $e->errorMessage(); //Pretty error messages from PHPMailer

} catch (Exception $e) {

  echo $e->getMessage(); //Boring error messages from anything else!

}

?>

 

 

 

반응형