JavaMailでメールを送信(インスタンスを含む)
詳細
JavaMailはSunが発表した電子メールを処理するアプリケーションインタフェースで、最も一般的なメール転送プロトコルの実装方法をプリセットし、簡単な方法で呼び出すことができます.JavaMailはSunがリリースしたアプリケーションインタフェースなので、JDKには含まれていません.Sunの公式サイトからJavaMailクラスのパッケージをダウンロードする必要があります.それ以外にSunのJAF(JavaBeans Activation Framework)が必要です.そうしないとJavaMailは実行できません.
コアJavaMail APIは、Javax.mail、JavaMail APIのトップクラスパッケージからなる7つのクラスから構成されています.Session、Message、Address、Authenticator、Transport、Store、Folderです.これらのクラスでは、メッセージの送信、メッセージの取得、メッセージの削除、認証、メッセージの返信、メッセージの転送、添付ファイルの管理、HTMLファイルフォーマットに基づくメッセージの処理、メールリストの検索またはフィルタリングなど、多くの一般的な電子メールタスクを完了できます.
メール送信のソースコードをテストします.
JavaMailはSunが発表した電子メールを処理するアプリケーションインタフェースで、最も一般的なメール転送プロトコルの実装方法をプリセットし、簡単な方法で呼び出すことができます.JavaMailはSunがリリースしたアプリケーションインタフェースなので、JDKには含まれていません.Sunの公式サイトからJavaMailクラスのパッケージをダウンロードする必要があります.それ以外にSunのJAF(JavaBeans Activation Framework)が必要です.そうしないとJavaMailは実行できません.
コアJavaMail APIは、Javax.mail、JavaMail APIのトップクラスパッケージからなる7つのクラスから構成されています.Session、Message、Address、Authenticator、Transport、Store、Folderです.これらのクラスでは、メッセージの送信、メッセージの取得、メッセージの削除、認証、メッセージの返信、メッセージの転送、添付ファイルの管理、HTMLファイルフォーマットに基づくメッセージの処理、メールリストの検索またはフィルタリングなど、多くの一般的な電子メールタスクを完了できます.
メール送信のソースコードをテストします.
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Properties;
import java.util.Date;
import javax.mail.*;
import javax.mail.internet.*;
/*
* JavaMail
*/
public class SendMail {
private String from;
private String to;
private String smtpServer;
private String subject;
private String content;
private String username;
private String password;
/*
*
*/
public void mail(String smtpServer,String from,String to,String username,String password,String subject,String content) {
this.smtpServer = smtpServer;
this.from = from;
this.to = to;
this.username = username;
this.password = password;
this.subject = subject;
this.content = content;
}
public String getFrom() {
return from;
}
public void setFrom(String from) {
this.from = from;
}
public String getTo() {
return to;
}
public void setTo(String to) {
this.to = to;
}
public String getSmtpServer() {
return smtpServer;
}
public void setSmtpServer(String smtpServer) {
this.smtpServer = smtpServer;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public void send() {
Properties props = System.getProperties();
props.put("mail.smtp.host", smtpServer);
props.put("mail.smtp.auth", "true");
/*
* Session:
* Session getDefaultInstance() Session
*/
Session session = Session.getDefaultInstance(props,new PasswordAuthenticator(username, password));
//
Message msg = new MimeMessage(session);
try {
msg.setFrom(new InternetAddress(from));
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to, false));
msg.setSubject(subject);
msg.setText(content);
//
msg.setSentDate(new Date());
// Transport
Transport.send(msg);
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
}
public static void main(String[] argv) {
SendMail sendMail = new SendMail();
// SMTP
sendMail.setSmtpServer("smtp.sina.com");
//
sendMail.setFrom("[email=[ft=,2,][email protected]][email protected][/email]");
//
sendMail.setTo("[email=[ft=,2,][email protected]][email protected][/email]");
//
sendMail.setUsername("[email=[ft=,2,][email protected]][email protected][/email]");
// ( )
sendMail.setPassword("******");
//
sendMail.setSubject(" ");
//
sendMail.setContent(" JavaMail !");
sendMail.send();
}
}
/*
* PasswordAuthenticator
* @param username:
* @param password:
*/
class PasswordAuthenticator extends Authenticator {
private String username;
private String password;
public PasswordAuthenticator(String username, String password) {
this.username = username;
this.password = password;
}//
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
}