[JAVA][CLASS] GmailSMTP.java - Gmail SMTP 를 이용하여 메일 보내기
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);
}
}
}
[PHP] Gmail SMTP 를 이용하여 메일 보내기
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!
}
?>